“Fork” is a phrase that describes any divergence in a blockchain protocol. A simpler way to understand it would be the scenario wherein split occurs. They are very common when it comes to computing software.
Example: Most of the altcoins have started with the codebase of “Bitcoin,” they have done it “fork” into their own version.
Forks may occur due to different reasons and different scenarios. Let us look at few of the scenarios.
The existence of Bitcoin Cash is as a fork of Bitcoin, which is due to the disagreement of Bitcoin’s scalability problems. Forking another version of the protocol was done because the influential investors, miners, and developers did not agree on the “Segregated Witness” (SegWit) solution which was proposed to increase the block size of Bitcoin. Some believe that the Bitcoin Cash is the real Bitcoin, whereas others believe that it is an impostor that co-opted Bitcoin.
Example of adding new features or functionality is Windows 10. It has been updated and is being improved continuously. The same applies to the blockchain software. Anyone can develop improvise the blockchain software as it is an open source. Anyone can go to GitHub, grab the code of a coin, and then do the development work needed to update the software. If the development work is good enough and is getting the support, then the update may be added to the next version.
When there is an occurrence of a fork, users will then have to choose which version of software they want to go with. The fork is divided into two types which are mentioned below :