This guide explains BIP 116 MERKLEBRANCHVERIFY in plain English. It covers the problem behind the BIP, why it matters and whether the proposal is part of Bitcoin today.
TL;DR
- What it is: BIP 116 is a Draft soft-fork proposal for MERKLEBRANCHVERIFY, usually shortened to MBV. It would redefine NOP4 so a script could verify that supplied data or hashes belong to a BIP 98 fast Merkle root.
- Why it matters: BIP 116 proposes selective disclosure through a Merkle-membership opcode, but it remains an undeployed Draft. Correct evaluation depends on exact BIP 98 parsing, activation-aware consensus tests and strict separation between prototypes and spendable mainnet policy.
- Current position: BIP 116 is a Draft soft-fork proposal for MERKLEBRANCHVERIFY, usually shortened to MBV.
BIP 116 MERKLEBRANCHVERIFY in simple English
BIP 116 MERKLEBRANCHVERIFY: Traditional scripts can enumerate every possible spending branch with nested conditionals. Even unused branches consume witness or script space and can reveal contract structure.
Simple example
A node operator is checking BIP 116 MERKLEBRANCHVERIFY. Before activation, old nodes accept the opcode under historical rules. Upgraded nodes would impose extra failure conditions, making the change a soft fork.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- Consensus:
- The shared rules full nodes use to decide whether blocks and transactions are valid.
- Soft fork:
- A proposed tightening of Bitcoin rules that old nodes may not enforce themselves.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Commitment purpose
Traditional scripts can enumerate every possible spending branch with nested conditionals. Even unused branches consume witness or script space and can reveal contract structure. MBV proposes committing to a tree and disclosing only the selected elements and inclusion proof. Privacy improves only for branches that remain undisclosed; transaction amounts, timing, revealed scripts and later spending can still correlate users.
NOP4 soft-fork boundary
The proposal reinterprets an existing no-operation opcode. Before activation, old nodes accept the opcode under historical rules; upgraded nodes would impose extra failure conditions, making the change a soft fork. That compatibility pattern does not make an unactivated output safe. Miners and wallets must identify the exact network, activation state and script rules before constructing value-bearing transactions.
Stack contract
Execution requires a minimally encoded control value, a 32-byte root, a valid BIP 98 proof and enough input elements. One control bit determines whether supplied elements are double-SHA256 hashed or treated as 32-byte hashes. Stack order, minimal encoding, proof counts and exact lengths are consensus-critical. Tests must mutate each field independently and assert the precise rejection boundary.
How specialists test it
Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.
Applications and limits
The BIP describes large one-of-N key sets and honeypot-style commitments among possible uses. MBV verifies membership, not the meaning or safety of the member. A revealed policy script still needs execution semantics, resource accounting and signature rules. Key rotation, recovery, watch-only monitoring and hardware-wallet display remain application responsibilities.
Deployment and compatibility
The specification names a version-bits deployment, but its Draft text is not evidence of activation. Current nodes should reject any claim that NOP4 enforces MBV merely because experimental software supports it. A compatibility matrix must distinguish prototype branch, regtest configuration, signet experiment and Bitcoin mainnet consensus at a particular height.
How specialists test it
Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.
Frequently asked questions
What is the main point of BIP 116 MERKLEBRANCHVERIFY?
BIP 116 MERKLEBRANCHVERIFY: Traditional scripts can enumerate every possible spending branch with nested conditionals. Even unused branches consume witness or script space and can reveal contract structure.
For BIP 116 MERKLEBRANCHVERIFY, what should a beginner know about commitment purpose?
Traditional scripts can enumerate every possible spending branch with nested conditionals. Even unused branches consume witness or script space and can reveal contract structure.
For BIP 116 MERKLEBRANCHVERIFY, what should a beginner know about nop4 soft-fork boundary?
The proposal reinterprets an existing no-operation opcode. Before activation, old nodes accept the opcode under historical rules.
For BIP 116 MERKLEBRANCHVERIFY, what should a beginner know about stack contract?
Execution requires a minimally encoded control value, a 32-byte root, a valid BIP 98 proof and enough input elements.
Conclusion
BIP 116 proposes selective disclosure through a Merkle-membership opcode, but it remains an undeployed Draft. Correct evaluation depends on exact BIP 98 parsing, activation-aware consensus tests and strict separation between prototypes and spendable mainnet policy.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.