9
2
Alice wants Bob to transfer 10btc to Carol, and is willing to pay Bob 11btc for the transfer.
They both entrust Trent to mediate the transaction, and Alice is willing to pay Trent 1btc as commission.
What is the correct and most secure protocol for performing this contract?
Edit: does the following protocol make sense?
- Alice broadcasts a transaction (Tx1) with 2 outputs:
- 11btc with an output script specifying 2-of-3 multi-signature verification, specifying Alice, Bob and Trent as recipients
- 1btc to Trent (commission)
- Bob verifies Alice's transaction:
- Verified: Bob broadcasts a transaction (Tx2) sending Trent 10btc
- Rollback - Bob is unsatisfied or fails to transfer the funds to Trent: Trent broadcasts a transaction (Tx3) sending Alice her 11btc back, specifying Tx1's first output as an input and signs the input. When Alice wants to spend Tx3, adding her signature to the input satisfies the 2-of-3 requirement (and the process stops here)
- Trent broadcasts a transaction (Tx4) sending Bob the 11btc, specifying Tx1's first output as an input. When Bob wants to spend Tx4, adding his signature to the input satisfies the 2-of-3 requirement
- Trent broadcasts a transaction (Tx5) sending Carol 10btc, specifying Tx2 as an input
2Why doesn't Alice pay Carol 10 BTC herself, then pay 1 BTC to Bob? – Nick ODell – 2013-03-18T15:18:06.807
Theoretically, Alice wants plausible deniability regarding the transfer of funds to Carol. – nivs – 2013-03-18T15:32:58.290
4The Bitcoin protocol can do M of N transactions, but the clients don't yet support it. The solution will be coming. – Stephen Gornick – 2013-03-18T18:22:13.027
Thanks Stephen. What I'm looking for is the best security protocol for fulfilling the contract (preserving the plausible deniability of Alice, making sure Alice and Bob transfer funds, and enabling Trent to rollback the transaction), regardless of client implementation. – nivs – 2013-03-18T19:16:02.327
For clarification, as far as "plausible deniability", it should appear that the final decision to transfer funds to Carol was made by Bob and/or Trent, not Alice? – Nate Eldredge – 2014-01-13T04:05:11.167
Also, is Bob supposed to front his own 10btc to Carol and then be reimbursed, or does it have to come out of the coins he gets from Alice? – Nate Eldredge – 2014-01-13T04:08:46.070