Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: coastermonger on February 17, 2014, 05:44:15 PM



Title: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: coastermonger on February 17, 2014, 05:44:15 PM
A decentralized P2P exchange still feels like the holy grail of bitcoin tech.  This is an idea I don't often see talked about:

https://bitcointalk.org/index.php?topic=470620.msg5194464#msg5194464


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: DeathAndTaxes on February 17, 2014, 05:51:01 PM
P2P exchanges have been talked about endlessly since Bitcoin started.   It is a difficult problem to solve and most high level abstractions look good until you get down to the nuts and bolts where they fall apart.

I promise to sell (or "lend" in linked thread) 1 BTC for $700.  Ok what prevents me from backing out when someone accepts that offer.   If my coin is locked up or escrowed what ensures I am not defrauded, held hostage, or simply lose my BTC for participating.

Someone purchases my Bitcoin for $700.  How do they handle payment?  What forces them to pay?  What happens if they don't pay?

Speaking at a high level allows one to abstract away a lot of the technical "show stopper" details.  The lack of P2P exchange isn't the product of not enough talking, it is the result of no viable solution (so far).


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: coastermonger on February 17, 2014, 07:39:27 PM
P2P exchanges have been talked about endlessly since Bitcoin started.   It is a difficult problem to solve and most high level abstractions look good until you get down to the nuts and bolts where they fall apart.

I promise to sell (or "lend" in linked thread) 1 BTC for $700.  Ok what prevents me from backing out when someone accepts that offer.   If my coin is locked up or escrowed what ensures I am not defrauded, held hostage, or simply lose my BTC for participating.

Someone purchases my Bitcoin for $700.  Wow do they handle payment?  What forces them to pay?  What happens if they don't pay?

Speaking at a high level allows one to abstract away a lot of the technical "show stopper" details.  The lack of P2P exchange isn't the product of not enough talking, it is the product of no viable solution (so far), for what is a very complex problem.


Excellent questions!  Suppose you promise to sell 1 BTC for $700. If your order was accepted, you would temporarily have zero bitcoin in the system but would receive what can be thought of as $700 worth of credit. (Like bitcoin, this credit cannot be arbitrarily created).  The person who takes your bitcoin also takes on the obligation of having to sell back $700 worth of their bitcoin into the system, and then they can withdraw the rest.

Suppose at a later time, someone offers to sell 1.5 BTC for $600 each.  You would be able to take your $700 worth of credit and purchase 1.16666667 BTC total, withdrawing it as needed.  The seller would still have 0.33333333 BTC for sale at $600 each, and $700 worth of credit for themselves now.

A person who takes loaned bitcoin (the committer) can be said to possess it, but must sell some back a portion of their holdings to neutralize their anti-credit and close the order (allowing the bitcoin to be withdrawn).  The higher the price, the better for them.  The person who took your 1 BTC and promised to sell back $700 worth of bitcoin into the system is obligated to fulfill that.  Suppose at later time someone offers to buy 1 BTC at $1000 each.  The committer would sell 0.7 BTC for $700 total, giving the BTC to the buyer and keeping 1.3 total BTC for themselves.  

Obviously there are other considerations, such as the margin at which the committer can tolerate risk.  Since the committer taking the loan always has to use their own bitcoin to cover as collateral, they would be controlling how much a loss they are willing to take.  

E.g. I take a loan of 1 BTC at $700 each and use 1 BTC of my own as collateral.  I have 2 BTC total now, and I'm obligated to spend at least $700 worth of BTC back into the system before anything can be withdrawn.  I want to sell my bitcoin for a higher price, but if not it would be impossible for me to place an ask order or fulfill any bids below $350. Doing so would result in the buyer receiving more than 2 BTC total.  In reality, I would set a stop loss much higher than that so that I don't lose more BTC than I'm comfortable with.

Recap:
  • Sellers give away bitcoin to create credit for themselves.  In doing so, they hope the price will go lower so that their credit is worth more BTC than before. They are insulated from losses if the market goes down, but if it climbs upward their bitcoin will be worth less and less.
  • Buyers take bitcoin and create anti-credit for themselves.  They post collateral to ensure sellers that they can fulfill their obligation to repay.  In doing so, they hope the price will go higher so that their bitcoin is worth more than before (and the anti-credit is easier to repay back.  They take on risk if the market goes down, but gain profit if the market goes up.



Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: lemfuture on March 04, 2014, 10:41:49 PM
P2P exchanges have been talked about endlessly since Bitcoin started.   It is a difficult problem to solve and most high level abstractions look good until you get down to the nuts and bolts where they fall apart.

I promise to sell (or "lend" in linked thread) 1 BTC for $700.  Ok what prevents me from backing out when someone accepts that offer.   If my coin is locked up or escrowed what ensures I am not defrauded, held hostage, or simply lose my BTC for participating.

Someone purchases my Bitcoin for $700.  Wow do they handle payment?  What forces them to pay?  What happens if they don't pay?

Speaking at a high level allows one to abstract away a lot of the technical "show stopper" details.  The lack of P2P exchange isn't the product of not enough talking, it is the product of no viable solution (so far), for what is a very complex problem.

feel free to try and implement this on an altcoin, may i suggest dimecoin perhaps  ;D


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: AnonyMint on March 05, 2014, 02:23:17 AM
I promise to sell (or "lend" in linked thread) 1 BTC for $700.  Ok what prevents me from backing out when someone accepts that offer.   If my coin is locked up or escrowed what ensures I am not defrauded, held hostage, or simply lose my BTC for participating.

Someone purchases my Bitcoin for $700.  How do they handle payment?  What forces them to pay?  What happens if they don't pay?

Multisig and anonymous escrow agents build reputations:

https://bitcointalk.org/index.php?topic=455141.msg5442231#msg5442231

With cpu-only mining, then you buy PCs with fiat to buy (by mining) coins, you buy more PCs with coin and sell the PCs to get fiat.


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: acarterczyz on March 05, 2014, 02:26:11 AM
P2P exchanges have been talked about endlessly since Bitcoin started.   It is a difficult problem to solve and most high level abstractions look good until you get down to the nuts and bolts where they fall apart.

I promise to sell (or "lend" in linked thread) 1 BTC for $700.  Ok what prevents me from backing out when someone accepts that offer.   If my coin is locked up or escrowed what ensures I am not defrauded, held hostage, or simply lose my BTC for participating.

Someone purchases my Bitcoin for $700.  How do they handle payment?  What forces them to pay?  What happens if they don't pay?

Speaking at a high level allows one to abstract away a lot of the technical "show stopper" details.  The lack of P2P exchange isn't the product of not enough talking, it is the result of no viable solution (so far).


A better way would be to use a gateway as an escrow. When two conditions are met (bitcoins received by gateway and altcoin received by gateway), the exchange trades hands. Security should be a big concern, not someone backing out.


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: gollum on March 05, 2014, 02:39:42 AM
The main problem of p2p bitcoin exchange is how to get the fiat in.
But if we only trade Crypto currencies against each other it should not be any problem to create such exchange.
One way to get the fiat in is to accept centrally issued Fiat-backed crypto currencies as well in the p2p exchange.


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: acarterczyz on March 05, 2014, 02:42:46 AM
The main problem of p2p bitcoin exchange is how to get the fiat in.
But if we only trade Crypto currencies against each other it should not be any problem to create such exchange.
One way to get the fiat in is to accept centrally issued Fiat-backed crypto currencies as well in the p2p exchange.


+1

Yes. This would be the major concern.


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: AnonyMint on March 05, 2014, 02:56:01 AM
One way to get the fiat in is to accept centrally issued Fiat-backed crypto currencies as well in the p2p exchange.

-1

You are right back to the same problem of centralized theft again.

People will always disfavor P2P exchange, because it is more inconvenient, the spread is higher, and it feels more unsafe (which is debatable).

That is why a cpu-only coin is so damn important. Most people will then enter by mining, and spending will be preferred over selling!


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: gollum on March 05, 2014, 03:12:01 AM
One way to get the fiat in is to accept centrally issued Fiat-backed crypto currencies as well in the p2p exchange.

-1

You are right back to the same problem of centralized theft again.

People will always disfavor P2P exchange, because it is more inconvenient, the spread is higher, and it feels more unsafe (which is debatable).

That is why a cpu-only coin is so damn important. Most people will then enter by mining, and spending will be preferred over selling!

Nobody can ever force you to sell your bitcoins for Gollum_USD_IOU. But you should have the technical possibility to do so on the p2p exchange.
If we issue an IOU coin it would be a piece of code, just like bitcoin.


Title: Re: Building a feasible P2P bitcoin exchange. Unhindered by fiat or centralization.
Post by: AnonyMint on March 05, 2014, 03:34:18 AM
One way to get the fiat in is to accept centrally issued Fiat-backed crypto currencies as well in the p2p exchange.

-1

You are right back to the same problem of centralized theft again.

People will always disfavor P2P exchange, because it is more inconvenient, the spread is higher, and it feels more unsafe (which is debatable).

That is why a cpu-only coin is so damn important. Most people will then enter by mining, and spending will be preferred over selling!

Nobody can ever force you to sell your bitcoins for Gollum_USD_IOU. But you should have the technical possibility to do so on the p2p exchange.

We can't stop people from dangling centralized failure nodes in front of the naive users.

One thing we can do is make the altcoin very anonymous, thus any user going through these centralized vehicles is going to give up their anonymity via AML & KYC regulation of the centralized vendors.

For the moment users have no reason to care, because Bitcoin isn't anonymous any way.

If we issue an IOU coin it would be a piece of code, just like bitcoin.

What part of centralized failure modes is not clear?

You promise to pay fiat. Many people become dependent on your ability to do so. Govenment fines you, you can't meet obligations. Or you are corrupt/inept and issue more IOUs than you have resources to pay. Many centralized failure modes to get same result.