Blockchains are called blockchains because they’re literally made up of blocks of data, linked together forming an ever-increasing chain that can be traced all the way back to the first-ever transaction on the network. The best way to picture it is a constant moving long train which increases an additional carriage whenever the train moves.
Blockchains are open-source computer codes. They rely on their communities to maintain and develop their underlying code. All parties need to use common rules to maintain the history of the blockchain.
When parties are not in agreement, alternative chains may emerge. A fork happens whenever a community makes a change to the blockchain’s protocol, or basic set of rules. The changes are usually programmed to take place at an agreed specific block in the future. A fork is basically a split in the original block chain, whereby 2 blockchains that shares all their history heads off in 2 different direction (following 2 different set of protocols) after the split at a specific block.
Why are Blockchain Forks important
Most digital currencies have independent development teams responsible for changes and improvements to the network, much in the same way that changes to internet protocols allow web browsing to become better over time.
A fork can have the following outcomes on a blockchain or cryptocurrency:
- Adding new features to the blockchain
- Reverse the effect of hacking
- Avert catastrophic bugs on the blockchain
- Resolve disagreement between communities
- Create an entire new coin or ecosystem
Common Types of Blockchain Forks
Hard Fork
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 permanent split can occur. The result is 2 different blockchain with an identical history before the split.
Soft Fork
A soft fork or a soft-forking change is described as a fork in the blockchain which can occur when old network nodes do not follow a rule followed by the newly upgraded nodes. The result is a single blockchain because the changes are backward-compatible with the pre-fork blocks. This could cause old nodes to accept data that appear invalid to the new nodes or become out of sync without the user noticing.
Accidental Fork
Unlike hard fork or soft fork, an accidental fork happens unintentionally 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). Accidental forks are always occurring as long as there are large number of miners mining for the next block.
Examples of Well-Known Cryptocurrency Forks
Ethereum was hard forked in 2016 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.
Bitcoin had a hard fork in 2017, which resulted in a split creating Bitcoin Cash. The network split was mainly due to a disagreement in how to increase the transactions per second to accommodate for demand. Bitcoin Cash later hard forked again into Bitcoin SV.