From 5683c85f7ded33197756965b08de7a2ede7e5732 Mon Sep 17 00:00:00 2001 From: Shannon Appelcline Date: Wed, 6 Jul 2022 09:15:55 -1000 Subject: [PATCH] added coinjoin explanation --- 07_2_Using_a_Partially_Signed_Bitcoin_Transaction.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/07_2_Using_a_Partially_Signed_Bitcoin_Transaction.md b/07_2_Using_a_Partially_Signed_Bitcoin_Transaction.md index 0f139c8..9bf8600 100644 --- a/07_2_Using_a_Partially_Signed_Bitcoin_Transaction.md +++ b/07_2_Using_a_Partially_Signed_Bitcoin_Transaction.md @@ -584,10 +584,12 @@ The methodology for managing it with PSBTs is exactly the same as you've seen in ``` $ psbt=$(bitcoin-cli -named createpsbt inputs='''[ { "txid": "'$utxo_txid_1'", "vout": '$utxo_vout_1' }, { "txid": "'$utxo_txid_2'", "vout": '$utxo_vout_2' }, { "txid": "'$utxo_txid_3'", "vout": '$utxo_vout_3' } ]''' outputs='''{ "'$split1'": 1.7,"'$split2'": 0.93,"'$split3'": 1.4 }''') ``` -Each user puts in their own UTXO, and each one receives a corresponding output. +Each user puts in their own UTXO, and each one receives a corresponding output. The best way to manage a CoinJoin is to send out the base PSBT to all the parties (who could be numerous), and then have them each sign the PSBT and send back to a single party who will combine, finalize, and send. +> :book: ***What is CoinJoin?*** CoinJoin is a methodology whereby a group of people can mix together their cryptocurrency, helping to reduce fungibility for all the coins. Each person puts in and takes out the same amount of coins (minus transaction fees) in a multi-person transaction that is simultaneously conducted by a _large_ number of people. It's designed to be "trustless" so that the parties don't need to know or trust each other. A CoinJoin ultimately increases anonymity by making the coins hard to trace. The Wasabi Wallet and a number of "mixer" services support CoinJoin at the large-scale necessary for improved anonymity. + ## Summary: Using a Partially Signed Bitcoin Transaction You've now seen the PSBT process that you learned in [ยง7.1](07_1_Creating_a_Partially_Signed_Bitcoin_Transaction.md) in use in three real-life examples: creating a multi-sig, pooling funds, and CoinJoining. These were all theoretically possible in classic Bitcoin by having multiple people sign carefully constructed transactions, but PSBTs make it standardized and simple.