Fork
Forks of blockchains happen for a variety of reasons.
Two competing miners finding the next block for a blockchain at almost the same time causes a fork. The nodes cannot come to consensus on the current state of the network due to confusion on which miner found the block first.
Eventually, consensus is reached as additional blocks are added and the nodes sync up by verifying which chain is the longest and stop recognizing the shorter chain from the fork as valid.
Cryptoassets built on an open source code base can be forked to spin out competitors or used as the foundation for new projects.
For example SushiSwap forked Uniswap’s code base and made the minor tweak of lowering fees vs Uniswap to try and co opt its user base.
Uniswap itself was forked from Bancor. Building out its Automated Market Maker functionality from Bancor’s foundation and eventually surpassing it to become the largest decentralized exchange.
Fork’s often occur in the normal course of blockchain operations. Forks of this nature can be separated into two broad categories. Hard or Soft.
Hard Fork
Hard Fork’s occur when there is disagreement between two large user groups of an existing blockchain resulting in the decision by one group to defect and start a new chain.
Exhibit A, the Bitcoin / Bitcoin Cash split in 2017
The Bitcoin Cash hard fork from Bitcoin was prompted by a group of prominent early supporters of Bitcoin. They wanted to expand the block size from 1 MB to 8 MB so Bitcoin could handle increased transaction volumes. Making it a more feasible option for smaller dollar transactions.
This group lost out when the majority of the user base decided to adopt SegWit to more efficiently process blocks while keeping the block size at 1 MB.
In August 2017, in response to the Segwit decision. The 8 MB supporters hard forked Bitcoin and created the Bitcoin Cash network to implement their preferred block size.
Soft Fork
Soft Fork’s occur all the time in the normal course of a blockchain’s operation primarily for maintenance purposes, think bug fixes or other security enhancements and to install protocol upgrades for improved functionality.
Soft forks are non-mandatory and nodes can continue running older versions of a protocol and not impede the networks ability to reach consensus. However nodes running the newer version of the protocol will not accept blocks by the older version. Once a majority of nodes upgrade post fork remaining nodes will then typically need to upgrade to continue participating in the consensus process.
An example of a soft fork is Bitcoin’s Pay to Script Hash soft fork. The soft fork implemented multi-signature addresses on the bitcoin blockchain. A soft fork allowed for a smoother adoption process rather than dictating all nodes to update at a certain time. Potentially resulting in a chain split or security issues from non-updated nodes
Further Reading – Forks
A History of Bitcoin Hard Forks