What’s the Difference Between a Hard Fork and a Soft Fork?



Crypto can be confusing sometimes. Just when you think you’ve got this blockchain thing figured out, people start talking about kitchen utensils! But never fear. Crypto forks – just like real-life forks – are actually pretty simple.

What is a Fork?

In the context of software development, a fork is a new software project that’s built on the base of an existing project’s code. If you were a developer looking to create a messaging app, for example, you might find some open-source code for a messaging app and then “fork” it, copying the open-source code but adding some of your own unique features and modifications to create a new, distinct piece of software.

Blockchain is software, and forks work the exact same way on the blockchain. So a “Bitcoin fork”, for example, is any project that’s based on Bitcoin’s code and blockchain, but that diverged from it to create a new blockchain project that’s similar to – but operating on separate chain from – Bitcoin.

Since a blockchain is a time-based ledger of transactions, blockchain forks often diverge from a specific block. Bitcoin Cash, for example, is a fork of Bitcoin that diverged from Bitcoin at block 478558. That means that if you compared the BTC and BCC ledger at any point prior to that block, they’d look exactly the same. But after that block – after the fork – they’d look different because they’re separate chains. BCC’s chain prior to block 478558 is for all intents and purposes a copy-pasted version of Bitcoin’s chain.

Why Fork?


In general software development, the reason you might choose to fork a project is that you want to change something. The same is true of blockchain forks: they happen because developers want to change the rules of a chain, add features that the core developers won’t, or remove features they don’t like.

In blockchain, forks can often be a reflection of community disagreement. Ethereum’s fork, for example, which split the previously single chain into two separate chains of Ethereum and Ethereum Classic, happened because the developers and community couldn’t agree on how to best handle a high-profile hacking incident. Some people wanted to change the rules of the chain to essentially undo the hack and give victims their money back. Other people didn’t think that was a good idea.

Ultimately, Ethereum went ahead with the changes, forking from the original chain so it could add new rules. Community members who disagreed remained on the original chain, which was renamed Ethereum Classic.

Bitcoin’s high profile forks and Monero’s recent forks happened for similar reasons. When a blockchain community simply can’t come to an agreement, projects often get split down the middle, with each group creating its own chain (“fork”) that shares most of the attributes of the original chain but also has the changes they want.

Hard Forks versus Soft Forks


You’ll often hear forks described as “hard” or “soft”. The essential difference between the two is pretty simple: soft forks are backwards-compatible; hard forks are not.

The forks mentioned above are hard forks, and those are the forks crypto investors are typically most interested in. A hard fork is a split into two (or more) separate, incompatible chains. ETH and ETC started as a single chain, but they’re now two wholly separate currencies. Same with BTC and BCC.

Hard forks can be good news for existing coin holders, who typically are granted assets on a new chain in proportion to what they had on the original chain without losing their assets on the original chain. When BCC forked from BTC, for example, Bitcoin holders kept their Bitcoin. But since BCC’s chain prior to 478558 is shared with Bitcoin, any user that had Bitcoin prior to that block could claim a proportional amount of BCC on the BCC chain. In other words: a hard fork can mean free money.

But hard forks can also be damaging, as they split a project’s community, often as the result of a divisive argument over proposed changes. That can have a negative impact on the price of one or both assets following the fork.

If developers want to make changes in a less punishing way, there’s the soft fork. A soft fork updates the project to a new version on a split chain, but users have some time to decide whether they want to update. During that time, the updated chain and the original chain operate in parallel, compatibly. If most update by a preset point in time (usually a specific block number), then the soft fork is executed and the forked chain becomes the new official chain. If not enough users choose to update, then the fork is not executed and the original chain continues, unchanged.

Soft forks are how major changes are sometimes added to blockchain software, so they are a hugely important tool. They’re not always as exciting for investors, though, because either way the end result is a single chain. There’s no new, separate chain to grant investors with any additional assets.

On the other hand, soft forks that succeed and introduce exciting new features can significantly impact the price of an asset. Soft fork failures can have the opposite effect, so it’s still important to keep your eyes out for forks both hard and soft even if you’re a casual investor. You don’t need to understand the intricacies of the code, but you’ll want to understand the reasons a fork is being discussed, and the ways that a hard or soft fork might impact your investment.