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"[a]
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 orphaned blocks).
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.
- Alternatively, this situation is called a blockchain split or a blockchain divergence. If permanent, it is also referred to as a cryptocurrency split.
- Antonopoulos, Andreas (2017). Mastering Bitcoin: Programming the Open Blockchain (2 ed.). USA: O' Reilly media, inc. p. Glossary. ISBN 978-1491954386.
- Thieme, Nick (4 August 2017). "Bitcoin Has Split Into Two Cryptocurrencies. What, Exactly, Does That Mean?". Slate. Retrieved 8 March 2018.
- Croman, Kyle; Eyal, Ittay (2016). "On Scaling Decentralized Blockchains" (PDF). doi:10.1007/978-3-662-53357-4_8. Retrieved 28 March 2019.
- Jordan Pearson (14 October 2016). "'Bitcoin Unlimited' Hopes to Save Bitcoin from Itself". Motherboard. Vice Media LLC. Retrieved 17 January 2017.
- Oscar Williams-Grut and Rob Price (26 March 2017). "A Bitcoin civil war is threatening to tear the digital currency in 2 — here's what you need to know". Business Insider. Retrieved 2 July 2017.
- Lee, Timothy (12 March 2013). "Major glitch in Bitcoin network sparks sell-off; price temporarily falls 23%". Arstechnica. Archived from the original on 2013-04-22.
- Australia, bitcoin (12 July 2017). "A Simple Guide to Blockchain Forks". Retrieved 27 March 2019.