Skip to main content

Version Bits | Bitcoin Glossary | Mapping Bitcoin

Version Bits

Desenvolvimento

Also known as: BIP9, version bit signaling

A mechanism (BIP9) that uses bits in the block header's version field to signal miner readiness for proposed soft fork upgrades. Version bits allow multiple soft fork proposals to be signaled and activated independently and simultaneously.

Overview

Version bits (defined in BIP9) is a deployment mechanism that allows Bitcoin miners to signal their readiness for proposed soft fork upgrades by setting specific bits in the block header's version field. This mechanism enables multiple independent upgrade proposals to be signaled simultaneously and provides a clear, measurable process for gauging miner support before activation.

How Version Bits Work

The block header's version field is a 32-bit integer. BIP9 reserves bits 0-28 for signaling, allowing up to 29 soft fork proposals to be tracked at once:

Block Header Version Field (32 bits):
┌──────────────────────────────────────┐
│ Bits 31-29: Must be 001 (BIP9)      │
│ Bit 28: Proposal A signaling        │
│ Bit 27: (unused)                    │
│ Bit 26: (unused)                    │
│ ...                                 │
│ Bit 1:  Proposal X signaling        │
│ Bit 0:  Proposal Y signaling        │
└──────────────────────────────────────┘

Example: SegWit used bit 1
         Taproot used bit 2 (via BIP8/Speedy Trial)

Activation Process

Each BIP9 deployment follows a defined lifecycle:

  1. Defined: The proposal is specified with a start time, timeout, and assigned bit number.
  2. Started: After the start time, miners begin signaling by setting the assigned bit in blocks they mine.
  3. Locked-in: If 95% (or another threshold) of blocks in a 2016-block retarget period signal support, the upgrade is locked in.
  4. Active: After one additional retarget period, the new consensus rules become enforced.
  5. Failed: If the timeout passes without reaching the threshold, the proposal fails and the bit is freed.

Evolution of Activation Methods

BIP9 was used for SegWit activation but proved controversial because it gave miners veto power over consensus changes. This led to alternative mechanisms:

  • BIP148 (UASF): Users threatened to reject blocks not signaling for SegWit, applying economic pressure on miners.
  • BIP8: An enhanced version of BIP9 with an optional "lock-in on timeout" (LOT=true) that forces activation if the timeout is reached.
  • Speedy Trial: A variant used for Taproot activation with a shorter signaling window and higher confidence that miner adoption was already widespread.

Common Misconceptions

Miner signaling via version bits is not a "vote" in a democratic sense. It indicates technical readiness rather than political preference. Miners signal to coordinate the timing of activation, not to decide whether an upgrade should happen. Ultimately, it is the nodes enforcing consensus rules that determine what constitutes a valid block.