<p>It is a hash of the transaction without the input scripts.  SIGHASH_ALL says all inputs and outputs are included in the hash.  These are the areas covered by the standard payment methods and they cannot be modified without invalidating the transaction.  One of the problems, though, is that there are other payment methods which do change the inputs and thus the normalized transaction ID would change in those cases.  But it does cover the common transactions.</p>

CC BY-SA 3.0
2014-02-17T14:53:06.567Z
2014-02-17T14:53:06.567Z
ScripterRon
<p>It's the same hash value that is signed by ESDSA (i.e., it's the "e" value used in the calculation of the signature's s value  s=(e+dr)/k</p>

CC BY-SA 3.0
2014-02-17T17:49:02.930Z
2014-02-17T17:49:02.930Z
Jim
<p>With the recent commotion around transaction malleability, it seems like the Bitcoin developers have been working on a semi-fix for it, called the normalized transaction hash.</p>

<p>It's implemented here in <a href="https://github.com/bitcoin/bitcoin/pull/3656#issuecomment-35055553">this pull request</a> by <a href="https://github.com/sipa">sipa</a>.</p>

<p>What is this hash and how is it different from the regular transaction hash? How can it be constructed? How does it try to solve the malleability problem?</p>

<transaction-malleability>
What is the normalized transaction hash of a transaction?
Steven Roose
# What is the normalized transaction hash of a transaction?

(Asked by: username_0 on 2014-02-14)

With the recent commotion around transaction malleability, it seems like the Bitcoin developers have been working on a semi-fix for it, called the normalized transaction hash.

It's implemented here in [this pull request](https://github.com/bitcoin/bitcoin/pull/3656#issuecomment-35055553) by [sipa](https://github.com/sipa).

What is this hash and how is it different from the regular transaction hash? How can it be constructed? How does it try to solve the malleability problem?

**Tags:** transaction-malleability


---

## 2 answers

### Answer by username_1 on 2014-02-17. Score: 2

It is a hash of the transaction without the input scripts. SIGHASH\_ALL says all inputs and outputs are included in the hash. These are the areas covered by the standard payment methods and they cannot be modified without invalidating the transaction. One of the problems, though, is that there are other payment methods which do change the inputs and thus the normalized transaction ID would change in those cases. But it does cover the common transactions.


---

### Answer by username_2 on 2014-02-17. Score: 0

It's the same hash value that is signed by ESDSA (i.e., it's the "e" value used in the calculation of the signature's s value s=(e+dr)/k


---

