One of the key differences that make decentralized open-source projects stand apart from their centralized alternatives is the way they apply upgrades to their systems.
With traditional software, developers usually make new versions available for download on their websites or in application stores while it’s up to end-users to accept these upgrades or not.
With blockchain, things are different. Since distributed networks usually rely on a number of equal participants spread across different locations, there is no central command post to push the updates to the network. This makes upgrades implementation a rather challenging procedure, but not entirely impossible.
In this article, we are going to review the two most basic mechanisms that enable cryptocurrencies to upgrade: soft and hard forks.
What is a fork?
Simply put, a fork on the blockchain happens when some significant changes are applied to the code of a given cryptocurrency. As a result, some nodes supporting the network accept these changes while the others don’t and continue working the way they did before these changes took place. Thus, the project divides into two separate branches with each of them moving on in its own direction starting from this moment.
Such kind of interaction is inherent not only to cryptocurrencies but to practically all open-source projects. However, only the crypto industry implies that the forks can be segregated into soft and hard ones.
What is a hard fork?
Hard forks are associated with backward-incompatible changes. This means that the new rules applied to the network make it impossible for the nodes who have accepted them to communicate with those who haven’t. As a result, after the hard fork, the network splits and develops simultaneously in two different directions.
The hard forks may happen for different reasons. In some extraordinary cases, hard forks can be done after successful attacks on the networks. However, more often they help developers implement the changes that would make the network run more efficiently or eliminate the discovered security bugs.
Some examples of hard forks
Throughout the history of cryptocurrencies, many projects experienced hard forks, though not many have managed to survive the market fluctuations. Below, we have listed some of the most prominent examples of hard forks that have made their mark in the industry.
#1. Bitcoin Cash
As Bitcoin has been struggling with scalability issues since its early days, there have been many attempts to resolve this problem by increasing the block size. By doing that, developers hope to increase the network capacity and enable it to process a higher number of transactions per second.
As the community hasn’t been able to reach a consensus on this question, some bold projects dared to create their own hard forks based on Bitcoin’s open code. Launched by a group of independent developers as a hard fork of BTC, Bitcoin Cash features higher throughput indices but in fact, represents Bitcoin’s replica in all other aspects. So far, it has proved to be the most successful fork maintaining a high level of popularity throughout the years.
#2. More forks of Bitcoin
Bitcoin Gold, Bitcoin SV (aka Satoshi Vision), Bitcoin Diamond, and many other versions of Bitcoin have mostly worked on increasing the block size as well. However, none of them has been able to gain much popularity and stand the test of time. Out of all Bitcoin’s replicas, only Bitcoin Cash still occupies top positions as CoinMarketCap while others remain in obscurity.
#3. Ethereum Classic
After the ill-famous DAO hack that took place in June 2016 and resulted in a loss $150 mln in ethers, Vitalik Buterin made a decision to revert the network back to the state it was before the attack.
A couple of weeks later, some developers operating independently from each other in different parts of the world have decided to develop Ethereum the way it was before the network reversal. As a result, they have created a hard fork known as Ethereum Classic with an intention not to make any radical changes to its code and leave it in the “classic” state.
The project has proved to be not that perfect, though, as it has experienced a few successful reorganizational attacks throughout its existence.
#3. Frontier, Homestead, Metropolis, Serenity.
Backed by a few solid teams of developers, Ethereum has a steady roadmap aimed at removing its critical inefficiencies and eventually making it a universal platform to fuel the decentralized future. Its 4 core stages imply switching from PoW to PoS (accomplished in late November 2020) and the implementation of sharding to resolve the scalability issue.
What is a soft fork
Unlike hard forks, soft ones act more wisely as they enable the upgraded nodes to communicate with those who haven’t accepted the changes, i.e. they are backward-compatible. They can still accept the incoming information from the rest of the network, but they apply their own filter while processing it. Thus, they offer a choice to users and make the changes not that painful.
Also, with soft forks, it’s sufficient for the majority of nodes to accept the changes so that the upgrade was implemented across the whole network.
Some examples of soft forks
Initially invented for resolving the malleability problem of Bitcoin, Segregated Witness or shortly SegWit has also improved its scalability to some extent. It still exists in the form of a soft fork, however, at the time of writing, almost 80% of all transactions on the Bitcoin Network are already registered with SegWit.
#2. Bitcoin Improvement Proposals (BIP)
The community constantly strives to improve the network by making proposals on what could be changed on GitHub. Sometimes such proposals get sufficient exposure and are accepted by other developers resulting in soft forks. Thus, BIP 66 enabled the usage of multi signatures while BIP 174 suggested that transactions could be signed only partially.
Understanding the importance of forks
Since cryptocurrencies operate in the form of code, it is critical for such projects to update so as to eliminate vulnerabilities and help the system respond to new potential threats.
The overall novelty of the blockchain industry combined with the complexity of code underlying crypto-projects prompts tricky minds to constantly seek and find new loopholes. Without bug fixes, cryptocurrencies would not be able to take any significant market share due to security issues.
Though hard forks are usually accompanied with ferocious debates and sometimes are even capable of splitting the community, nonetheless they play an important role in the development of the industry.