[bisq-network/proposals] Reduce trade protocol to 1 single transaction (#279)

hodlwave notifications at github.com
Sun Apr 25 00:30:41 CEST 2021


This is a great idea @sqrrm.

I'm not a cryptography expert, but I think the protocol would benefit from a combination of Taproot and MuSig2 to greatly reduce the cost of either party spending their Deposit Tx output in the happy path.

Extending the example @chimp1984  provided above where Alice is selling 1 BTC to Bob and we use a 0.1 BTC security deposit.

Deposit tx:

Input 1: Alice 1.1 BTC
Input 2: Bob 0.1 BTC

Output 1: 0.1 BTC
* Taproot key path: a public key \<MuSigPubKey1a\> derived from \<AlicePubKey1a\> and \<BobPubKey1a\> using MuSig2
* Taproot script: 
  - Path 1 (spendable by Alice if she learns `N_b`): `OP_HASH160 H_a OP_EQUALVERIFY OP_HASH160 H_b OP_EQUAL OP_DUP OP_HASH160 <AlicePubKey2Hash> OP_EQUALVERIFY OP_CHECKSIG`
  - Path 2: 2of2 multisig with \<AlicePubKey3a\> \<BobPubKey3a\> used for staged refund Tx 

Output 2: 1.1 BTC 
* Taproot key path: a public key \<MuSigPubKey1b\> derived from \<AlicePubKey1b\> and \<BobPubKey1b\> using MuSig2
* Taproot script: 
  - Path 1 (spendable by Bob if he learns `N_a`): `OP_HASH160 H_a OP_EQUALVERIFY OP_HASH160 H_b OP_EQUAL OP_DUP OP_HASH160 <BobPubKey2Hash> OP_EQUALVERIFY OP_CHECKSIG`
  - Path 2: 2of2 multisig with \<AlicePubKey3b\> \<BobPubKey3b\> used for staged refund Tx 

With this scheme, once Alice and Bob have exchanged nonces, Alice can spend Output 1 and Bob can spend Output 2 via the first Taproot script path. At this point, Alice can give Bob \<AlicePrivKey1b\>  while Bob can give Alice \<BobPrivKey1a\> so each of them can use the cheaper key path to spend the output they effectively already control.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/proposals/issues/279#issuecomment-826161769
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20210424/f3672bb9/attachment.htm>


More information about the bisq-github mailing list