A fork is a technical term widely used in software engineering, which describes the process of using the original source code of a software and generating a different independent software package. Forking in cryptocurrency holds similar definition — a crypto software update during which alternative versions of the cryptocurrency protocols are created. Software code establishes the rules to which community should comply to if they want to continue using the platform: how big the block size is, what rewards do miners get, how transaction fees are generated and measured, so on and so forth. The difference between a regular software fork and a crypto fork is that the latter has a value system building in so that the occurring fork can reorganize the existing “wealth” distribution inside the crypto space.
As cryptocurrencies are open source and do not have a centralized governing power, a crypto community (a group of developers, miners, and users) is in charge of developing and upgrading the platform. As such, developers constantly create updates to improve and enhance network performance and fix prevailing issues. Another set of developers, called core developers tend to lead the protocol development by pushing through the latest software updates. However, core developers do not act as a centralized ruling power of the network, as the community retains the right to disagree with proposed changes and take an action against it. For example, if the community members are not satisfied with proposed protocols and choose not to conform with the updates they can go to a different direction and develop alternative versions of the code and fork the blockchain. There are two types of forks: soft fork and hard fork.
Hard Fork
The hard fork also known as the not-backward compatible fork is a permanent divergence in a software protocol update. Hard forks increase the set of transactions that are valid by introducing properties that make previously invalid features viable. This fork requires nodes to upgrade the latest version of a software code and comply with new rules, in order to participate in the network. Those who decide not to upgrade will keep working on a separate chain and exclude the blocks that comply with the new rule set; hence the chain will split into two branches. The fork is characterized as permanent because after split happens, the chains will separate forever and operate under different rules that are not compatible with each other. The original and upgraded chains will run in parallel, but it will not be possible to transfer funds between the two due to their mutually exclusive propositions. Hard fork protocol updates include proposed modifications around:
- Block size
- Policies against network abuse
- Consensus mechanism
- New opcodes
- Fixing bugs
The soft fork also known as the backward compatible fork is a temporary divergence in a software code update, which does not make previous rules obsolete. Consequently, this type of fork does not make it mandatory for every single node to comply with new rules by updating their systems, as soft fork principles are compatible with legacy rules. The soft fork is characterized by reducing the set of valid transactions as the rule set becomes stricter. When soft forking happens the nodes that comply with new tighter rules have to reject those blocks that are not considered valid under soft fork mandates. Additionally, even though soft fork does not demand all nodes to upgrade, it does require most of the miners to do so in order the soft fork to be recognized and new principles to be enforced. Soft fork chain splits are temporary because eventually all nodes are prompted to update their system — nodes complying with legacy rules will soon find themselves violating the new rule set that will result in the network rejecting the blocks they produce. This will prompt the nodes to update their software and join the ‘true’ blockchain. However, it has to be noted that if the majority of nodes do not comply with soft fork update then the winner blockchain will be the one where nodes use legacy rules; subsequently, the chain with new rules will eventually wipe out. Soft fork protocol updates include proposed modifications regarding:
- Segregated witness
- Check sequence verifier
- Cryptographic schemes
So, a fork is essentially a schism between the community of developers, miners, and users that is caused by an absence of consensus upon existing protocol modifications and an implementation of new properties. It is possible for both soft and hard forks to result in a chain split, which is two or more types of blockchains running at the same time with shared past until their governing mandates deviated from one another. Likewise, both forks can avoid the split; however, this is much more challenging for a hard fork as the nodes running on a hard fork are no longer compatible with legacy nodes.
The hard fork tends to be associated with more complications than the soft one. On the one hand, hard fork results in coin duplication or dual funds, as prior to the chain split every coin existing on the original blockchain gets duplicated, half of it staying on the original and another half transferring to the forked chain. This has been referred to as ‘free candy’, as the coin holder keeps the original coin and simultaneously receives the new coin in the same amount; hence the hard fork diverges not only the software but also the currency. Coin duplication has been a hot topic of debate in terms of should the duplicated money be officially recognized or not (some exchanges have refused to acknowledge this duplication). Additionally, the hard fork causes rivalry between the diverged groups — these communities will compete and try to persuade the public about which one of them holds more legitimacy and better represents ‘the original coin’; the fight over the bigger market share and network size will prevail, which can jeopardize the value of these coins.
One of the most famous hard forks that have occurred is a Bitcoin Cash — on August 1, 2017 a part of bitcoin community decided that they wanted to undertake drastic changes and introduce a new version of bitcoin blockchain protocol with larger block sizes; since not the whole community accepted the new rules, it diverged and two separate communities were established — Bitcoin and Bitcoin Cash.
Open source feature of cryptocurrency empowers users. Unlike the centralized networks, It does not limit a user to two options of either following the flow or opting out entirely; rather it allows for copying the code and generating a favorable rule set by forking the blockchain. However, forking is not as simple as it might sound like — behind the scenes a handful of political and economic problems arise, which splits up the community and instigates increased competition, which often might be accompanied by speculations and fraud.
© Panda Analytics, Inc.
2018