Forking is a common occurrence in the blockchain space, with cryptocurrency projects often instituting changes or new rules to the code to meet certain developments. Cryptocurrencies can also fork as a result of disagreements over how to proceed with certain upgrades.
While the fork is a "split" to the blockchain, there are distinctions made between the two types of forks. A project can undergo a hard fork or a soft fork.
In this article, we look at cryptocurrency soft forks – what they are and what features distinguish them from hard forks.
You can read more about hard forks here.
In blockchain terms, a 'soft fork' refers to the introduction of 'backward compatible' changes to the protocol software. While it references the splitting of the main chain in the sense that nodes have two versions of the software to follow, it isn't leading to divergent chains.
By being backward compatible, a soft fork allows for something a hard fork doesn't: nodes running the old version of the software can still process new transactions that won't be rejected by nodes running the new version.
In this case, a soft fork allows both those that upgrade and those that don't to mine new blocks that are then added to the same blockchain. What does this mean? Typically, it means that a soft fork only seeks to add to the rules without removing the old ones.
A single blockchain has old nodes before the soft fork. When the changes come in, some nodes upgrade and now we have old and new nodes.
If a new node mines a block, all nodes on the network accept it and the chain continues to grow normally.
If an old node mines a new block, the new rules dictate that it is rejected as new nodes will not recognize it. So the old nodes need to upgrade or disappear.
The blockchain never truly "splits" and in most cases, all nodes eventually upgrade to the new rules. However, if some nodes still don't want to update, they can abandon the chain altogether or choose to "hard fork."
An example of a soft fork happened on the Bitcoin blockchain in 2017 just after the contentious block size issue that had split the blockchain into Bitcoin (BTC) and Bitcoin Cash (BCH).
Bitcoin developers introduced the Segregated Witness (SegWit) rule change that sought to retain the block size at 1MB but increase capacity for transactions by removing some information from the transaction details.
During the SegWit fork, the old nodes (those that didn't upgrade) were able to mint new BTC by verifying new transactions. Nodes eventually updated their software and the Bitcoin blockchain didn't split into two.
Blockchain projects implement soft forks when there's a need to upgrade the protocol software without having to split the cryptocurrency. The developers working on the changes in the code see to this by ensuring the changes are backward compatible.
A soft fork can also be used when a blockchain platform wants to introduce new transaction types to the network. For example, Bitcoin's original protocol provides for a peer-to-peer (P2P) electronic cash system. But Bitcoin isn't the only network in the industry and thus the need to cater to other transaction types not originally supported.
Developers and community members can also propose soft forks as a way of reversing an unintended hard fork. If a blockchain splits accidentally, new rules can require all nodes to upgrade and thus undo the old rules.
Soft forks play critical roles in a project's long-term roadmap. They allow blockchain networks to tweak their rules without breaking up the community or introducing a central point of failure.
A fundamental difference between a soft fork and a hard fork is the eventuality of the intended changes. While hard forks ensure backward incompatibility (old rules don't work with the new version), a soft fork allows for backward compatibility.
The hard fork requires that all nodes upgrade to the new rules or split. A soft fork doesn't have this requirement and will 0only need a majority of the nodes to upgrade for the longest chain to remain intact. In fact, a hard fork results in two different and distinct cryptocurrencies whereas a soft fork does not.
Blockchain technology and the projects in this space are still evolving, which is why changes are essential parts of that growth. While the community can fail to agree on changes to the protocol and thus split up, it so often happens that changes occur without the affected blockchain having to split in a hard fork. That is what soft forks are and they play an important role in scaling networks, introducing security patches and upgrades, and generally keeping the project in the development loop.