Bitcoin Forum

Other => Beginners & Help => Topic started by: btc6000 on April 18, 2013, 01:41:49 PM



Title: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: btc6000 on April 18, 2013, 01:41:49 PM
We desperately need to decentralize the exchange and price discovery mechanism. Why don't the devs work on building a distributed exchange mechanism, maybe even Satoshi could chip in, as he/she/they are allegedly working on other projects.


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: coqui33 on April 18, 2013, 03:10:03 PM
The challenge with any decentralized exchange lies in how to ensure fairness (stopping one person from scamming the other by agreeing to transfer value second and then reneging), and doing so without involving a TTP (trusted third party, such as escrow or arbitration).

Although research continues on staged back-and-forth signature revelation (Camacho 2012, Fair Exchange of Short Signatures without Trusted Third Party), the basic problem of exchange fairness without a TTP has been mathematically proved to be insoluble (Richard Cleve, "Limits on the security of coin flips when half the processors are faulty.", STOC, 364–369. ACM Press, November 1986).

So, it seems to me that the quest for an unscammable TTP-free exchange protocol must be abandoned. (Bitcoin implements an unscammable TTP-free one-way transfer protocol.) In this light, I suggest that researchers accept the unavoidable need for a TTP and, instead, pursue an exchange protocol that uses the existing network of Bitcoin nodes itself as the trusted third party.

For example, define a "two-way exchange" as a pair of linked one-way transfers. Consider a scheme whereby someone sets up a two-way exchange transaction (comprising a pair of linked one-way transfers) that is somehow stored in the block chain, but not fired off until both parties send in private hashes. Once both authorizations are confirmed, the network simultaneously fires off both of the component one-way transfers.

The fact that one of the transfers sends bitcoins while the other sends a non-bitcoin value (USD, gold coins, copyright permission, etc.) is a minor problem. The non-bitcoin transfer could easily send the combination to a safe-deposit box containing something physical, a bank code to a numbered fiat account, a GPG-signed contractual obligation, or the like.


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: Sidewayzracer on April 18, 2013, 03:13:53 PM
What should be done is setup the exchanges to trade off a common market place similar to the Stock market,  Have the central exchange not exceute trades directly but make profit only through API usage.  Exchange gets and API that is constantly updated with the current prices bids and asks and volumes and allows trades to be made cross exchange to which ever is offered at the prices.  Instead of the exchanges looking at each other to get their cues which way the market might be heading


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: keatonatron on April 18, 2013, 03:47:10 PM
What should be done is setup the exchanges to trade off a common market place similar to the Stock market,  Have the central exchange not exceute trades directly but make profit only through API usage.  Exchange gets and API that is constantly updated with the current prices bids and asks and volumes and allows trades to be made cross exchange to which ever is offered at the prices.  Instead of the exchanges looking at each other to get their cues which way the market might be heading

Interesting idea... You could have the exchange be decentralized, but have the follow-up (actual payment of goods) be handled by the (current) exchanges.

You would give USD to Mt. Gox or someone to represent you on the market, because they are trusted and everyone knows that they already have your money if they are representing you. You place orders which are matched up regardless of which exchange the other party is using, and then the exchanges settle with each other by sending USD or bitcoins to each other every so often.

Although wouldn't this would be very similar to the current fiat banking system?  I guess one difference would be that you wouldn't use them to store money, only buy and sell it for you (more like a stock broker). Also, this could just be set up between exchanges and not have to be tied to the bitcoin protocol at all.

Like coqui33, I too have seen lots of calls for a decentralized exchange, but I don't see how it could be possible without being extremely hit-and-miss in terms of trusting people to wire you USD directly after making a trade...


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: sometime on April 18, 2013, 03:52:48 PM
The fact that one of the transfers sends bitcoins while the other sends a non-bitcoin value (USD, gold coins, copyright permission, etc.) is a minor problem. The non-bitcoin transfer could easily send the combination to a safe-deposit box containing something physical, a bank code to a numbered fiat account, a GPG-signed contractual obligation, or the like.

It's still only an unscammable one way transfer (of btc) in all the examples you listed.  You'd have to trust the safe deposit box combination was real, the box contained what it's supposed to contain (same with the fiat account), the GPG signed contract would be fulfilled etc. 

You'll still have to deal with a trusted third party that deals with the physical items or fiat currency.


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: embii on April 18, 2013, 04:13:49 PM
great idea......extremely hard to implement...  This would be a game changer  ;)


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: coqui33 on April 19, 2013, 02:18:06 AM
You'll still have to deal with a trusted third party that deals with the physical items or fiat currency.
Damn! You're right. My scheme works only if the non-BTC transfer is also an irrevocable crypto-currency. Even a gift-card number or discount code could be fraudulent.

Worse yet, in case of a dispute, a TTP has no way of knowing whether the BTC recipient fraudulently left a brick in the safe-deposit box, or the BTC sender retrieved the USD but then fraudulently claimed that the box held nothing but a brick. Consequently, the TTP must establish policies favoring one party or the other, and we are back to Paypal again (for direct sale) or a centralized exchange where both parties have accounts (like Gox).


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: BitMark on April 19, 2013, 02:31:00 AM
It seems most proposals break down on final settlement.  If ripple can make good on its promises it has potential.  Just have to wait and see I guess.

As a participant on an exchange you typically want access to liquidity.  The desire for liquidity creates a monopolistic incentive.  If someone could create a way to simulate liquidity across thousands of micro exchanges...  I guess it is just too hard to vette more than a few exchanges.  Is this what ripple is effectively trying to solve?


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: gdbutler on April 19, 2013, 02:36:15 AM
So one of the biggest problems is interfacing with fiat. The transfer of funds can be automated (btc seller receives fiat from buyer's account, and btc buyer receives btc from seller's account simultaneously). However, there is no simple solution to get fiat into the buyer's client and no simple solution to transfer to fiat to the seller's client. This could all be solved if the exchange used fiat vouchers similar to the old Mt. Gox codes. These vouchers are always redeemable for btc so companies would pop up that will buy those vouchers from you for fiat.


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: DataSurfer on April 19, 2013, 02:43:42 AM
So one of the biggest problems is interfacing with fiat. The transfer of funds can be automated (btc seller receives fiat from buyer's account, and btc buyer receives btc from seller's account simultaneously). However, there is no simple solution to get fiat into the buyer's client and no simple solution to transfer to fiat to the seller's client. This could all be solved if the exchange used fiat vouchers similar to the old Mt. Gox codes. These vouchers are always redeemable for btc so companies would pop up that will buy those vouchers from you for fiat.

At some point those vouchers need to be redeemed for fiat.  That either means bags of cash or a traditional bank.  To a bank any kind of voucher means money transmission and banks don't take too kindly to competition to the ACH system.


Title: Re: Why don't the Bitcoin devs build the community a p2p exchange?
Post by: The Bitcoin Catalog on April 19, 2013, 03:11:47 AM
There are discussions on that matter over there:

https://bitcointalk.org/index.php?topic=172705.0