BitcoinMachine
TECHNICAL_DOC // BLOCKCHAIN / SOFT-FORK
SOFT
FORK
A fork/">soft fork is a backward-compatible tightening of Bitcoin's consensus rules — new rules are a strict subset of old rules. Old nodes continue to see new blocks as valid (they don't enforce the new rule but accept blocks that satisfy it). This allows upgrades without forcing all nodes to update simultaneously, as long as a majority of hashrate enforces the new rules.
RULE TIGHTENING — BACKWARD COMPATIBLE
Before soft fork: Old rule: OP_NOP5 is a no-op (does nothing, valid) After soft fork (BIP 65 — CHECKLOCKTIMEVERIFY): New rule: OP_NOP5 now enforces timelock logic Old node sees block with OP_CHECKLOCKTIMEVERIFY: → Interprets as OP_NOP5 → valid (old rule still satisfied) → Does NOT enforce the timelock check New node sees same block: → Enforces timelock check → valid (or invalid if CLTV fails) Key property: new-rule blocks are always valid under old rules → no chain split if majority enforces new rules The majority-hashrate miner side wins: If >50% hashrate enforces new rules: → Any violating block gets orphaned quickly → Old nodes follow the new-rule chain anyway
Major Bitcoin Soft Forks
HISTORY
Bitcoin has been upgraded exclusively through soft forks since its launch, preserving backward compatibility while adding significant new capabilities.
BIP 16 — P2SH (April 2012): OP_HASH160 <hash> OP_EQUAL now redeemable with scripts Old nodes: see P2SH as anyone-can-spend BIP 34 — Block height in coinbase (March 2013) BIP 65 — OP_CHECKLOCKTIMEVERIFY (Dec 2015) BIP 66 — Strict DER signatures (July 2015) BIP 112 — OP_CHECKSEQUENCEVERIFY (July 2016) BIP 141 — SegWit (August 2017): Witness data in new field — old nodes see outputs as anyone-can-spend (valid under old rules) Fixes transaction malleability BIPs 340/341/342 — Taproot (November 2021): P2TR output type + Schnorr + Tapscript Old nodes see P2TR as anyone-can-spend
TERMINOLOGY_INDEX
Soft Fork
A backward-compatible rule tightening. New blocks satisfy both old and new rules. No chain split required.
Rule Tightening
Soft forks restrict what is valid — new valid set ⊂ old valid set. Old nodes still accept new blocks.
BIP 9
Version-bits activation mechanism for soft forks via miner signaling threshold (95% over 2016 blocks).
UASF
User-Activated Soft Fork. Enforced by nodes (not miners) — used as leverage during SegWit activation.