What Is a Soft Fork?
In blockchain technology, a soft fork is a change to the software protocol where only previously valid transaction blocks are made invalid. Because old nodes will recognize the new blocks as valid, a soft fork is backward-compatible. This kind of fork requires only a majority of the miners to upgrade to enforce the new rules, as opposed to a hard fork that requires all nodes to upgrade and agree on the new version.
Understanding Soft Forks Usage
New transaction types can often be added as soft forks, requiring only that the participants (e.g. sender and receiver) and miners understand the new transaction type. This is done by having the new transaction appear to older clients as a “pay-to-anybody” transaction (of a special form) and getting the miners to agree to reject blocks including these transactions unless the transaction validates under the new rules. This is how pay-to-script hash (P2SH) was added to Bitcoin.
A soft fork can also occur at times due to a temporary divergence in the blockchain when miners using non-upgraded nodes violate a new consensus rule their nodes don’t know about.
Soft forks don’t require any nodes to upgrade to maintain consensus, since all blocks with the new soft forked-in rules also follow the old rules, therefore old clients accept them. Soft forks cannot be reversed without a hard fork since a soft fork by definition only allows the set of valid blocks to be a proper subset of what was valid pre-fork. If users upgrade to a post-soft fork client and for some reason, a majority of miners switch back to the pre-soft fork client, the post-soft fork client users would break consensus as soon as a block came along that didn’t follow their clients’ new rules. For a soft fork to work, a majority of the mining power needs to be running a client recognizing the fork. The more miners that accept the new rules, the more secure the network is post-fork. If you have 3/4 of miners recognizing the fork, 1/4 of the blocks created aren’t guaranteed to follow the new rules. These 1/4 blocks will be valid to old nodes unaware of the new rules, but new nodes will ignore them.
Soft forks have been used on the Bitcoin and Ethereum blockchains, among others, to implement new and upgraded functionalities that are backward compatible.