<blockquote>
  <p>BIP 62 proposed to make transaction malleability impossible.</p>
</blockquote>

<p>No it didn't. It would have outlawed a <em>limited</em> number of <em>known</em> and <em>addressable</em> forms of malleability.</p>

<p>In particular, it did not prevent multisig transaction participants from just creating a new signature, malleating the transaction without invalidation. This type of malleability is trivial to perform, and breaks nearly every smart contract construction imaginable.</p>

<p>BIP62 was retracted because while it addressed some forms of malleability, it didn't and couldn't fix an equally bad one.</p>

<p>Instead, Bitcoin adopted BIP141 (Segregated Witness), which does not remove malleability, but makes it harmless. The transaction signatures just don't contribute to the txids anymore. Thus, while it is still possible to malleate transactions, doing so does not invalidate dependent transactions (as they refer to previous transactions using the txid). Other than BIP62, this solution applies to multisignatures as well, and also against all forms of non-discovered malleability.</p>

CC BY-SA 3.0
2017-12-20T22:01:54.000Z
Wow, the author of `BIP62` himself.  Apologies for the incorrect interpretation and the above makes much more sense.  Why not, however, just make everything immutable and not just the inputs, outputs, amount, etc?
lolololol ol
CC BY-SA 3.0
2017-12-20T22:05:40.643Z
How do you propose to make things immutable? The best thing that can be required is that all signatures are valid. If one signature is acceptable, how do you prevent _the same people_ from creating a different but equally valid signature?
Pieter Wuille
CC BY-SA 3.0
2017-12-20T21:33:47.207Z
2017-12-20T21:33:47.207Z
Pieter Wuille
<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki" rel="nofollow noreferrer" title="BIP 62">BIP 62</a> proposed to make transaction malleability impossible.  </p>

<p>Why was this retracted and why are miners allowed to change a transaction id? </p>

<p>Also, what does it mean when someone says <code>signatures cannot sign themselves</code>?  Is this implying we not only need a signature for the <code>transaction</code>, we need another signature for the <code>transaction + signature</code>?  </p>

<transactions><transaction-malleability><message-signing><relay>
Why are miners allowed to change a tx id?
lolololol ol
# Why are miners allowed to change a tx id?

(Asked by: username_0 on 2017-12-20)

[BIP 62](https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki "BIP 62") proposed to make transaction malleability impossible.

Why was this retracted and why are miners allowed to change a transaction id?

Also, what does it mean when someone says `signatures cannot sign themselves`? Is this implying we not only need a signature for the `transaction`, we need another signature for the `transaction + signature`?

**Tags:** transactions, transaction-malleability, message-signing, relay


---

## 1 answers

### Answer by username_1 on 2017-12-20. Score: 4 | Accepted answer

> BIP 62 proposed to make transaction malleability impossible.

No it didn't. It would have outlawed a *limited* number of *known* and *addressable* forms of malleability.

In particular, it did not prevent multisig transaction participants from just creating a new signature, malleating the transaction without invalidation. This type of malleability is trivial to perform, and breaks nearly every smart contract construction imaginable.

BIP62 was retracted because while it addressed some forms of malleability, it didn't and couldn't fix an equally bad one.

Instead, Bitcoin adopted BIP141 (Segregated Witness), which does not remove malleability, but makes it harmless. The transaction signatures just don't contribute to the txids anymore. Thus, while it is still possible to malleate transactions, doing so does not invalidate dependent transactions (as they refer to previous transactions using the txid). Other than BIP62, this solution applies to multisignatures as well, and also against all forms of non-discovered malleability.

> **Comments:**
> **username_0**: Wow, the author of `BIP62` himself.  Apologies for the incorrect interpretation and the above makes much more sense.  Why not, however, just make everything immutable and not just the inputs, outputs, amount, etc?  
> **username_1**: How do you propose to make things immutable? The best thing that can be required is that all signatures are valid. If one signature is acceptable, how do you prevent _the same people_ from creating a different but equally valid signature?  

---

