BIP100 - Dynamic maximum block size by miner vote

Update: bip100.tech now follows votes on the Bitcoin Cash network Dec. 5th 2017

Loading miner votes...

Bigger blocks:
Keep size:
Smaller blocks:

75% of miners must vote for increase or decrease for a block size change to take effect.

  • Block size limit for period: Loading....
  • Maximum next size if voted-in: Loading....
  • Minimum next size if voted-in: Loading....

What is BIP100?

BIP100 replaces the static block size limit in Bitcoin Cash (BCH) and in Bitcoin (BTC) with a hard limit set by coinbase vote.

A simple deterministic system is specified, whereby a 75% mining supermajority may activate a change to the maximum block size each 2016 blocks.

Each change is limited to a 5% increase from the previous block size hard limit, or a decrease of similar magnitude.

View BIP100 - Full Specification

What does a vote look like?

Voting is done in the coinbase transaction. A BIP100 vote for 32MB looks like this:

/BIP100/B32/

If there is no BIP100 vote, then a EB will be counted as a vote. So /EB32/ is also a vote for 32MB (and a promise to accept 32MB blocks).

This allows both BIP100 vote and EB signal to be present, so a BIP100 miner may publish

/BIP100/B32/EB16.1/

meaning that he votes for 32MB, but currently accepts block of size 16.1MB.

Media

When can we have max block size limit at 16MB? 32MB?

This formula can be used to estimate how fast the block size can be increased:

n = c * 1.05^p

Where n is new limit, c is the current limit and p is number of vote periods. Each period is approximately two weeks.

Examples, given that current limit is 8MB (current BCH limit). Numbers are rounded up:

New limitVote periodsWeeks
16MB1530
32MB2958
64MB4386

Examples, given that current limit is 1MB (current BTC limit). Numbers are rounded up:

New limitVote periodsWeeks
2MB1530
4MB2958
8MB4386
32MB72144
64MB86172

Compatible with Emergent Consensus

BIP100 is compatible with emergent consensus, but whereas under that system a miner may choose to accept any size block, a miner following BIP100 observes the 75% supermajority rule, and the 5% change limit rule.

When running a non-BIP100 emergent consensus node, you keep consensus with BIP100 by:

  • Having the EB setting larger or equal to BIP100 block size limit.
  • Miners must not produce blocks bigger than BIP100 allows for.

Nodes implementing BIP100

BIP100 is implemented and released with Bitcoin XT. In addition, BIP100 has been implemented for Bitcoin Unlimited and as a patch on top of Bitcoin Core 0.12.

Why Core 0.12? This was the last Core version without segwit code. At the time it was uncertain if segwit would acteivate. It is straightforward to combine BIP100 and segwit if needed.