11 July 2020
Blockchain, as a decentralized network, relies on consensus for operations. Nodes in the network have to be in agreement for any process to occur. For example, the verification process in the network demands consensus.
Sometimes disagreements occur. Such disagreements sometimes lead to something known as blockchain fork. There are generally two types of forks, a hard fork and a soft fork.
In this article, we take a look at the difference between hard and soft fork. But, before delving into the differences, let us first understand what a fork is.
So, what is a fork?
A blockchain fork is a software update that can result in the split of a blockchain network. It can lead to the creation of an alternative version of a blockchain.
While there are several reasons for a fork to occur, the main reason is to modify the digital currency source code in question. As the blockchain network is open source software with freely accessible code, any developer can propose improvements and change.
What is a soft fork?
A soft fork is a software upgrade that is backward compatible with previous versions of the software. This means upgraded nodes can still communicate with non-upgraded nodes. Nodes don’t need to upgrade to maintain consensus.
A soft fork allows all participants to operate on the network. People using the old version can still make a transaction but won’t be able to enjoy the features and functionality of the new version.
There are two types of soft fork:
Miner Activated Soft Fork (MASF)
This is a fork in which miners have the option of accepting the new update or not. Miners can activate the soft fork using their hash power. They can make a change in the bit number of blocks they are mining. If they reach a certain number of mined blocks with the new version of bit numbers, the entire node can enforce the new consensus rules.
User Activated Soft Fork (UASF)
Here, the nodes (users) activate this soft fork at a specified time. The changes occur on a set date and time. All the nodes are required to implement the new consensus rules. They also need to reject all the blocks and transactions that do not adhere to these new rules. Despite this, miners can decide whether or not to apply the new update, and the nodes can accept or reject their work. However, in doing so, miners also risk losing the resources used to find the block.
Examples of a soft fork
- Bitcoin Segwit adoption: a soft fork on Bitcoin’s transaction signatures
- Bitcoin Improvement Proposal (66): a soft fork on Bitcoin’s signature validation
- Pay to Script Hash (P2SH): a soft fork that resulted in lower transaction fees for senders.
What is a hard fork?
A hard fork is a software upgrade that is backward incompatible. This means new nodes can only communicate with others that operate the new version. Network participants will have to upgrade to the new software version if they want to continue using the same blockchain.
A hard fork, unlike a soft fork, results in two separate networks. There is one with the old rules and another with the new rules. Participants can choose either of the two.
There are two sub-categories of a hard fork:
Planned hard fork
A planned hard fork is a predetermined software upgrade to a protocol. It is an upgrade that had already been made clear by developers. A high degree of consensus among all stakeholders is usually reached before the hard fork occurs.
Contentious hard fork
A contentious hard fork occurs due to disagreements between various stakeholders in a project. It usually happens because one group believes in the proposed changes or improvements, and another sees no need for the changes.
Examples of hard forks
- Segwit2x: A hard fork from the first Segwit. It was a contentious hard fork that aimed to double the size of the block limit. It failed.
- Bitcoin Cash hard fork: Bitcoin Cash hard fork had the same goal as Segwit2x. To increase the block size from 1MB to 8MB, allowing participants more transactions with lower fees. It was a contentious hard fork.
- Monero hard fork: in 2017, Monero conducted a hard fork to upgrade and introduce a new feature called the Ring Confidential Transaction or RCT. the feature enhanced the privacy and security of the network. The hard fork was planned.
In Conclusion: Hard Fork vs Soft Fork
Hard and soft forks are essential in the long-term success of blockchain networks. They enable upgrades in a decentralized system, despite the lack of a central authority. While both forks create a split, in a soft fork only a single blockchain remains valid. On the other hand, a hard fork results in two blockchains that exist side by side.