Forks are a crucial, yet often misunderstood, aspect of modern-day blockchain technology. While forks come in many shapes and forms, they tend to follow similar patterns and can be divided into various categories. This article will explain how forks work and in which categories they can be divided.
The basics of forks
A blockchain fork represents a (often significant) change in the underlying rules or software of a blockchain. When one of these changes happens the blockchain splits into two new and unique blockchains. How these blockchains are connected to each other depends on the kind fork. In general, forks can be divided into two main categories, soft forks and hard forks.
Furthermore, each node (a device running a certain blockchain’s software) on a blockchain needs to run the software of that blockchain in order to interact with that blockchain. A node running Bitcoin’s software is only able to interact with the Bitcoin blockchain. So, whenever a fork occurs, nodes have to choose which of the two blockchains they support.
The first kind of fork is a soft fork. Soft forks are changes to the rules or software of a blockchain that have backwards compatibility, meaning nodes that run the old software are still able to interact with the nodes that run the new software.
Suppose you are using Microsoft Word 2009 and want to open a document created with Microsoft Word 2019. This is possible because Word documents have backwards compatibility. The document created with the newer Word version might contain features that are not available yet in older versions of Word, this means that you might not be able to view or use these features in your older version of Word, so there is an incentive to upgrade to the newer version of the software. The same goes for upgrades to the blockchain.
“Soft forks represent a gradual upgrading mechanism as those who have yet to upgrade their software is incentivized to do so, or risk having reduced functionalities.” — Masterthecrypto
The second kind of fork is a hard fork. Just like soft forks, hard forks are changes to the rules or software of a blockchain. The main difference between the two is that hard forks do not have backwards compatibility. Nodes running the old software are not able to interact with nodes running the new software. Hard forks can be further divided into 3 subcategories, which we will explain below.
Planned hard forks
Planned hard forks are hard forks that have always been in the pipeline for certain projects. These forks are usually lead by the core developers of the project. For example, Ethereum’s Byzantium (a software upgrade meant to improve scalability and more) was a planned hard fork, as the upgrade has always been on Ethereum’s roadmap. This upgrade was a hard fork as the new software and rules were not compatible with the software and rules of the original blockchain
Planned hard forks are generally agreed upon and are very unlikely to result in two (new) active blockchains, as there is no incentive to use the original blockchain after the upgraded blockchain is launched.
Contentious hard forks
A contentious hard fork is the result of a (major) disagreement between community members. Usually, a certain part of the community wants to introduce a change in either the rules or software of a blockchain with which the other part of the community does not agree. The blockchain is then split into two new and incompatible blockchains. One blockchain will use the new software and/or rules while the other blockchain continues to use the old rules and software.
Because the forked blockchain contains all transactions of the original blockchain up until the fork, everybody will receive the same amount of tokens of the new blockchain as they have on the original blockchain at the moment of the fork. After the fork both blockchains will operate independently from each other.
Some of the most well-known contentious hard forks are Ethereum Classic, which is a fork of Ethereum that was created after the DAO hack, and Bitcoin Cash, which is a fork of Bitcoin that was created after a disagreement on the size of new blocks.
The last subcategory is ‘new blockchains’. Since the protocols of most blockchains are open source, people can take the code of a certain blockchain and change the code to better suit their needs. They can then launch their own blockchain with the code that is based on the code of another blockchain.
This process is similar to what happens when a contentious hard fork takes place, but the main difference is that the new ‘spin-off’ blockchain does not share any transactions or history with the original blockchain. Therefore, the developers of the new blockchain are free to choose how they distribute the tokens on the new blockchain. This also means that holding tokens on the original blockchain does not guarantee that you will receive tokens on the new blockchain.
A well-known example of a blockchain based on the code of another blockchain is Litecoin, which is based on the code of Bitcoin, but diverges from Bitcoin’s rules and software in various ways.
Forks will continue to be an important part of blockchains, as they not only allow blockchains to remain flexible but can also get used to resolve disagreements. Since new technologies are constantly being developed, blockchains will need to evolve as well. As a result of this forks will get used in the foreseeable future to suit the needs of the ever-changing blockchain landscape.
We are Blockgenic, a network of world class technology entrepreneurs and investors looking to make a positive impact on blockchain technology. You can find us here:
EOS Block Producer name: ‘blockgenicbp’