Skip to main content
3 of 4
added 167 characters in body

Is SIGHASH_NONE encompassing of other signature types?

Say I am building a transaction in private:

  1. Input 1 is signed with SIGHASH_SINGLE ( | SIGHASH_ANYONECANPAY)
  2. Input 2 is signed with SIGHASH_NONE | SIGHASH_ANYONECANPAY

SIGHASH_NONE implies that Input 2 will only spend if Input 1 is included in the transaction. Am I able to communicate this privately-signed transaction in such a way that Input 1 is also locked on the condition that Input 2 is included?

For example, I send this partially-signed transaction, with both signatures, to a person I do not trust.

Are they able to spend Input 1 (the SIGHASH_SINGLE) in another transaction without Input 2 included?

What can I do to lock these two inputs together, with one of the inputs also being locked to an output, while still allowing people to add inputs to the transaction?