Posted by Ava Chow
Jul 18, 2025/22:46 UTC
In a recent exchange on the Bitcoin Development Mailing List, Greg Maxwell responded to a proposal, highlighting concerns regarding the flexibility and functionality of witness programs in the deployment of soft forks. Maxwell pointed out the distinct roles of witness versions 0 and 1 in determining consensus rules, particularly how they interact with the size of the witness program. He emphasized that both Pay to Witness Public Key Hash (P2WPKH) and Pay to Witness Script Hash (P2WSH) addresses share the same witness version but are differentiated by their witness program sizes, which in turn dictate the application of different rules.
Maxwell further referenced Bitcoin Improvement Proposals (BIPs) 141 and 341 to underline his argument. While BIP 141 restricts the use of other sizes for version 0 witness programs, BIP 341 does not impose similar limitations on version 1, allowing for new rules to be applied to witness programs of various sizes under this version. This flexibility has been utilized in proposals like Pay to Anchor outputs, which employs a 2-byte witness program with version 1.
He criticized the idea of selecting witness versions based on mnemonics, arguing that it would undermine the ability to create new rules for differently sized witness programs using existing witness versions. Maxwell contended that relying on mnemonics would diminish their significance unless users were also expected to verify the length of addresses—a requirement he deemed unreasonable. This discussion underscores the intricate balance between innovation and user experience in the ongoing development of Bitcoin's technical framework.
TLDR
We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project?
Give Feedback