Author: Pieter Wuille 2016-02-01 16:55:03
Published on: 2016-02-01T16:55:03+00:00
In an email thread on the bitcoin-dev mailing list, Peter Todd discussed upgrade procedures associated with segregated witnesses. He suggested adding a new service bit such as NODE_SEGWIT and/or bumping the protocol version so that outgoing peers only connect to peers with segwit support. However, this fix doesn't address the problem of relaying more block data in the future, which will require another soft-fork upgrade. This means that even systems like the relay network will have to upgrade, even if they don't care about the contents of blocks. To address this problem, Todd proposed making the witness data more extensible. He suggested using unvalidated block extension data, which would involve a backward-incompatible change to the current segwit change. The coinbase scriptSig would get a second number push that points to a 32-byte hash H. H is the root of a Merkle tree, whose leaves are the hashes of the coinbase witness's stack items. No restrictions would be placed on the rest of the stack items, allowing for future commitments. Todd also addressed concerns about miners using arbitrary data for non-Bitcoin purposes by suggesting a merkelized key:value mapping with collision-resistant IDs as keys.
Updated on: 2023-05-19T23:04:06.004338+00:00