bitcoin-dev

[BIP] Normalized transaction IDs

[BIP] Normalized transaction IDs

Original Postby Christian Decker

Posted on: November 5, 2015 09:38 UTC

The conversation discusses a possible solution to the normalization issue with upgraded and non-upgraded nodes in the Bitcoin network.

The proposed solution involves having a connected component of upgraded nodes that relay both the transaction and associated external scripts, which can be piggybacked on top of normal messages. Non-upgraded nodes will read the entire two-part message but only parse the classical transaction, dropping the external script. Validation rules for upgraded nodes will remain the same as before. To commit to the external scripts used during block creation, a new list of signature lists is shipped with the rest of the block following the transaction list, with non-upgraded nodes ignoring it as before. To ensure this solution works, there needs to be a long rollout phase before activation to minimize the chances of a cut in the network consisting of non-upgraded nodes partitioning the network and not forwarding the segregated witnesses. Additionally, the proposal by Peter Todd suggests using preferential peering with other RBF (replace-by-fee) nodes to ensure that at least some full-RBF peers are always connected. This approach could be used similarly in this situation. If everyone agrees that this is a better way to approach the normalization issue, they should start writing it up and see if they can get critical mass behind it.