What Is a Fork in Blockchain and Crypto?
A fork is a term used in open source projects when the source code is copied in order to start a new project. Open source means that anyone can view and contribute to the source code. The source code is all the lines of code that make up a software project. In the open-source world, forking happens all the time – every day.
Blockchains are often open-source projects that have many developers working on them. As the project grows disagreements sometimes happen about which direction the project should go. Since Blockchains require consensus among all parties before implementing any new ideas, some ideas with a passionate following might not make it into the blockchain.
In 2017, this situation caused Bitcoin to fork and Bitcoin Cash was created. This fork was due to differences among developers about how to scale and came at a time when Bitcoin was facing growing pains with transaction fees.
However, this was not the first time that Bitcoin forked. In 2011, Litecoin was created as a fork of the bitcoin source code. The main difference is Litecoin was not forked due to any disagreement about the direction of Bitcoin. In open-source software, forks happen everyday as a way to share and build on already built code. This was the path Litecoin took, taking Bitcoin’s source code and making improvements to build a new blockchain.
You might come across the terms hard fork, and soft fork discussed when this topic comes up. To understand these concepts, it is helpful to think of the blockchain as a literal long block of chains. A fork is basically an update to the blockchain. Anytime a fork happens, a new updated blockchain starts.
A soft-fork occurs when the update happens, and previous versions of the software (pre-fork) still work on the newly updated blockchain.
A hard-fork occurs when the update happens, and previous versions of the software (pre-fork) no longer work on the newly updated blockchain.
Remember, whenever a fork happens, it is an update to the existing blockchain. All network participants update their software and run the updated blockchain.