Usually all signatures decide to all the transaction through the use of the SIGHASH_ALL
sighash flag. In that case, you can’t switch a signature from one transaction to a different. The brand new transaction has completely different inputs or outputs, so the signature from the unique transaction doesn’t decide to the suitable set of inputs and outputs and can be invalid for the brand new transaction.
The exception is when you’ve a signature that doesn’t decide to different inputs and simply to 1 output (SIGHASH_SINGLE
|SIGHASH_ANYONECANPAY
) or no output (SIGHASH_NONE
|SIGHASH_ANYONECANPAY
). Within the first case, you possibly can transfer one particular enter and output pair to a brand new transaction, or within the second case even use the enter on any transaction you want. Provided that the previous has very restricted purposes and the latter is outright signing your cash away to anybody that desires it, these signature hash varieties get used sometimes.
Subsequently, you shouldn’t anticipate this to be doable, as all inputs can be signed virtually completely with SIGHASH_ALL
.
You possibly can learn extra about Bitcoin’s signature hash varieties in Raghav Sood’s wonderful weblog publish on that matter, or within the Signatures chapter of Mastering Bitcoin third Version.