Pages:
Author

Topic: P2P Exchange for bitcoin - page 13. (Read 42783 times)

hero member
Activity: 546
Merit: 500
April 14, 2013, 01:08:23 PM
Is this the "official" decentralized market thread?

Yes I believe the discussions going here are more universal than the solutions offered in other threads or in projects such as ButterCoin.
So all ideas are welcome!

Okay - then lets keep it going until something is working, or even maybe a few of these ideas are working... Smiley
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 14, 2013, 11:41:53 AM
Is this the "official" decentralized market thread?

Yes I believe the discussions going here are more universal than the solutions offered in other threads or in projects such as ButterCoin.
So all ideas are welcome!
hero member
Activity: 546
Merit: 500
April 14, 2013, 05:44:36 AM

Even your idea could be implemented in the p2p exchange we are discussing in this thread:



This is good news. Giving people a choice is our main goal, in my opinion. Whatever people need is what they should get. Once a decentralized market starts to take form, one of the first things to do is also set up a keyword ( tag) cloud and a site like digg.com. This is to get user input on what people need.

The clone software for digg is "pligg". Its like a CMS. ( http://pligg.com/download.php ).


Is this the "official" decentralized market thread?
sr. member
Activity: 826
Merit: 250
CryptoTalk.Org - Get Paid for every Post!
April 14, 2013, 05:24:05 AM
Golum:  The type of auction process is not really what I'm addressing, I'm just talking about the back-end peer-2-peer system that's doing the book-keeping.  In BTC the 'miners' are as a group not hostile to the transactors and have a direct incentive to do the basic job of propagating transactions through the network.  Once you start talking about a market though you always have two groups which ARE to a degree hostile too each other and have lots of incentive to suppress certain bid and offer messages.  Say I have the lowest bid and someone is about to under bid me, I would have every incentive to prevent that bid from ending up on the distributed ledger.  I'm just describing a simple structuring that removes perverse incentives like that by dividing work and assigning it to the group that lacks perverse incentive, it will be applicable no matter what market style you go with.
newbie
Activity: 56
Merit: 0
April 14, 2013, 04:41:56 AM
 you know who made the arpanet and later the internet?
also i think everybody knows the french guy aka satoshi!
his geekness brought him to japan and he allready knows he is responsible.

sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 13, 2013, 09:28:00 PM
You guys already failed at this unless the github account is anonymous. Anybody involved in creating a p2p exchange is now responsible according to FinCEN for all transactions that happen on it. Bitcoin Foundation talks about this in their blog how Satoshi, as creator of bitcoin, is responsible for every trade made with bitcoin. Hes supposed to hire compliance officers and report every transaction over $10k on the blockchain which is ludicrous but reality of govt regulation.

Now you know why he is anonymous.

The ripple guys are going to have the same problem unless they live in a country with no US extradition treaty or are anonymous. They even tried to lock up highschool kids who coded p2p file sharing systems



Its like suing the fathers of internet for all illegal activity takeing place at internet, its not practical.
What is practical for the US government however is to regulate the brokers based in USA. Therefore I propose that the p2p bitcoin-exchange system must have virtual exchanges instead of one global exchange. Each virtual exchange must have one founding broker that is legally responsible for the virtual exchange and represents the other brokers in that alliance.
hero member
Activity: 899
Merit: 1002
April 13, 2013, 09:03:44 PM
You guys already failed at this unless the github account is anonymous. Anybody involved in creating a p2p exchange is now responsible according to FinCEN for all transactions that happen on it. Bitcoin Foundation talks about this in their blog how Satoshi, as creator of bitcoin, is responsible for every trade made with bitcoin. Hes supposed to hire compliance officers and report every transaction over $10k on the blockchain which is ludicrous but reality of govt regulation.

Now you know why he is anonymous.

The ripple guys are going to have the same problem unless they live in a country with no US extradition treaty or are anonymous. They even tried to lock up highschool kids who coded p2p file sharing systems

sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 13, 2013, 07:51:37 PM
I'm interested in this project because of my own long standing interest in managing money supply via the use of an inflation/deflation prediction market inside of the block-chain which would then adjust the money-supply by a feedback mechanism somewhat like how difficulty is continually readjusted to maintain a steady block creation rate.

So I'm interested in the broad mechanics of how you go about doing a P2P exchange.  One valuable insight I had they may be useful too you is that the biders and sellers have radicly different motivations and STRONG perverse incentive to manipulate and not propagate their competitors bids and offers.  A simple solution is the make Biders responsible for collecting and propagating the Offers, and make Offer'ers responsible for collecting and propagating the Bids.  This aligns incentives and should mean that all bids and offers are tabulated and none are suppressed.  Their is also no need to rely on proof-of-work for this, simply use proof-of-stake with bids and offers being separate, once the bid and offers curves have been created both sides can then validate the clearing price and execute the activation of the broker.

Interesting idea but if we create an exchange where we force a certain way of auction model that the market do not like they will most likely move on to another exchange where they can trade as they do at the stock market.

One solution Ive been thinking of today is to allow each virtual exchange to chose what kind of auction model they want to apply.
Different models that could be implemented:
-Time auction, higest bidder within a certain time wins (ebay) - could be used for virtual exchange that want to handle really huge bitcoin orders that normally would crash the market if sold directly to the market.
-Dealers market (buying and selling against market maker). - the best solution for small exchanges, the spread could be based on the price of the biggest exchange
-Auction market with no obligation- bids and ask orderes are matched and can be cancelled
-Auction market with obligation - bids and ask orders are matched, and they cannot be cancelled.

Example: The auction model of NYSE != Nasdaq even if the average joe trader wouldnt feel the difference:
Quote
http://www.investopedia.com/articles/basics/03/103103.asp
Dealer vs. Auction Market
The fundamental difference between the NYSE and Nasdaq is in the way securities on the exchanges are transacted between buyers and sellers. The Nasdaq is a dealer's market, wherein market participants are not buying from and selling to one another directly but through a dealer, which, in the case of the Nasdaq, is a market maker. The NYSE is an auction market, wherein individuals are typically buying and selling between one another and there is an auction occurring; that is, the highest bidding price will be matched with the lowest asking price. (For more on different types of markets, see Markets Demystified.)
sr. member
Activity: 826
Merit: 250
CryptoTalk.Org - Get Paid for every Post!
April 13, 2013, 07:27:57 PM
I'm interested in this project because of my own long standing interest in managing money supply via the use of an inflation/deflation prediction market inside of the block-chain which would then adjust the money-supply by a feedback mechanism somewhat like how difficulty is continually readjusted to maintain a steady block creation rate.

So I'm interested in the broad mechanics of how you go about doing a P2P exchange.  One valuable insight I had they may be useful too you is that the biders and sellers have radicly different motivations and STRONG perverse incentive to manipulate and not propagate their competitors bids and offers.  A simple solution is the make Biders responsible for collecting and propagating the Offers, and make Offer'ers responsible for collecting and propagating the Bids.  This aligns incentives and should mean that all bids and offers are tabulated and none are suppressed.  Their is also no need to rely on proof-of-work for this, simply use proof-of-stake with bids and offers being separate, once the bid and offers curves have been created both sides can then validate the clearing price and execute the activation of the broker.
legendary
Activity: 1232
Merit: 1094
April 13, 2013, 04:20:48 PM
The one thing we do need to work out is who are we aiming this product to?

The concept of bitcoin is as a way for anyone and everyone to buy and sell using an online currency - but the  people involved could be a NY trader, or a student in India.  If we are focusing too much on the 1st world needs, we could miss out on the other 4 Billion people who are earning less than a Bitcoin a week!

With coloured coins, anyone can create fiat currency coloured coins.  The problem would be liquidity for small markets.

A mint only really needs to watch the market and keep the exchange rate between its tokens within a certain band of other major mints.

If there was 10 "major" mints for a given currency, a "minor" mint could promise to keep its tokens within 1% of the exchange rate for the majors.  This could be achieved by offering to buy back its tokens mints at for tokens from any major mint at 99% of their face value.  This would be for large orders, so they would buy 1000 of the $1 tokens and give the seller 990 $1 tokens from other exchanges.

The localcoin system could be used and rather than selling bitcoins could sell fiat currency.  This would lower the risk for people, since they wouldn't have to learn about a whole new currency.  OTOH, they wouldn't get the inflation protections built into bitcoin. 

Once there is lots of local currency flowing in the system, then it makes currency exchanges trivial.
sr. member
Activity: 294
Merit: 250
You are a geek if you are too early to the party!
April 13, 2013, 03:49:23 PM
The one thing we do need to work out is who are we aiming this product to?

The concept of bitcoin is as a way for anyone and everyone to buy and sell using an online currency - but the  people involved could be a NY trader, or a student in India.  If we are focusing too much on the 1st world needs, we could miss out on the other 4 Billion people who are earning less than a Bitcoin a week!

While we need an exchange to  get the best prices for bitcoin world wide, if we leave the fiat converting side to the likes of OKPay and other blue chip financial specialists, we are actually closing the door on bitcoin to all those millions of micro buyers.

I know we have the likes of localbitcoins, but what we really need is an API that can be used for local websites in rural parts of Africa and Asia - Its this long tail of users that will ensure bitcoin becomes a real success!
legendary
Activity: 1232
Merit: 1094
April 13, 2013, 02:16:43 PM
If you placed order, you should not be able to not fulfill it (until you cancel it).

That's pretty easy.  If you spend the input transaction, then that counts as cancelling the tx.  However, that would incur a tx fee on the main chain.

In fact, once you publish on offer transaction fragment, you can't cancel it any other way.
jr. member
Activity: 42
Merit: 11
April 13, 2013, 10:57:12 AM
If we use colored coins and atomic coin swapping to clear transactions on-blockchain, there are no need for brokers. We still need trust, not for brokers, but for gateways which will take fiat and give IOUs in form of colored coins. We trust them that they will convert IOUs back to fiat on demand. So actually we will trade not USD/BTC but MtGox USD/BTC, BTC-e EUR/BTC, etc. Even MtGox USD/MegaExchange USD.
If you placed order, you should not be able to not fulfill it (until you cancel it). Maybe we can devise coloring scheme that can be used to achieve that with help of contracts in trust-less way.
Quote
Voluntary rating of the brokers from the clients could be used to indicate the trustworthiness of each broker.
Doubt it will work - too much possibilities for manipulation.
newbie
Activity: 35
Merit: 0
April 13, 2013, 10:34:10 AM
1. Your concerns about how to port in real-world cash are unfounded. There already exists an industry of businesses that will take cash in many forms and give virtual credits, including bitcoins, for them... BitInstant, Dwolla, OKPay, coinbase, ArumXchange, and many others can upload cash into this exchange in one or more forms. Let them deal with this headache; there are many of them so there is no central point of failure there.

Isn't this the real problem when talking about exchanges?  

I mean, the creation of a BTC to LTC exchange would be fairly straightforward.  You need an order book, and a process for matching buyers and sellers.  You'd also need some type of two phase commit protocol that would gather the BTC from one person, the LTC from the other person, and distribute those back to the proper parties. A lot like the World of Warcraft trade window.  This would be great if it were a "distributed" thing, and ideally not relying on the trust of any of the three (or two) parties.  This seems like something that's achievable with crypto/p2p technologies.

Another way to look at that part of the exchange would be a secure p2p technology where you actually put your bitcoin or litecoin in the bid/offer, and when they matched, the transaction would happen.  if you were to cancel the order you'd just get the cryptocash put back in your wallet.   This would be a really cool project!  Another thing I've worried about RE bitcoin is that if I pay someone with bitcoins, they have the coins first, then I get what I paid for, right?  The fact is, they could give me what they promised or not, I'm still out my bitcoins.  Some sort of protocol like the WoW trade window could let both sides verify that they are getting what they were looking for (in the digital realm, of course).

However, fiat currency is a real problem.  Anyone sending their dollars to an account held by someone is putting a lot of trust in them.  In other words, when I send MtGox my BTC and "sell" them, MtGox is going to send me back the $USD (hopefully).  Since MtGox is centralized, they are a closed system - the USD out came from another customer that sent USD in.  

To make a distributed/federated exchange we'd need all the endpoints (member exchanges) to be able to move USD between them friction free and securely, which is what would happen when the buyer and seller are in different member exchanges. Otherwise, if MtGox users were buying and btc-e users were selling (and retrieving their cash), btc-e could be drained of liquid funds very quickly.

I thought colored coins might help since I could create coins (eg. tallcoins) for each dollar I have in my bank account.  However, who is going to take tallcoins in exchange for a bitcoin?  I could promise to pay anyone 1USD for each tallcoin, but when someone knocks on my door and wants the money, who knows if I'll cough it up.  You'd have to trust me, right?

legendary
Activity: 1232
Merit: 1094
April 13, 2013, 09:42:22 AM
In that case we must implement the usage of colored coins, but it should be up to each virtual exchange if they want to use colored coins or a trust-based system.

Right, it is pretty much 2 things anyway.  The exchange is really just a system for matching buyers and sellers.  The coloured coin system lets you create digital representations of real things.

With coloured coins, you would have a wallet which has a total each type off coin colour you have.

The guys at bitcoinX have a proof of concept that does the colouring.  If they added the 2 stage transactions, then they would be pretty much there.

Quote
Merchants look at the dollar value they will get from bitcoin, which means we dont use the full potential of bitcoin as a currency since people always compare it to dollars.

The dollar is also a relatively stable measure of value.  That is one of the things currencies do.

You could have a client which does a weighted average of commodities to work out a stable value.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 13, 2013, 09:25:54 AM
It is more efficient to have a currency for that.  There is no need for barter.  Having many mints to convert to/from fiat is required since fiat isn't in digital format.

In that case we must implement the usage of colored coins, but it should be up to each virtual exchange if they want to use colored coins or a trust-based system.

Merchants look at the dollar value they will get from bitcoin, which means we dont use the full potential of bitcoin as a currency since people always compare it to dollars.
I believe with the help of bitcoin and internet we can revolutionize bartering so people dont have to think in dollar-terms all the time. Most virtual exchanges will of course be around BTC vs some fiat currencies, but some virtual exchanges such as farmer markets might want to use other kind of currencies for trading eggs, meat and animals, maybe physical silver coins?
legendary
Activity: 1232
Merit: 1094
April 13, 2013, 09:10:19 AM
The simplest solution I can imagine is: TRUST
I trust my broker, You trust your broker. Our Brokers trust each other and the exchange. We put orders. The Exchange match the orders. Our brokers swap our assets (BTC vs USD) based on the trade execution and trade is done.

Right, but you are creating a more centralised system.  The brokers lots of trust links have a lot of power in the system.

Quote
The proposal of colored coins and tokens seems good, tell more about it!

Basically, a "mint" would create a coloured coin by sending you a coin from a particular address.  Initial marking of colour requires the mint to formally give info on which tx outputs are coloured as "roots".

The software tracks the coins as they go through the network.  They have rules for how to colour coins before and after a transaction.

For example, you might have

Inputs
0: 5 satoshi (mint1 colour)
1: 15 satoshi (mint1 colour)
2: 50 satoshi (mint2 colour)
3: 0.01 BTC (uncoloured - this is for the tx fee)

Outputs
0: 10 satoshi
2: 10 satoshi
1: 50 satoshi

If this is included in the block chain, the colour tracker will then mark the outputs as coloured to give

Output
0: 10 satoshi (mint1 colour)
1: 10 satoshi (mint1 colour)
2: 50 satoshi (mint2 colour)

If you want your coloured coin value to be preserved you need to make sure you have the right amounts for the coloured coins.

In this case, the first 2 inputs are the same colour and add up to 20.  Similar the first two outputs add to 20.  Your software would remember that those outputs are also coloured.

Likewise the 50 satoshi of mint2's colour are matched values.

These guys have defined a spec for this.

Quote
But how do we trade a basket of chicken eggs at the farmers market against a barrel of gasoline with colored coins / tokens ? Is it doable?

The mints act convert coloured coins to/from their backing.  A mint might send you 100 satoshi coloured by them in exchange for $1.  Likewise, they would do the reverse transaction.  There would be a fee in both directions.

This also works with other things like barrels of oil.  The farmer would sell the eggs for BTC and then buy the oil.

Quote
(In this example farmers market got their order book at this hypothetical p2p exchange where farmers put sell orders of chicken egg and consumers pay with barrells of gasoline,

It is more efficient to have a currency for that.  There is no need for barter.  Having many mints to convert to/from fiat is required since fiat isn't in digital format.
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 13, 2013, 08:22:30 AM

Interesting that the p2p username was free on github.

Anyway, it would be nice if you didn't actually need trust to complete the actual trades.  Obviously, the transaction to/from fiat to digital "vouchers" would have to be based somewhat on trust.

You could have something like hierarchical though.  For example, depending on how fees work, it might be worth buying $10k from the mint and then selling those on.  The central mint would sell to local merchants who would handle the actual selling in that country/region.  There could be a few central mints, they could do bulk trades between themselves to keep the exchange rate very close to 1:1.

If you allowed the central mints to operate at less than 100% reserve, they could probably do the system for free.  These coins are effectively senior bonds.  You sell a $100 denomination one Today at $95 and buy it back in 2 years at $100.

I think you need to decide on the core mechanism before you need to decide on more subtle questions.

Colours coins + mints allow the main chain to be used for atomic transactions already.  The only trust that is required is the coloured coin to fiat conversion by the mint.  However, that is pretty much inherent.

You need some way to link an alt chain to the main chain somehow.  Effectively, "pay if the alt chain certifies this tx".

The simplest solution I can imagine is: TRUST
I trust my broker, You trust your broker. Our Brokers trust each other and the exchange. We put orders. The Exchange match the orders. Our brokers swap our assets (BTC vs USD) based on the trade execution and trade is done.

Thats the way human interactions and trading has worked for thousands of years, people trade with each other on trust, and some times people lose money because of scammers or counter parts going into bankrupcy. Thanks to internet any broker trying to scam its counter part would be shut down in a day if they dont settle the dollars or gold coins or bitcoins they owe their fellow broker.

The proposal of colored coins and tokens seems good, tell more about it!
We might use both models in the exchange to allow all kind of brokers to participate in the exchange.
Seems like cryptocurrencies (BTC/USD, BTC/EUR etc) against big currencies could be traded with the colored coin proposal.

But how do we trade a basket of chicken eggs at the farmers market against a barrel of gasoline with colored coins / tokens ? Is it doable?
(In this example farmers market got their order book at this hypothetical p2p exchange where farmers put sell orders of chicken egg and consumers pay with barrells of gasoline,
and they meet at the physical market once a week to settle chicken eggs against barrels of gasoline - Or if the broker dont trust its clients, the farmers put the egg and the consumers puts their gasoline at the brokers office in advance, before the trading can begin)
legendary
Activity: 1232
Merit: 1094
April 13, 2013, 07:44:25 AM

Interesting that the p2p username was free on github.

Anyway, it would be nice if you didn't actually need trust to complete the actual trades.  Obviously, the transaction to/from fiat to digital "vouchers" would have to be based somewhat on trust.

You could have something like hierarchical though.  For example, depending on how fees work, it might be worth buying $10k from the mint and then selling those on.  The central mint would sell to local merchants who would handle the actual selling in that country/region.  There could be a few central mints, they could do bulk trades between themselves to keep the exchange rate very close to 1:1.

If you allowed the central mints to operate at less than 100% reserve, they could probably do the system for free.  These coins are effectively senior bonds.  You sell a $100 denomination one Today at $95 and buy it back in 2 years at $100.

I think you need to decide on the core mechanism before you need to decide on more subtle questions.

Colours coins + mints allow the main chain to be used for atomic transactions already.  The only trust that is required is the coloured coin to fiat conversion by the mint.  However, that is pretty much inherent.

You need some way to link an alt chain to the main chain somehow.  Effectively, "pay if the alt chain certifies this tx".
sr. member
Activity: 434
Merit: 250
In Hashrate We Trust!
April 13, 2013, 07:21:25 AM
Updated https://github.com/p2p/bitcoin-exchange

Fees
Fees are taken from the brokers and virtual exchanges to encourage miners to provide computing power to the exchange and to discourage creation of fake virtual exchanges, brokers and orders.
Brokers and Virtual Exchanges will have bitcoin wallets created in the bitcoin blockchain where they send bitcoins in advance to pay for the exchange fees. If the broker-wallet or virtual exchange-wallet is empty no orders are processed for that broker or virtual exchange.
The actual fees must be discussed in the community.

Broker periodical fee: 1 BTC per 30 days (18 144 000 blocks)

Virtual exchange fee: 10 BTC per 30 days (18 144 000 blocks)

1 BTC per 10 000 Orders forwarded to the Exchange

1 BTC per 100 000 Orders cancelled from the Exchange
Pages:
Jump to: