700 / 736ACTIVATE

Soft Fork Activation

BIP 8, BIP 9, and Speedy Trial

Soft Fork Activation is the coordinated move from released code to the point when upgraded nodes enforce stricter consensus rules; miner signaling measures readiness, not ownership of Bitcoin.

An activation mechanism defines parameters, state transitions, and the height from which validating nodes reject blocks that violate a new backward-compatible rule.

A soft fork narrows the valid block set, and new conditions are enforced only in ACTIVE. Released software, the start of signaling, and LOCKED_IN are not yet activation; the delay lets nodes, miners, wallets, and services upgrade. [2]

BIP 9 evaluates a version bit in 2016-block periods and moves through DEFINED, STARTED, LOCKED_IN, ACTIVE, and FAILED. Its original default threshold was 1 916 blocks, or 95 %; missing it before timeout leads to FAILED. [2]

BIP 8 uses startheight, timeoutheight, and minimum_activation_height instead of Median Time Past dates. Its lockinontimeout parameter adds an optional MUST_SIGNAL state and can guarantee LOCKED_IN no later than timeoutheight. [1]

With LOT=false, a deployment that misses its threshold by timeoutheight becomes FAILED. With LOT=true, the final period may reject too many non-signaling blocks; that choice changes chain-split risk and must be known before enforcement. [1]

BIP 8 recommends a threshold of 1 815 out of 2016 blocks, or 90 %, and at least one LOCKED_IN period before ACTIVE. Each soft fork still must publish its own parameters; the mechanism name alone defines no threshold or date. [1]

Taproot used a BIP 9 variant called Speedy Trial: bit 2, a threshold of 1 815 out of 2016 blocks, and fixed minimum activation height 709 632. It locked in and actually activated on mainnet at block 709 632. [3]

A block-header signal shows hashrate readiness to build compatible blocks; it is neither coin-weighted voting nor a rule for a node by itself. After activation, each validating full node follows the code and parameters it runs. [4]

To verify ‘activated’, check the exact BIP, release containing parameters, network, version bit, period, threshold, LOCKED_IN, and ACTIVE height. Taproot's outcome cannot automatically be applied to a proposal with different parameters. [4]

For the clearest picture, read this entry together with Soft Fork, BIP (Bitcoin Improvement Proposal), SegWit, Taproot, Consensus Rules, Blocksize War. The reverse links also lead from Schelling Point.

01Do miners vote on Bitcoin's rules?

Not in a legal or ownership sense. Signaling measures readiness in a specific mechanism; the validity of blocks is ultimately determined by rules run by validating nodes.

02What does LOT=true mean?

Lock-in-on-timeout in BIP 8 adds MUST_SIGNAL before timeout so the deployment reaches LOCKED_IN without an earlier threshold. Excess non-signaling blocks are invalid during that period for LOT=true nodes.

DOC · 001BIP 8 — Version bits with lock-in by heightSpecification DOC · 002BIP 9 — Version bits with timeout and delaySpecification DOC · 003BIP 341 — Taproot deploymentSpecification DOC · 004Bitcoin Core 0.21.1 — Taproot Speedy TrialPrimary
Revised: Source-first · No investment advice