7

What SIGHASH flags are used when constructing a CoinJoin transaction?

5

CoinJoin uses SIGHASH_ALL.

I initially found this confusing because I assumed the interface to CoinJoin a little less synchronized than it is. CoinJoin requires each participant to first specify a UTXO and a public key to pay out to.

Someone then constructs a partially complete transaction which makes use of those UTXOs and pays out to the public keys specified by the participants -- this transaction is "partially complete" because it doesn't yet have signatures which unencumber the UTXOs. Each participant then signs their input with SIGHASH_ALL, which prevents outputs from being manipulated after the fact.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.