On the most basic level, blockchain forking can be described as a divergence into two different paths or protocols. Forks can short-lived or permanent, mutually compatible or incompatible.
Some of the blockchain limitations are so well known now that they have become a recurring topic of debates, which sometimes lead to blockchain forking. Propagation delay refers to the lag time between the point at which a node sends data and another node receives these data. As the data are passed from one node to another within the network, transactions can get lost. In some cases, false information is even transmitted. Stakeholders or nodes continuously suggest changes to the infrastructure to address this problem.
Forking, in simple words, implies divergence. This divergence can be temporary or permanent. It happens when a blockchain diverges or splits into a new branch as a result of a change in consensus or software protocols, for example, when a set of miners believe they can enhance the capabilities of the current blockchain. Forks occur on a specific block and every block following that block obeys the new rules implemented by the nodes.
Blockchain forking can happen in the following situations:
1. Anytime two miners mine blocks of the same height at nearly the same time.
2. Developers seek to change the rules the software uses to decide whether a transaction is valid or not.
Depending on the nature and the permanence of the change, the fork can be categorized as either hard fork or a soft fork.
Forks that go completely incompatible with older versions of the software are called “hard forks.” This incompatibility emerges because of the change in consensus measures like block size, block time or similar related features are implemented by the miners. A hard fork makes previously valid blocks and transactions invalid. Any transaction on the forked (newer) chain will not be valid on the older chain. All nodes and miners have to upgrade to the latest version of the protocol software if they wish to continue working on the new forked chain. For example, Ethereum’s upcoming Casper update will change consensus protocol rules as Ethereum begins its shift from proof of work (PoW) to proof of stake (PoS). This update will be a hard fork. Bitcoin XT, Bitcoin Classic, Bitcoin Unlimited, Bitcoin Cash, Bitcoin Gold, SegWit2x, Litecoin, Dash and Zcash are all the examples of cryptocurrencies that were generated after the hard fork on Bitcoin’s blockchain.
Contentious hard fork
SNot all hard forks are unanimously agreed on by the community of the nodes. A “contentious hard fork” occurs when significant numbers of miners disagree with the each other on which version of software to run. The Ethereum DAO hack, where US$ 55m were stolen from the Ethereum wallets, stirred a heated debate within the community. Many full nodes wanted to reverse the hack and return the stolen funds. However, many others argued that reversing the hack would fundamentally undermine the legitimacy of the blockchain. The community members who opposed reversing the hack eventually split off and formed a new blockchain, Ethereum Classic.
There are some forks that remain compatible with older versions of the software. “Soft forks” are software updates that still work on the original blockchain. What this means is that the new forked chain will follow new rules, but will also honor the old rules. The original chain will continue to follow the old rules exclusively. This kind of fork requires only that a majority of miners upgrade to implement the new rules. Bitcoin’s SegWit update is an example of a soft fork. When SegWit activated, a new class of addresses (Bech32) was created. But those using older P2SH addresses were not affected by the addition. As long as at least 51% of the hashing power switches over to the updated soft fork, it can be used. The older versions of the software will continue to work.
This article was originally published in Blocks99