<p>Because it would not have a function. The hash listed in the picture of the original whitepaper is just to make the signature shorter (and possibly the process of creating it faster) without losing security, its only function is the authentication of a transaction, it is not used for anything else (or even stored).</p>

<p>To clarify, this is the diagram mentioned in the question:</p>

<p><img src="https://i.sstatic.net/s6AsR.png" alt="Transaction in the Satoshi whitepaper"></p>

CC BY-SA 3.0
2014-04-15T17:37:14.457Z
You seem to be implying that the original transaction (unencrypted) is not stored in the block chain.  If it were, one could plainly view all details of the transaction, including the signature and the message that it signs ...
zkurtz
CC BY-SA 3.0
2014-04-15T18:06:23.280Z
Hm, I think I understood your question wrong, I'll edit the answer.
Jori
CC BY-SA 3.0
2014-04-15T20:38:13.923Z
I'm marking this as the solution because it seems reasonable.  I would still be interested in seeing some references to support your claim.  If I understand correctly, you are claiming that the sole purpose of that hash is to shorten (and/or speed up) the signature.  (I assume then that these hashes have nothing to do with the tree of hashes that leads up to the Merkle root.)
zkurtz
CC BY-SA 3.0
2014-04-15T21:41:19.333Z
That is correct. Take PGP (or GPG) for example, you almost never see someone signing an entire message, because this would add a considerably long overhead. Instead a hash of the data is constructed and signed to prove that the data indeed originated from some party, because with a secure hashing algorithm it is almost impossible to find an other piece of data that results in the same hash. Merkle roots have to with how transactions are represented inside blocks.
Jori
CC BY-SA 3.0
2014-04-16T17:08:49.040Z
The algorithms used *can't* sign anything that exceeds the curve size. So you *must* hash before signing.
David Schwartz
CC BY-SA 3.0
2014-04-15T15:28:11.183Z
2014-04-15T18:14:37.203Z
2014-04-15T18:14:37.203Z
Jori
<p>The first figure in the <a href="https://bitcoin.org/bitcoin.pdf" rel="nofollow">original paper</a> of Satoshi is a diagram of transactions.  This diagram seems to indicate that the transaction data is hashed <strong>before</strong> the sender's signature is appended.  Why not just hash the entire transaction, including the signature, to produce all-encompassing transaction hash?</p>

<p><strong>Update</strong>:  I want to highlight the comment by @David Schwartz on the accepted answer.</p>

<transactions><hash><satoshi-nakamoto>
Why does the hash come before the signature?
zkurtz
# Why does the hash come before the signature?

(Asked by: username_0 on 2014-04-15)

The first figure in the [original paper](https://bitcoin.org/bitcoin.pdf) of Satoshi is a diagram of transactions. This diagram seems to indicate that the transaction data is hashed **before** the sender's signature is appended. Why not just hash the entire transaction, including the signature, to produce all-encompassing transaction hash?

**Update**: I want to highlight the comment by @username_2 on the accepted answer.

**Tags:** transactions, hash, satoshi-nakamoto


---

## 1 answers

### Answer by username_1 on 2014-04-15. Score: 1 | Accepted answer

Because it would not have a function. The hash listed in the picture of the original whitepaper is just to make the signature shorter (and possibly the process of creating it faster) without losing security, its only function is the authentication of a transaction, it is not used for anything else (or even stored).

To clarify, this is the diagram mentioned in the question:

![Transaction in the Satoshi whitepaper](https://i.sstatic.net/s6AsR.png)

> **Comments:**
> **username_0**: You seem to be implying that the original transaction (unencrypted) is not stored in the block chain.  If it were, one could plainly view all details of the transaction, including the signature and the message that it signs ...  
> **username_1**: Hm, I think I understood your question wrong, I'll edit the answer.  
> **username_0**: I'm marking this as the solution because it seems reasonable.  I would still be interested in seeing some references to support your claim.  If I understand correctly, you are claiming that the sole purpose of that hash is to shorten (and/or speed up) the signature.  (I assume then that these hashes have nothing to do with the tree of hashes that leads up to the Merkle root.)  
> **username_1**: That is correct. Take PGP (or GPG) for example, you almost never see someone signing an entire message, because this would add a considerably long overhead. Instead a hash of the data is constructed and signed to prove that the data indeed originated from some party, because with a secure hashing algorithm it is almost impossible to find an other piece of data that results in the same hash. Merkle roots have to with how transactions are represented inside blocks.  
> **username_2**: The algorithms used *can't* sign anything that exceeds the curve size. So you *must* hash before signing.  

---

