A cryptocurrency fork is a mechanism of updating the software that governs the distributed network which segregates blocks as valid or invalid. The forking results in the creation of new protocols for cryptocurrency trading. The developers make the use of publicly available codes to adhere to dynamic market demands leading to the formation of new versions of the software.
Types of Forks
- Hard fork
It refers to a process of introducing a radical change in the blockchain protocols which validates the previously invalid blocks. With the hard fork coming into existence there is a permanent diversion from previous nodes to the newest ones. This diversion requires users to update themselves with the upgraded version of the software. Since hard fork is non-backward compatible means either all the users shall comply and upgrade themselves to the new network nodes or shall create separate blockchain entities to continue using the old protocol. It can be further categorized into the types which are as follows:
- Contentious Hard Fork: It is a non-reversible & non-backward compatible hard fork which occurs as a result of disagreement within the community. The major outcome of the contentious hard fork is the chain split.
- Non-contentious Hard Fork: Though it is a non-reversible and non-backward compatible hard fork too. But, it is the result of consensus from all the network nodes.
- Soft Fork
It is a protocol change where the old nodes do not comply with the upgraded nodes which may result in acceptance of invalid data to new nodes or desync without the user’s notice. Here, there is no requirement of completing switching to an upgraded version; the users can choose to apply the changes as per their accord. The implementation of a soft fork doesn’t necessarily invalidate previous blocks; all the old and new rules remain active. Since this is backward-compatible it can be reverted without any consensus from the community.
- Temporary Fork
In this fork, multiple miners tend to mine simultaneously which results in the creation of several new blocks due to disagreement. The temporary fork occurs because a finite time is required to propagate the complete blockchain network resulting in wider space for conflicts existence. Additionally, it comprises two or more blocks of the same height which consequently resolves them if any of the chains dies because of the dominance from another chain.
Workflow of Forks
The forking workflow is based on a branching model named Gitflow workflow which ensures the merging of feature branches into the project maintainer’s repository. This is a flexible format of working for the organic teams to collaborate securely and is considered the ideal workflow for open source projects. The workflow can be explained better considering the following steps:
- The process initiates with the developers forking the server-ended repository resulting in the creation of their own server copy.
- This generated server-side copy is cloned to local systems.
- Further, a Git-based remote path is added to the local clone for the official repository.
- With the creation of a new local feature, the required changes and commitments are made to the branch.
- The developed branch is then added to the own servers by pulling request from the new branch and forwarding to the official repository.
- Upon approval, the pull request is merged into the original server repository.
Why does the blockchain fork occur?
The blockchain fork owes its occurrence to the following reasons:
- Addition of new functionality: There is a periodic up-gradation in the blockchain code because being an open-source platform it is developed by several people. Therefore the need arises for the improvements and resolution of the problems, ideally by the introduction of a new version of the software with more advanced and sorted functionalities.
- Fix security issues: The concept of blockchain and cryptocurrency is still the new concept requiring an immense amount of research in the proper implementation of the technology. Therefore the versions are upgraded with better security fix each time to make the project highly acceptable one.
- Reverse transactions: With the high scale of malicious practices being conducted in the crypto space, the need of an hour is to establish strict execution protocols for the projects. One step towards this is reversing and declaring all malpractices in the environment as void.
Prominent forks in Crypto Ecosystem
- BTC/BCH hard fork – Bitcoin cash is a contentious hard fork that was created in August 2017 from Bitcoin’s fork. This has increased the number of transactions in the blocks by enhancing its block size to 32 MB unlike bitcoin being limited to 1MB.
- Ethereum classic Fork – The Ethereum Organization propagated the concept of Decentralised Autonomous Organization (DAO) which witnessed shortcomings in the crypto ecosystem. In order to bridge the gap, Ethereum favored hard fork to mitigate financial & goodwill loss. Contrary to this there was a segment of the group in disagreement with the notion of forking continued on the initial blockchain by forming Ethereum Classic.
- Ethereum Istanbul Hard Fork: It is a non-contentious hard fork which is the result of the 8th Ethereum forking in December 2019. This initiation of the network was named “network upgrade.” It is considered as an ultimate solution to the problems that existed with previous networks therefore named hard fork as all the existing protocols before this were declared invalid.
- SegWit: It is a soft fork based on Bitcoin blockchain which resulted in increased blockchain size by eliminating the requirement of signature data from the transactions. This removal provides a better scope for the addition of more updates as it frees up space.