Introduction to Forks
Similarly to most successful software products, crypto assets require iterations to the code to:
Fix issues and bugs in code
Add new functionality
In software, we see this done via downloadable software updates. In the open-source world of crypto, this is done via a process called ‘Forking’. As ‘Layer One’ crypto assets are primarily decentralised, they require all the active participants in the network that can be referred to as “nodes” (miners & validators) to follow the same specific set of rules to function. These sets of regulations combine to be known as the network’s “Protocol”. A Protocol will typically define the following constraints for the blockchain:
Block-size (MBs) on the blockchain that is for mined/validated in the mem pool
The size of the miners’ reward and how it is distributed
The hardware required for running nodes or mining rigs
Entitlements for native token holders/participants
Soft Fork vs Hard Fork
As mentioned above, ‘Forking’ is a mechanism for updating a ‘Layer One’ crypto-asset protocol. It occurs by creating a new chain that is ‘branched’ from the original. The branched blockchain is termed the ‘Fork’, and a new protocol will then govern this blockchain. There are two distinct methods. A ‘Layer One’ asset can be forked, either by a “Hard Fork” or a “Soft Fork”. Details of both are listed below:
A ‘Soft Fork’ is a change to the network that is ‘backwards compatible’, meaning old nodes that were running before the change will still be able to participate (update to) the new change, as long as they abide by the new subset of rules. If the non-upgraded nodes produce blocks that do not abide by the new set of rules they will not be recognised.
A ‘Hard Fork’ changes the network so that it is non-compatible with its original network protocol. All un-updated node transactions will not be valid on the new chain rendering it in-computable on the new forked chain until configured properly. A necessary consequence of a hard fork is the duplication of all previous transactions and balances carried onto the new chain. ‘Hard Forks’ can be controversial or non-contentious.
Suppose the ‘Hard Fork’ is controversial, meaning the fork results from opposing ideals from developers. In that case, the newly created fork will duplicate all the previous transactions and wallet balances from the original chain. The first block after the fork will now record a brand new version of the crypto asset native to the forked chain. Any developer can fork an open-source blockchain; however, the strength of that fork compared to the original networks will depend on participation from new and existing communities. Two examples of controversial hard forks are; the Bitcoin Cash (BCH) fork and the Ethereum Classic (ETC) to Ethereum (ETH) fork.
Bitcoin Cash Fork
The BCH fork occurred in August 2017 and was due to a subset of developers wanting to increase Bitcoin’s block size. This change was designed to increase Bitcoin’s efficiency as a peer to peer currency by allowing more transactions per block. Today 1 BCH is worth 1.45% of a Bitcoin, which is a steep drop from its previous all-time high, which saw a ratio of 26.2% in December of 2017. One of the main causes for the substantial decline is illustrated in our previous blog post ‘How the Bitcoin Cash Split Unfolded’. As most of the Bitcoin community favoured keeping block sizes smaller, Bitcoin Cash is now considered a less successful ‘Layer One’ crypto asset to Bitcoin. This sentiment expressed by the community is why we now refer to the most significant crypto-asset globally as a store of value asset, with many coining it as ‘Digital Gold’.
Ethereum (ETH) was created due to a hard fork. In this instance, Ethereum Classic (ETC) was not the forked chain but the original Ethereum chain. This fork resulted from the core developers’ response to the original Ethereum being hacked in the ‘The DAO Attack’. Instead of allowing the hackers the $60M in Ether of what was currently the mainchain, they forked the chain off and restored the lost funds to the victims of the attack on the forked chain. The portion of the community that retained the original log of transactions and balances from The DAO hack did not upgrade the software and continues on the original network, Ethereum Classic.
Non-Contentious Hard Fork
A ‘Non-Contentious Hard Fork’ is designed to implement protocol upgrades. These will likely have been stated on a project’s roadmap since their inception or, in Ethereum’s case, after switching the consensus method to Proof of Stake (PoS). A planned hard fork looks to upgrade and enhance the blockchain’s capabilities and features. As a result, the entire community, spearheaded by the core developers, will transition to the upgraded version of the blockchain.
An example of a less contentious hard fork (a minority of miners have been opposed to it) is Ethereum’s ‘London’ due on the 4th of August, block 12965000. The ‘London’ fork is part of Ethereum’s multi-phase upgrade plan as the network progresses to 100% Proof of Work and “Sharding’ as a scalability solution. Ethereum’s ‘London’ fork will introduce the following five Ethereum Improvement Proposals (EIPs) to the protocol: