In blockchain, a fork is defined variously as:
- “what happens when a blockchain diverges into two potential paths forward”
- “a change in protocol” or
- a situation that “occurs when two or more blocks have the same block height”
Forks are related to the fact that different parties need to use common rules to maintain the history of the blockchain. When parties are not in agreement, alternative chains may emerge. While most forks are short-lived some are permanent. Short-lived forks are due to the difficulty of reaching fast consensus in a distributed system. Whereas permanent forks (in the sense of protocol changes) have been used to add new features to a blockchain, to reverse the effects of hacking, or catastrophic bugs on a blockchain as was the case with the bitcoin fork on 6 August 2010 or the fork between Ethereum and Ethereum Classic.
Types of forks
Forks can be classified as accidental or intentional. Accidental fork happens when two or more miners find a block at nearly the same time. The fork is resolved when subsequent block(s) are added and one of the chains becomes longer than the alternative(s). The network abandons the blocks that are not in the longest chain (they are called orphanedblocks).
Intentional forks that modify the rules of a blockchain can be classified as follows:
A hard fork is a rule change such that the software validating according to the old rules will see the blocks produced according to the new rules as invalid. In case of a hard fork, all nodes meant to work in accordance with the new rules need to upgrade their software.
If one group of nodes continues to use the old software while the other nodes use the new software, a split can occur. For example, Ethereum has hard-forked to “make whole” the investors in The DAO, which had been hacked by exploiting a vulnerability in its code. In this case, the fork resulted in a split creating Ethereum and Ethereum Classic chains. In 2014 the Nxt community was asked to consider a hard fork that would have led to a rollback of the blockchain records to mitigate the effects of a theft of 50 million NXT from a major cryptocurrency exchange. The hard fork proposal was rejected, and some of the funds were recovered after negotiations and ransom payment. Alternatively, to prevent a permanent split, a majority of nodes using the new software may return to the old rules, as was the case of bitcoin split on 12 March 2013.
In contrast to a hard fork, a soft fork is a change of rules that still creates new blocks recognized as valid by the old software, i.e., it is backwards-compatible. As for a hard fork, a soft fork can also split the blockchain when non-upgraded software creates blocks not considered valid by the new rules
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.