BIP 109 Two-Megabyte Block Proposal: This guide explains BIP 109 Two million byte size limit with sigop and sighash limits 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 109 proposed a one-time hard fork from a one-million-byte to a two-million-byte block limit while retaining a 20,000-signature-operation ceiling through accurate execution counting and adding a 1.3-billion-byte signature-hashing limit. It used a 75 per cent miner trigger and 28-day grace period.
- Why it matters: BIP 109 paired a capacity increase with explicit CPU limits, but it still required a hard fork and coordinated rule adoption that did not occur. Its constants are historical test material, not present Bitcoin limits.
- Current position: The proposal is Closed and never became Bitcoin mainnet consensus.
BIP 109 Two-Megabyte Block Proposal in simple English
BIP 109 Two-Megabyte Block Proposal: Miners signalled bit 0x10000000. A triggering block required at least 750 of its preceding 1,000 blocks to signal, followed by 28 days before new limits applied.
Simple example
A node operator is checking BIP 109 Two-Megabyte Block Proposal. Failure to trigger before 1 January 2018 withdrew the proposal. The canonical serialised block limit would double from 1,000,000 to 2,000,000 bytes.
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.
- Mempool:
- A node’s changing local collection of valid, unconfirmed transactions.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Two-million-byte ceiling
The canonical serialised block limit would double from 1,000,000 to 2,000,000 bytes. That was a hard-fork expansion because an older validator would reject an otherwise valid oversized block. The apparently simple constant also altered propagation, storage, validation and stale-block economics.
Accurate sigop counting
The 20,000 limit would count signature checks actually executed rather than conservative static estimates. Coinbase scriptSig and unexecuted branches were excluded; CHECKMULTISIG cost depended on how far verification searched. Identical implementations needed matching script execution and invalid-encoding treatment.
Signature-hashing limit
A separate 1.3-billion-byte ceiling bounded data hashed while computing transaction signatures. This addressed quadratic-style CPU exhaustion in large transactions. Block bytes, executed signatures and hashed bytes measured different resources, so passing one limit did not imply a cheap block.
Activation and expiry
Miners signalled bit 0x10000000. A triggering block required at least 750 of its preceding 1,000 blocks to signal, followed by 28 days before new limits applied. Failure to trigger before 1 January 2018 withdrew the proposal. Signal arithmetic and timestamps were consensus-sensitive.
Old-node partition
The first block above the old size limit or accepted under changed sigop rules could separate legacy nodes. SPV wallets might continue following headers but would not prove that every economic validator agreed. Exchanges, pools and merchants needed branch-specific controls beyond counting signalling blocks.
Mining benchmark
Test worst-case script and signature-hashing shapes, compact relay with unequal mempools, validation on failover hardware and reindex. Accurate counting can admit scripts previously charged conservatively, so template builders and validators must share the same implementation and activation state.
Historical fork simulation
On a disposable network, reproduce the 749 and 750 signalling boundary, grace-period timestamp and expiry. Build blocks at every byte, sigop and sighash edge and show old-node rejection. Preserve exact binaries and fixtures, because current Bitcoin software does not implement BIP 109 as active consensus.
Frequently asked questions
What is the main point of BIP 109 Two-Megabyte Block Proposal?
BIP 109 Two-Megabyte Block Proposal: Miners signalled bit 0x10000000. A triggering block required at least 750 of its preceding 1,000 blocks to signal, followed by 28 days before new limits applied.
For BIP 109 Two-Megabyte Block Proposal, what should a beginner know about two-million-byte ceiling?
The canonical serialised block limit would double from 1,000,000 to 2,000,000 bytes.
For BIP 109 Two-Megabyte Block Proposal, what should a beginner know about accurate sigop counting?
The 20,000 limit would count signature checks actually executed rather than conservative static estimates.
For BIP 109 Two-Megabyte Block Proposal, what should a beginner know about signature-hashing limit?
A separate 1.3-billion-byte ceiling bounded data hashed while computing transaction signatures.
Conclusion
BIP 109 paired a capacity increase with explicit CPU limits, but it still required a hard fork and coordinated rule adoption that did not occur. Its constants are historical test material, not present Bitcoin limits.
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.