A soft fork is a backward-compatible change to a blockchain's protocol rules meaning nodes running the old software can still participate in the network and consider new blocks valid, while nodes running the updated software enforce the new, stricter rules. Soft forks tighten the rules rather than change them in a non-compatible way.
HOW SOFT FORKS ACHIEVE BACKWARD COMPATIBILITY
The key insight is that soft fork rules are a strict subset of old rules: blocks valid under new rules are also valid under old rules. But blocks valid under old rules may NOT be valid under new rules. Old nodes (not upgraded) see new-format blocks and consider them valid; they can still process and relay them. New nodes enforce the new stricter rules and reject any blocks violating them. As long as the majority of miners upgrade, the new rules are enforced on the network old nodes follow along without realising the rules changed.
MINER SIGNALLING AND ACTIVATION
Soft forks require miner adoption to enforce new rules.
Bitcoin Improvement Proposals (BIPs) specify activation mechanisms:
BIP 9 (Version Bits): Miners signal readiness by setting specific bits in block version fields. When a threshold (typically 95%) of blocks in a 2-week period signal readiness, the soft fork activates.
Speedy Trial / Taproot Activation: A modified mechanism used for Taproot (BIP 341) a lower threshold over a longer period with a defined activation height.
FAMOUS BITCOIN SOFT FORKS
SegWit (BIP 141, August 2017): Reorganised transaction format to move witness data outside the main transaction, increasing effective block capacity and fixing transaction malleability.
Taproot (BIP 341, November 2021): Introduced Schnorr signatures, MAST (Merkelized Abstract Syntax Trees), and Tapscript, improving privacy, smart contract efficiency, and multi-signature elegance.
P2SH (BIP 16, 2012): Enabled more complex spending conditions (multi-sig) using scripts a foundational soft fork.
SOFT FORK VS. HARD FORK
Soft forks: backward-compatible, lower disruption risk, cannot add new features that old nodes would reject.
Hard forks: non-backward-compatible, can implement any change, risk creating permanent chain splits.