Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: btctraderr on August 03, 2014, 10:50:37 AM



Title: How does Multi-sig escrow for merchants work in the real world?
Post by: btctraderr on August 03, 2014, 10:50:37 AM
Ok, so my understanding is that Multi-sig escrow can effectively provide the ability for a 'chargeback' in the case of a 2 of 3 wallet with one party being say, a Coinbase as the arbitrator. See the situation below assuming a 2 of 3 transaction with a theoretical merchant processor in the middle:

1.Alice wants to buy shoes and sees the shoes she wants on bob's online store
2.Alice send Bob 1 BTC
3.Bob see's the Payment and sends the shoes in the mail.
*Bob has not been paid yet as Coinbase need to sign it?*
4.Alice wants to return the shoes as they did not fit. Alice sends back the shoes.
5.After Bob confirms receipt of shoes Coinbase sign the transaction to reverse it and probably take a small fee.
6. Alice gets her money back and Bob takes a fee for the handling costs.

So.....Bob does not get actually get paid until step 6 correct? What if a merchant prices their goods in fiat (like everyone), if they the handling fee in BTC and the BTC price has dropped 20% they've lost out. Bob has to send the goods without actually receiving the payment?

Maybe I'm not explaining it correctly but how can Escrow function well if the funds are sitting there in BTC for an extended period of time, no merchant will use that.



Title: Re: How does Multi-sig escrow for merchants work in the real world?
Post by: trynmpo on August 03, 2014, 11:08:41 AM
Ok, so my understanding is that Multi-sig escrow can effectively provide the ability for a 'chargeback' in the case of a 2 of 3 wallet with one party being say, a Coinbase as the arbitrator. See the situation below assuming a 2 of 3 transaction with a theoretical merchant processor in the middle:

1.Alice wants to buy shoes and sees the shoes she wants on bob's online store
2.Alice send Bob 1 BTC
3.Bob see's the Payment and sends the shoes in the mail.
*Bob has not been paid yet as Coinbase need to sign it?*
4.Alice wants to return the shoes as they did not fit. Alice sends back the shoes.
5.After Bob confirms receipt of shoes Coinbase sign the transaction to reverse it and probably take a small fee.
6. Alice gets her money back and Bob takes a fee for the handling costs.

So.....Bob does not get actually get paid until step 6 correct? What if a merchant prices their goods in fiat (like everyone), if they the handling fee in BTC and the BTC price has dropped 20% they've lost out. Bob has to send the goods without actually receiving the payment?

Maybe I'm not explaining it correctly but how can Escrow function well if the funds are sitting there in BTC for an extended period of time, no merchant will use that.



I am also supporting & anxious to know about the solution of your fact, it can be go both ways if price dropped seller will lose his money, if price rises buyer feel he lost some extra chunk and with this scenario BTC will surely lose its credibility. BTC price needs to be stable to maintain its credibility and worldwide acceptance in a long run.


Title: Re: How does Multi-sig escrow for merchants work in the real world?
Post by: fbueller on August 03, 2014, 04:57:06 PM
I'm writing bitwasp, an open source multisig marketplace.. I've been puzzling over this for a while, wondering how best to approach it.

Its actually tricky to deal with this, because once a user signs a transaction, that signatures captures the who and the how much. Say you opted to try and hedge against price variation (if you expect to go up this makes sense) If you want to change it a day or two later because the price has varied, you'd need the first used to sign again.


Title: Re: How does Multi-sig escrow for merchants work in the real world?
Post by: Envrin on August 03, 2014, 05:16:33 PM

It doesn't really work that great for escrow.  You can't put a partially signed transaction on the blockchain, so escrow would have to work exact same as we do now with fiat.  You send funds to an arbitrator, they hold the funds, then release them accordingly once the transaction is completed and/or dispute resolved. 

There's no requirement for multisig there though.  That 1 BTC must leave Alice's wallet, then a new transaction must be created by the arbitrator once the deal is complete.  Multisig is meant more for security, not escrow.



Title: Re: How does Multi-sig escrow for merchants work in the real world?
Post by: inBitweTrust on August 03, 2014, 05:25:53 PM
What if a merchant prices their goods in fiat (like everyone), if they the handling fee in BTC and the BTC price has dropped 20% they've lost out. Bob has to send the goods without actually receiving the payment?

Maybe I'm not explaining it correctly but how can Escrow function well if the funds are sitting there in BTC for an extended period of time, no merchant will use that.



If you are doing multisig escrow the contract is with BTC and not Fiat. The amount of BTC cannot lose 20%. If it has lost 20% in USD it may have gained 10% in value against gold  or the Argentinian peso.... the value of Bitcoin to other things is all relative.

Additionally, I think people overly emphasize the volatility of Bitcoin. People may assume they lost purchasing power in BTC with a transaction when they could have bought BTC for less independently but that is all hindsight bias. No one has a crystal ball and knows exactly when to buy so if BTC loses 10-20% in purchasing power for a week than recovers and gains 10-20% in value than what is the big deal.

All this means is you should diversify your assets and never use your BTC when it has less purchasing power when you acquired or purchased it.  


Title: Re: How does Multi-sig escrow for merchants work in the real world?
Post by: inBitweTrust on August 03, 2014, 05:31:21 PM

It doesn't really work that great for escrow.  You can't put a partially signed transaction on the blockchain, so escrow would have to work exact same as we do now with fiat.  You send funds to an arbitrator, they hold the funds, then release them accordingly once the transaction is completed and/or dispute resolved.  

There's no requirement for multisig there though.  That 1 BTC must leave Alice's wallet, then a new transaction must be created by the arbitrator once the deal is complete.  Multisig is meant more for security, not escrow.



That isn't how multisig escrow arbitration works. The escrow does indeed sit locked in limbo on the blockchain until m of n keys unlock the funds. This isn't anything like traditional escrow where there is counter party risk involved with concern that the arbitrator can directly run off with your funds.
 
You never send funds to an arbitrator, they only get a partial key. You don't need the arbitrator to release the funds either, they only are introduced in the less than 1% cases if there is a dispute.

Here is some more info-
https://www.bitrated.com/faq.html


Title: Re: How does Multi-sig escrow for merchants work in the real world?
Post by: Envrin on August 03, 2014, 05:37:08 PM
That isn't how multisig escrow arbitration works. The escrow does indeed sit locked in limbo on the blockchain until m of n keys unlock the funds. This isn't anything like traditional escrow where there is counter party risk involved with concern that the arbitrator can directly run off with your funds.
 
You never send funds to an arbitrator, they only get a partial key. You don't need the arbitrator to release the funds either, they only are introduced in the less than 1% cases if there is a dispute.

Sorry, and you're completely right.  I knew it was too late, and I was too tired to be posting.  Long day. :)



Title: Re: How does Multi-sig escrow for merchants work in the real world?
Post by: fbueller on August 04, 2014, 12:22:07 PM
I have sellers say 'ithis item costs 1btc' or else 'I want 500 in USD'. Software then converts and works out the cost in bitcoins. I use btc as the judge of value throughout my app, and convert fiat amounts into btc as of the most recent exchange rate. When a buyer accepts, I calculate all fiat amounts to btc and give them that total (plus fees).

Should we be teaming up here and trying to issue guidance? I'm sure people who have implemented this know how difficult it was, maybe we should try work out fair, community driven guidelines on points like how each marketplace treats price variation, etc. Should everyone just say that prices are final as of when the order is accepted, and multisig address is revealed to the buyer?

Who is actually coding this stuff ATM? Pm me please.