Glossary

BIP 9 (Soft Fork Activation)

2 min read

Bitcoin improvement proposal (BIP) 9 established a standard framework for activating soft fork upgrades to the Bitcoin protocol. Other methods for activating soft forks, such as BIP 8 and Modern Soft Fork Activation have since branched off from the BIP 9 proposal with the aim of improving on BIP 9’s perceived downsides.

Since upgrade activation is a consensus process, BIP 9 mostly describes decisions and actions that should be taken by the community, rather than proposing changes to how Bitcoin itself works. BIP 9 lays out the following process for activating a soft fork.

First, the version field of Bitcoin blocks are repurposed as a signaling mechanism for support for upgrades. The version field is 4 bytes long, so it contains 32 bits. A single bit is chosen as the bit for this upgrade.

Second, the community must decide on a start time and duration for the signalling period. During this period, miners will signal their support for the upgrade by setting the chosen bit to 0 or 1 in any blocks they mine.

By examining the chosen bit of each block mined during the signalling period, we can calculate the percentage of miners who support the upgrade, weighted by hash rate. If, during the signalling period, 95% of blocks signal support for the upgrade, the upgrade will be considered “locked in”. At that point, the upgrade will be activated after a short period of time. This delay is meant to give other nodes and miners time to adopt the upgrade and prepare for any new features.

Key Fact: Because BIP 9 is used for soft fork activation and soft forks are by definition backwards-compatible, nodes and miners are never forced to upgrade.
Because BIP 9 is used for soft fork activation and soft forks are by definition backwards-compatible, nodes and miners are never forced to upgrade.

If the 95% threshold for miner support is not reached during the signalling period, the upgrade activation fails. Thus, BIP 9 puts most of the control over upgrade activation in the hands of miners. BIP 8 and other upgrade methods were created to give nodes more control over upgrade activation.