Author: Adam Back 2015-05-28 08:11:21
Published on: 2015-05-28T08:11:21+00:00
In a discussion about manipulating the merkle tree in Bitcoin, Christian Decker and Patrick Strateman agree that there is no need to misuse the version field. Decker states that there is enough variability in the merkle tree, including and excluding transactions, and even the scriptSig of the coinbase transaction, which influences the merkle root. He has a fundamental dislike of retroactively changing semantics and thinks that the version field should only be used for that purpose. Strateman argues that any reasonable micro-controller can build merkle tree roots significantly faster than necessary, with an RPi 1 model B doing 2451050 SHA256 ops/second. Sergio Lerner likes the idea but suggests leaving at least 16 bits of the version fixed as an extra-nonce to avoid miners using them as a nonce and interfering with the soft-fork voting system. In this way, miners could permute transactions in the block by permuting the internal merkle tree nodes at increasing depths, making the tree manipulations maximum depth independent and possibly even transaction-independent, depending on how much depth in the tree of hashes are permutation safe.
Updated on: 2023-06-09T21:34:32.223123+00:00