A soft fork is a change to the rules of a blockchain that only narrows what counts as valid. Blocks produced under the new, stricter rules still look valid to nodes running older software, so the network can upgrade without forcing every participant to install new code at the same moment. Only the block producers, miners on Bitcoin, strictly need to enforce the change for it to hold.
The soft fork is the counterpart of the hard fork, which loosens or rewrites rules and leaves non-upgraded nodes behind. The broader idea of a chain diverging is described under Fork. Bitcoin has added most of its major features this way, including Pay-to-Script-Hash in 2012, Segregated Witness (SegWit) in 2017 and Taproot in 2021.
Soft fork in plain terms
Think of a building with a sign saying "no vehicles over four metres high". The owners decide to lower the limit to three metres. Old drivers who only know the four-metre rule still see every vehicle that gets in as legal, because anything under three metres is also under four. Nothing they believe is broken; there is simply a new, tighter rule they may not know about.
A soft fork works the same way. The new rules are a subset of the old ones, so older software keeps agreeing with the chain. Only the guards at the gate, the block producers, have to measure more carefully. People who want the new features update their own software when it suits them.
How a soft fork works
Each full node enforces the consensus rules it knows. A soft fork adds a restriction, often by giving meaning to something the old rules treated as "anyone can spend" or ignored. Old nodes accept these transactions because, to them, they are still valid; new nodes additionally check the new conditions. As long as most of the hashrate enforces the new rules, blocks that break them will be orphaned and the chain everyone follows obeys the stricter rules.
Because old nodes do not check the new rules themselves, they rely on the majority of miners for that part of validation. That is why soft forks are normally activated only once a large majority of block producers has signalled readiness.
Activation methods
Bitcoin's activation rules are themselves set out in Bitcoin Improvement Proposals:
- Miner signalling (BIP 9). Miners set bits in the block version field; the fork locks in when 95% of blocks in a 2,016-block retarget period signal support, or times out if they never do.
- User-activated soft fork (BIP 148). In 2017 some users proposed that their nodes would reject blocks not signalling SegWit from a fixed date, pressuring miners to adopt it.
- Speedy Trial. Taproot used a short signalling window with a 90% threshold, followed by a delayed activation at block height 709,632, reached on 14 November 2021.
Notable soft forks
- Pay-to-Script-Hash (BIP 16, 2012). Let users send to a short hash of a script rather than the full script, making multi-signature wallets practical.
- CheckLockTimeVerify (BIP 65, 2015) and CheckSequenceVerify (BIP 112, 2016). Added time locks that later made payment channels such as the Lightning Network possible.
- Segregated Witness (BIPs 141, 143 and 144, 2017). Moved signature data out of the part of the transaction used for its ID, fixing transaction malleability and effectively raising capacity. It activated at block 481,824 on 24 August 2017.
- Taproot (BIPs 340, 341 and 342, 2021). Introduced Schnorr digital signatures and a new output type that makes complex spending conditions look like ordinary payments when used cooperatively.
Advantages and criticism
Soft forks are prized for keeping a network together. Old wallets keep working, there is no second coin, and the risk of a replay attack that comes with a chain split is much lower. Communities with a conservative view of governance, such as Bitcoin's, therefore treat soft forks as the default way to change the protocol.
Critics raise three points. Non-upgraded nodes are silently downgraded: they accept blocks they cannot fully verify, which weakens the promise of independent validation. Soft-fork designs can be more complicated than a clean hard-fork change, as the SegWit debate showed. And because activation often depends on miner signalling, a small group of large mining pools can delay a change many users want, which is what led to the user-activated soft fork movement in 2017. Ethereum, by contrast, rarely uses soft forks and upgrades mostly through scheduled hard forks driven by EIPs.