What is a fork in Blockchain?
A fork is a change to the protocol, or a divergence from the previous version of the Blockchain. When a new, alternative block is generated by a rogue miner, the system reaches consensus that this block is not valid, and this ‘orphan block’ is very soon abandoned by the other miners.
Forks in Blockchain are two types: Soft Fork and Hard Fork.
A soft fork is a software upgrade that is backwards compatible with older versions.
This means that participants that did not upgrade to the new software will still be able to participate in validating and verifying transactions.
It is much easier to implement a soft fork as only a majority of participants need to upgrade the software. All participants, whether they’ve updated or not will continue to recognize new blocks and maintain compatibility with the network.
A point to take note, however, is that the functionality of a non-upgraded participant is affected. An example of a soft fork is when the new rule states that the block size will be changed from the current 1MB (1,000KB) to 800KB.
Non-upgraded participants will still continue to see that the incoming new transactions are valid. The issue is when non-upgraded miners try to mine new blocks, their blocks (and thus, efforts) will be rejected by the network.
Hence, 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.
Hard forks refer to a software upgrade that isn’t compatible with older versions.
All participants must upgrade to the new software to continue participating and validating new transactions. Those who didn’t upgrade would be separated from the network and cannot validate the new transactions. This separation results in a permanent divergence of the Blockchain.
As long as there is support in the minority chain – in the form of participants mining in the chain – the two chains will concurrently exist. (example: Ethereum Classic and Bitcoin Cash)
Examples of Hard Forks
Ethereum had a hard fork to reverse the effects of a hack that occurred in one of their applications (called the Decentralized Autonomous Organization or simply, DAO).
However, a minority portion of the community was philosophically opposed to changing the Blockchain at any costs, to preserve its nature of immutability.
As Ethereum’s core developers and the majority of its community went ahead with the hard fork, the minority that stayed behind and didn’t upgrade their software continued to mine what is now known as Ethereum Classic (ETC).
It’s important to note that since the majority transited to the new chain, they still retained the original ETH symbol, while the minority supporting the old chain were given the term Ethereum Classic or ETC.
Bitcoin Cash is a cryptocurrency that is a fork of Bitcoin. Bitcoin Cash is a spin-off or altcoin that was created in 2017. In 2018 Bitcoin Cash subsequently split into two cryptocurrencies: Bitcoin Cash, and Bitcoin. Bitcoin Cash is sometimes also referred to as Bcash.
Bitcoin was forked to create Bitcoin Cash because the developers of Bitcoin wanted to make some important changes to Bitcoin. The developers of the Bitcoin community could not come to an agreement concerning some of the changes that they wanted to make. So, a small group of these developers forked Bitcoin to create a new version of the same code with a few modifications.
The changes that make all the difference between Bitcoin Cash vs Bitcoin are these:
Bitcoin Cash has cheaper transfer fees, so making transactions in BCH will save you more money than using BTC.
BCH has faster transfer times. So, you don’t have to wait the 10 minutes it takes to verify a Bitcoin transaction!
BCH can handle more transactions per second. This means that more people can use BCH at the same time than they can with BTC.
Ahmed Banafa, Author the Books: