<p>You are correct, and the text is misleading.</p>
<p>In general, every transaction input signature signs information from all over the transaction, including other inputs. This does not actually involve the transaction hash, but a separate hash which does leave a few things out. It is possible to only include data from your own input and not others (through <code>SIGHASH_ANYONECANPAY</code> specifically) , but the default and most common signing mode does involve signing other inputs.</p>
<p>What I assume the text is aiming to point out is that if multiple parties jointly produce a transaction, and each provides one input, then they can construct a signature for their own input without needing to see or know about the others' <em>keys or signatures</em>, but they still need to know about the other parties' <em>inputs</em>.</p>

CC BY-SA 4.0
2023-11-11T11:30:00.380Z
Thank you for this answer! Yeah, I got the idea of the text, I imagined it was just omitting the fact that each party still needs to know about the other parties' inputs. Just wanted to make sure I wasn't missing anything
Pedro Martins Timóteo da Costa
CC BY-SA 4.0
2023-11-01T01:23:57.727Z
2023-11-01T12:37:28.287Z
2023-11-01T12:37:28.287Z
Pieter Wuille
<p>On <a href="https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch06.asciidoc" rel="nofollow noreferrer">Chapter 6 - Transactions</a> of Mastering Bitcoin it is said:</p>
<blockquote>
<p>Note that each transaction input is signed independently. This is critical, as neither the signatures nor the inputs have to belong to or be applied by the same &quot;owners.&quot; In fact, a specific transaction scheme called &quot;CoinJoin&quot; uses this fact to create multi-party transactions for privacy.</p>
</blockquote>
<p>and also</p>
<blockquote>
<p>Each transaction input and any signature it may contain is completely independent of any other input or signature. Multiple parties can collaborate to construct transactions and sign only one input each.</p>
</blockquote>
<p>I understand the fact that all signatures are independent from each other and therefore can be computed separately, but I always had the impression that the signatures are calculated from the transaction hash, and therefore this would make them dependent on the inputs, meaning one would need to know all the inputs included on the transaction in order to generate the correct signature.</p>
<p>If my understanding is correct, I believe a better wording of this statement should be something like:</p>
<blockquote>
<p>the signatures needed to spend each UTXO referenced by each transaction input are computed independently</p>
</blockquote>
<p>What did I got wrong here?</p>

<transactions><signature><mastering-bitcoin>
Is it correct to say that "each transaction input is signed independently"?
Pedro Martins Timóteo da Costa
# Is it correct to say that "each transaction input is signed independently"?

(Asked by: username_0 on 2023-11-01)

On [Chapter 6 - Transactions](https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch06.asciidoc) of Mastering Bitcoin it is said:

> Note that each transaction input is signed independently. This is critical, as neither the signatures nor the inputs have to belong to or be applied by the same "owners." In fact, a specific transaction scheme called "CoinJoin" uses this fact to create multi-party transactions for privacy.

and also

> Each transaction input and any signature it may contain is completely independent of any other input or signature. Multiple parties can collaborate to construct transactions and sign only one input each.

I understand the fact that all signatures are independent from each other and therefore can be computed separately, but I always had the impression that the signatures are calculated from the transaction hash, and therefore this would make them dependent on the inputs, meaning one would need to know all the inputs included on the transaction in order to generate the correct signature.

If my understanding is correct, I believe a better wording of this statement should be something like:

> the signatures needed to spend each UTXO referenced by each transaction input are computed independently

What did I got wrong here?

**Tags:** transactions, signature, mastering-bitcoin


---

## 1 answers

### Answer by username_1 on 2023-11-01. Score: 3 | Accepted answer

You are correct, and the text is misleading.

In general, every transaction input signature signs information from all over the transaction, including other inputs. This does not actually involve the transaction hash, but a separate hash which does leave a few things out. It is possible to only include data from your own input and not others (through `SIGHASH_ANYONECANPAY` specifically) , but the default and most common signing mode does involve signing other inputs.

What I assume the text is aiming to point out is that if multiple parties jointly produce a transaction, and each provides one input, then they can construct a signature for their own input without needing to see or know about the others' *keys or signatures*, but they still need to know about the other parties' *inputs*.

> **Comments:**
> **username_0**: Thank you for this answer! Yeah, I got the idea of the text, I imagined it was just omitting the fact that each party still needs to know about the other parties' inputs. Just wanted to make sure I wasn't missing anything  

---

