bitcoin-dev

[BIP] Normalized transaction IDs

[BIP] Normalized transaction IDs

Original Postby Luke Dashjr

Posted on: November 3, 2015 20:48 UTC

In an email discussion, Christian Decker expressed interest in Luke's idea of having empty scriptsigs and shipping the signatures in external scripts but noted that the proposal uses on-the-fly normalization because there is no good way of relaying the external scripts.

Decker is open to suggestions for a better solution. Changing the network protocol is easy compared to making a permanent increase in UTXO set costs. The issue with malleability is not changing inputs/outputs, but rather that such changes invalidate later spends. To create an anti-malleable wallet, one would need to strictly enforce the no-address-reuse rule on payments received and rely only on the hash of that scriptPubKey+value for the input in subsequent transactions. This way, no matter what inputs or other outputs the transaction paying the address/invoice uses, the subsequent transaction ignores them and remains valid. This is not a mandatory change, but a possible upgrade for wallets to adopt in the future.