Definition
BIP9, commonly called version bits, is a mechanism for activating Bitcoin soft forks by treating the 32-bit block header version field as a bitfield. Each pending soft fork is assigned one bit (from 0 to 28); miners set that bit in the blocks they produce to signal readiness, while the bit is used only for signaling and never to reject a block as invalid. This allows several proposals to be in flight at once without conflicting.
How activation progresses
BIP9 deployments move through defined states — DEFINED, STARTED, LOCKED_IN, ACTIVE, and FAILED — measured at each 2,016-block retarget boundary. If at least 95% of blocks in a retarget period signal the bit, the deployment locks in for one more retarget period and then becomes active. If a configured timeout passes without reaching the threshold, the attempt fails and the unused logic can be removed from later releases. The top three version bits are fixed to 001, so signaling values fall in the range 0x20000000–0x3FFFFFFF.
Limitations and successors
BIP9's reliance on a 95% miner threshold meant a minority of hash rate could indefinitely stall an otherwise popular change, a tension exposed during the SegWit deployment. This motivated alternatives: BIP8, which can force lock-in by block height regardless of signaling, and the "Speedy Trial" variant used to activate Taproot, which set a short, fixed signaling window.
Version bits is the signaling layer beneath most modern upgrades. See how it relates to community-driven UASF activation and the soft fork upgrade model more broadly.
In Simple Terms
BIP9, commonly called version bits, is a mechanism for activating Bitcoin soft forks by treating the 32-bit block header version field as a bitfield. Each…
