What SIGHASH flags does CoinJoin use?

7

What SIGHASH flags are used when constructing a CoinJoin transaction?

Nick ODell

Posted 2015-10-02T19:45:18.907

Reputation: 26 536

Answers

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.

James O'Beirne

Posted 2015-10-02T19:45:18.907

Reputation: 66