Earlier, we saw the fork in Bitcoin and how it is resolved. This article will deep dive into some significant forks in blockchain and understand them in detail. Access it here if you have missed the early piece on blockchain fork.

In the previous blog, we learned the blockchain branches are based on the split and its effect on the blockchain functioning. We will stick to a simple classification: soft forks and hard forks.

The example we saw in the previous article is a soft fork. Soft forks are branches in the blockchain caused due to specific changes which are backwards compatible. They do not result in splitting the blockchain permanently. Software upgrades are one example of a soft fork and are used to introduce new features or make the rules for creating new blocks stricter.

Let us see an example of a soft fork. Assume that some blockchain nodes want to decrease the block size limit from 1 MB to 0.5 MB. Nodes that apply the new rule set will produce blocks with a maximum size of 0.5 MB. Since these blocks are below the original 1 MB block size limit, they will also be accepted by nodes following the old rule (< 1.0 MB). Thus backward compatibility is ensured. However, blocks greater than 0.5 MB, produced by old rule nodes, will not be accepted by the new nodes.

Here, all the network nodes may not choose to upgrade their software to implement the “new rule”. But still, the “old rule” nodes will be accepting the blocks created by “new rule” nodes since it does not violate the old rules. However, the new rule nodes may not accept blocks generated by nodes applying the old rule set. So for a soft fork to work, the majority of the nodes should choose to upgrade.

A well-known example of the soft fork is Bitcoin’s SegWit. SegWit expanded as Segregated Witness aims to reduce the size of a bitcoin transaction, thereby allowing more transactions to be processed simultaneously. It introduces a new transaction type that moves the signature data to a separate data structure. Nodes that use the old rules cannot identify the new condition, and therefore, they will accept blocks created under the new regulations.

Now let’s see what results in a hard fork. Consider a variant of the block size problem discussed before. Let us assume that some blockchain node nodes want to increase the block size limit to 2 MB from 1 MB. Nodes applying the new rule set will produce blocks greater than 1 MB, but lesser than 2 MB. Since these blocks are above the original 1 MB block size limit, nodes will reject them following the old rule. But blocks that are less than 2 MB, produced by old rule nodes will be accepted by the new nodes. This is an example of a hard fork.

Hard forks are permanent changes caused due to significant upgrades in the underlying software or the consensus algorithm. Unlike soft forks, blocks created by “new rule”, nodes may get rejected by nodes following the old rules. Hard forks are not backwards compatible.

Bitcoin has gone through several hard forks, each giving rise to a new version of bitcoin currency: Bitcoin Cash, Bitcoin Gold and many more.

As depicted in the above figure, some of the main branches are forked again. The first significant bitcoin hard fork was Bitcoin XT (currently abandoned), which took place in 2014 to increase the block size from 1 MB to 8 MB to increase the transaction processing rate. Bitcoin Cash is another major hard fork that happened in August 2017. It increased the block size from 1 MB to 32 MB. In November 2018, Bitcoin Cash was further forked to form BitcoinSV .

In June 2016, the Ethereum blockchain faced an attack and $ 50,000,000 worth ETH tokens got transferred to the hacker’s account. Ethereum community proposed a fork to return the stolen fund. But some community members declined this proposal and formed the Ethereum Classic. Those who agreed with the forking decision is now part of the Ethereum blockchain. In August 2021, the London hard fork introduced an update that mainly aims to reduce transaction fees on the Ethereum platform and shift from Proof of Work to Proof of Stake consensus. Read more about Ethereum forks here. A quick reference of Ethereum updates is given below.

The status of a fork depends on its community support and stakeholders. Though forks are standard in public blockchain networks, an important thing to note is that only a slight majority of these forks have active communities, wallets, and value. Many others failed within a short period.

Unlike public networks, forks are comparatively less frequent in private blockchain networks. In the private network, both the number of participants and decentralization is lesser when compared to the public networks, decreasing the chances of forking.

The term fork is often used to denote any upgrade in the network initiated by developers or the crypto community. So do all changes in blockchain need forks? Need not.

If we need to make any updates that do not interfere with the block production validation process, it is not considered a fork since it does not bother the blockchain.

I hope this article helped you in understanding forks in blockchain.

References

[1]. Schär, Fabian. (2020). Blockchain Forks: A Formal Classification Framework and Persistency Analysis. 10.13140/RG.2.2.27038.89928/1.

[2] Yiu, Neo C.K.. (2021). An Overview of Forks and Coordination in Blockchain Development.