bitcoin-dev

[BIP] Normalized transaction IDs

[BIP] Normalized transaction IDs

Original Postby Christian Decker

Posted on: October 21, 2015 08:31 UTC

In an email exchange between Luke Dashjr and Christian Decker on October 21, 2015, the issue of malleability in Bitcoin transactions was discussed.

Christian suggested that the use of sighash flags that are not SIGHASH_ALL is a remaining venue for malleability. However, Luke argued that signer malleability is still a notable concern needing consideration, as wallets should be trying to actively CoinJoin, bump fees on, etc any pending transactions in the background. He proposed specifying flags upfront in the UTXO-creating transaction specifying which parts the signature will cover, allowing implementation of fully malleability-proof wallets. Christian asked how signer malleability is still a problem if signatures are removed from the transaction ID of the transaction and all preceding transactions. Luke responded that it is still possible to double-spend transactions that do not have enough fees, so starting a new round of CoinJoin is sufficient to bump fees for all parties that participate, and that would also result in the double-spent low fee transaction to be discarded, resolving the state of all coins in the first CoinJoin tx.