In layman terms, a hard fork in cryptocurrency refers to a radical and permanent change in the set of network participants agreed on to transact.
A hard fork is designed to change protocol rules. Hence, nodes running old versions of the protocol will be no longer be able to participate in the new chain. This usually happens when non-upgraded nodes can’t validate blocks compiled by upgraded nodes which follow the new set of rules.
Chain splitThe term “fork” derives from the two parallel chains that will exist as long as full-node operators keep running the old version of the protocol. Usually, nodes running old software will realize that their version of the blockchain is outdated and quickly upgrade catching up with the latest release.
A soft fork is a software upgrade that is backward compatible with older versions. This means that non-upgraded nodes will still be able to participate in the network. Everyone will still be able to validate transactions and maintain compatibility with the network as soft-forks don’t entitle such a drastic change in the protocol.
A note to make is that non-upgraded nodes will not be able to make use of the new features or might even experience reduced functionality.
For example, a block size reduction can be implemented through a soft-fork. Non-upgraded participants will still be able to validate incoming blocks as new blocks meet the old consensus rules. However, when non-upgraded miners attempt to broadcast blocks, the network will reject their blocks since they fail to meet the new standards.
The main two reasons for changing the codebase are:
Hard forks are usually planned and executed by the Project’s Core Dev Team. Sometimes, hard forks can be controversial. Let’s delve deeper into the differences.
Planned hard forks are scheduled in advance and are stated in the project’s roadmap. Usually, these forks are intended to enhance the blockchain functionality and the entire community looks forward to the upgrade. This will result in the abandon of the old chain and therefore this won’t entail the creation of a new cryptocurrency.
A clear example of planned hard forks are Monero’s bi-annual PoW change to deprecate ASICs from mining on the network. Another example is Zcash’s implementation of sapling which help to reduced transaction fees.
Controversial hard forks happen when there’s disagreement within the community on how the project should evolve.
Cryptocurrency software is open source, meaning that anyone is free to inspect, contribute or use the code. Therefore, any member of the community is able to alter the code and create a new chain or maintain the legacy chain.
The classical example of controversial hard forks is the Bitcoin Core vs Bitcoin Cash War where the community can’t agree on how Bitcoin should scale.
Blockchain technology is still in its infancy, therefore, developers are constantly finding ways the improve the core functionality. These upgrades require hard forks which are part of the soul of cryptocurrency projects.
Most hard forks are legitimate, while some have been outright scams. The nature of open-source code allows to have a voice in the community and empowers anyone to lead a project if they disagree with the actions taken by a coin development team. Is up to the community to determine which forks we back!