bitcoin-dev

[BIP] Normalized transaction IDs

[BIP] Normalized transaction IDs

Original Postby Christian Decker

Posted on: October 22, 2015 11:54 UTC

The discussions surrounding the use of normalized transaction IDs within smart contracts with multiple signers have been ongoing.

The general consensus is that the BIP is an improvement for smart-contracts as well as the third-party modification scenario, but there is a cost involved. The increased UTXO size is due to the additional hash being stored per transaction with unclaimed outputs, and additional computations are needed for the normalized ID computation and swapping in of normalized IDs during verification. However, no additional coin lookups are needed as they are retrieved and cached anyway when verifying the transaction. Suggestions were made regarding treating singlesig transactions as 1-of-1 transactions and using Schnorr signatures for the new opcode, which would provide a multitude of advantages such as batch validation. Additionally, it was suggested that the bitmap of flags could be replaced with a simple version number, maintaining soft-fork semantics to build more future signing and verification methods. While these ideas are good and important, they should not be oversold, according to Gregory Maxwell.