The whole technology behind cryptocurrency can be hard to understand. Just when you think you’ve got them figured out, you hear the terms soft fork and hard fork. Forks are a common phenomenon in computing software and there’s been a lot of discussion of forks lately. But what are they and why are they so important? What’s the difference between a hard fork and a soft fork, and why are people so anxious about it?
In the context of software development, a fork is change to the software of the digital currency that creates two separate versions of the blockchain with a shared history. There are many different types of forks. So far, we know some forks are planned for and guided by the core development team of a project, while others are initiated by a group of developers dissatisfied with an element of an existing project.
In its simplest form, blockchain is software that stores and transfers value or data across the internet. Forks work the exact same way on the blockchain. So a “Bitcoin fork”, for instance, is any project that’s based on Bitcoin’s code and blockchain, and happens when someone modifies the source code so that it is sufficiently different from the original, thereby creating a unique version of the software. For example, Litecoin is a Bitcoin fork because the Litecoin developers copied Bitcoin’s code, made some changes, and launched a separate project.
At its heart a blockchain is a time-based ledger of transactions. That’s why blockchain forks often diverge from a specific block. Bitcoin Cash (BCC), for example, is a fork of Bitcoin that was created on the 1st of August 2017 and that diverged from Bitcoin at block 478558, which means that anyone who held Bitcoin at block 478558 on August 1st, 2017 on a supported exchange or in a private wallet is eligible to claim Bitcoin Cash. That also means that if you compared the Bitcoin and Bitcoin Cash ledger at any point prior to block 478558, you would see that the Bitcoin Cash’s chain is for all intents and purposes a copy-pasted version of Bitcoin’s chain. However, after that block they’re separate chains, which means that they’d look different.
Why Do Forks Happen?
It’s important to note that there are a few different scenarios that create the need for a fork. Forks happen as a solution to technical disagreements and because developers want to add new features or functionality, or reverse transactions.
In blockchain, forks can often happen due to community disagreement. In 2016, Ethereum famously had a smart contract called “The DAO,” which was hacked due to a security vulnerability and 3.6 million Ether (approx $50 million) were stolen. Ethereum developers decided to execute a hard fork to retrieve the funds and prevent further thefts. However, the developers and community couldn’t agree on how to best handle a high-profile hacking incident, and it’s why today we have Ethereum Classic (ETC) (a group that decided to stick with the original protocol and not adopt the hard fork).
In the cryptocurrency world, a fork happens when developers can’t agree on how to improve an open source program. Each group creates its own chain (“fork”) which shares most of the features of the original chain but also has the changes they want.
Before we get into the classifications, it’s worth noting that forks are regularly proposed, take place often, and are generally accepted as a healthy component of the crypto ecosystem that allows the community to evaluate and decide which ideas are most promising.
Hard Forks vs. Soft Forks: What’s the Difference?
There are two types of fork hard forks and soft forks.
A soft fork is a software upgrade that is backwards compatible with older versions, which means that the new rules can still be interoperable with the legacy protocol. On the other hand, a hard fork enables a rule change to the software, but it does not have backward compatibility.
A hard fork is a permanent split into two (or more) separate, incompatible chains, and any nodes running an old version will not be accepted by the new one. If older versions continue running, they will end up with a different protocol and with different data than the newer version, which can lead to significant confusion and possible error.
In theory, hard forks can be good news for existing coin holders because of the ‘issuance’ of ‘free’ coins. The duplication of the chain due to the hard fork entitles holders of the old chain to receive new coins from the new chain in proportion to what they had on the original chain. For example, when Bitcoin Cash forked from the Bitcoin network at the beginning of August, Bitcoin holders kept their Bitcoin. However, as I already said, Bitcoin Cash shares its entire transaction history with Bitcoin up until the point of the split, with the history diverging after the split, which means that for whatever amount of Bitcoins you had before the split, you ended up having that same amount of Bitcoin Cash. This means that, if you were holding Bitcoin you would receive 1 Bitcoin Cash for every 1 Bitcoin you owned.
Hard forks are generally not a bad thing, but they can also be damaging and destabilizing. Hard forks can split a project’s community, with one group sticking with the old rules no matter what or pushing for new ones at all costs, which can have a negative impact on the price of one or both assets following the fork.
Soft forks involve optional upgrades and they are perfect for developers who want to make changes in a less punishing way. Just like a hard fork, they involve two versions of a blockchain. However, the difference is that users who did not upgrade will still be able to participate in validating or verifying transactions, which means that soft forks are much less restrictive. A soft fork updates the project to a new version on a split chain. However, users have some time to decide whether they want to update, and during that time, the original chain and the updated chain operate in parallel, compatibly. If most update by a preset point in time, then the soft fork is executed and the forked chain becomes the new official chain. On the other hand, if not enough users choose to update, then the soft fork will fail and the original chain will simply carry on unchanged.
Also, soft forks are much easier to pull off than hard forks as only a majority of node operators need to upgrade, not all of them. It’s important to note that all participants, whether they’ve updated or not will continue to recognize new blocks and maintain compatibility with the network. However, the functionality of a non-upgraded participant is affected. A soft fork can be thought of as a gradual upgrading mechanism, as opposed to the, immediate change of a hard fork. Soft forks change the existing code. However, unlike hard forks, they aim to result in one blockchain, not two.
Soft forks are extremely important because they have been the most commonly used option to upgrade the bitcoin blockchain so far. Although it’s argued that soft forks present a lower risk of splitting the network, they are not always as exciting for investors, because there is no new, separate chain to grant them with any additional assets. On the other hand, a soft fork that is successful and introduces exciting new features can boost the price rise of an asset. Past examples of successful soft forks include software upgrades like BIP 66, a soft fork on Bitcoin’s signature validation, and P2SH, a soft fork that enabled multi-signature addresses in Bitcoin’s network. One more thing worth noting is that soft forks do not carry the double-spend risk that plagues hard forks. The reason for that is that merchants and users running old nodes will read both new and old version blocks.
Both hard and soft forks seem to be an established feature of the cryptocurrency landscape at this point in time. Some are legitimate and desperately needed, while some have been outright scams. But the bottom line here is that we must respect the right of the community to develop such projects if we are to stay in-line with the principles of decentralization and open-source code.
There are plenty of misinformation and misconceptions that have been spread about forks (particularly hard forks), their nature, implementation, and acquisition by coin holders, which created a great deal of ire and cynicism within the larger community toward such projects. However, it is important to remember that some projects are legitimate and that some hard forks have created more investment options for people. For example, Litecoin and Bitcoin Gold both came into existence through hard forks.
Ultimately, most forks bring positive change, especially when there is disagreement between the various groups within a crypto community – they provide a path forward. However, sometimes forks do create (sometimes inadvertently) negative change, which leads to infighting and endless drama between miners and developers of a specific cryptocurrency. And if the crypto market continues to grow at its current exponential rate, both hard and soft forks will definitely remain a long-term feature of this industry.