What do you mean by “fork”?
“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.
Let us look deeper into cryptocurrency to have a better understanding of cryptocurrency fork.
Cryptocurrencies basically work on the blockchain technology, which is a distributed ledger built of continuously expanding data blocks. The technology operates as a decentralized network, the system users have to agree to a set of rules for how transactions are verified and added to the blockchain ledger. This process is named as “consensus” and this is what forms the true record of the blockchain.
In simple words, “Fork” is a term used for a software or protocol update.
Why do Forks Occur?
Forks may occur due to different reasons and different scenarios. Let us look at few of the scenarios.
⦁ As a Solution to Technical Disagreements
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.
⦁ To Reverse Transactions
Two years back, that is in 2016, Ethereum had famously developed a smart contract called “The DAO” which was hacked and this cost the investors millions of dollars. Ethereum hard fork was a result of the hack of The DAO. To correct this incident, the community decided to roll back history and restore all the lost money, somehow not everyone voted to do the same. Therefore, we have Ethereum Classic today, it is the group that decided to stick to the original protocol and not adopts to the hard fork.
⦁ To Add New Features or Functionality
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 :
1. Hard Fork
The hard fork is a permanent split from the current version of the blockchain, with nodes of the new blockchain not interacting or acknowledging the nodes of the old version of the blockchain. Therefore, a hard fork is non-backward compatible.
The occurrence of hard fork takes place when a vast majority of miners or validators give a positive signal regarding the upgrade of the fork. This causes a split in the blockchain, wherein, one path moves in the direction of the new, upgraded version of the blockchain and other continues on the old path.
As seen in most of the cases, the ones using the old version will slowly come to the realization that the old version is becoming irrelevant and switch to the new one.
The hard fork itself is further divided into the contentious hard fork and non-contentious hard fork. The contentious hard fork is when one group wants to stick to the old version of the blockchain no matter what. For example, we have already seen Bitcoin Cash and Ethereum Classic splits. Both of these brought with them a good deal of acrimony and drama.
The non-contentious hard fork is when a upgrading to the new version was always a part of the development process. In this case, the community just upgrades to the new version and the old version dies without any support. The examples of these are Ethereum Byzantium and MoneroV.
2. Soft Fork
In contrast to the hard fork, the soft fork is backward compatible. Soft fork involves optional upgrades. In simple words, it means that the new forked chain will follow the new rules as well as honor the old rules.
Even in soft fork there are two versions of the blockchain. The difference being users who did not upgrade will still be able to participate in validating or verifying transactions. In this way, soft forks are much less restrictive.
Soft forks are easier than the hard fork because only a majority of nodes are required to sign on. We can actually look at the soft fork as a gradual upgrade mechanism as opposed to the stark, immediate change of a hard fork. Unlike hard fork, soft fork changes the existing code and aims to result in only one blockchain. Example of Bitcoin soft forks includes BIP 66 and P2SH.
Hard Fork and Soft Fork tend to create controversies of their own in the cryptocurrency world. This happens mainly because fork refers to change and on general basis, people do not like change as they are already comfortable with whatever is going on. A fork is an unavoidable change of the cryptocurrency at this point in time. Some of the changes are necessary and needed, whereas, others are unnecessary. The bottom line here is that they’re an integral part of a crypto community’s ability to self-audit and evolve.