When a blockchain diverges into two potential paths forward, it can result in a fork.
The terms soft fork and hard fork describe compatibility changes in the underlying protocol.
While the creation of a Bitcoin fork doesn’t affect the fact of a safe Bitcoin purchase, it does affect its continual functioning and acceptance.
Today our focus is on the differences between the two types of forks.
What Is a Soft Fork?
A soft fork is a forward-compatible change to the rules. It doesn’t create a new blockchain. Instead, it maintains the old blockchain by running on two lanes with different sets of rules.
To put it simply, the old blockchain can accept blocks from the new protocol rule changes.
New rules allow a subset of the previous valid blocks, so updated as well old blocks of transactions are valid at the same time.
What Is a Hard Fork?
If a blockchain goes through a hard fork, all network nodes are required to upgrade. Only the latest version participating in the network is considered valid.
Unlike with a soft fork, this is not forward compatible – the rules of the old blockchain will not accept the new blocks.
Sometimes, hard forks are mistakenly used in the meaning of a chain split. But, a chain split is a break in the digital recording.
This can happen for many reasons, such as hard forks, soft forks, faulty node software, and even a block being discovered at the same height.
Example: Litecoin (LTC), Bitcoin Cash (BCH) are hard forked from the main Bitcoin blockchain.
Short Overview of the Differences
As for the differences, compare them yourself by looking into a few distinct characteristics in the table below.
|Soft Fork||Hard Fork|
|Compatible with legacy rules||Incompatible with legacy rules|
|More convenient for users||More developer-friendly|
|Requires consent from users||Requires consent from miners/validators|
|Tightens the rules (e.g., from 1 MB to 0.5 MB)||Expands the rules (e.g., from 1 MB to 2 MB)|
Two Examples to Highlight the Differences
Perfect examples of a soft fork and a hard fork are the adoption of SegWit and the birth of Bitcoin Cash.
SegWit – Soft Fork
Segregated Witness (in short, SegWit) was created to combat the issues of Bitcoin’s slow transaction speed. Each block takes about 10 minutes to be mined.
Without changing this fact, the community’s decision was to increase the number of transactions that one block can contain.
The idea was to remove the public key and the signature (which take about 60% of the size) from the block.
They were sent through a different messaging channel. Still, blocks forged before the update are also recognized and processed as usual.
Bitcoin Cash – Hard Fork
Some community members weren’t happy with the SegWit update. Their solution to transaction speed problems was to increase the maximum block size – from 1 to 8 MB.
This fundamental disagreement led to a re-branded hard fork of Bitcoin called Bitcoin Cash (BCH).
The increased size of blocks is the reason for the non-compatibility of BCH.
While a block of 1MB or less can be valid for both networks, any block higher than that will only work with Bitcoin Cash.
Hopefully, this clarifies what each of the concepts stands for. The next time you hear something about a blockchain going through a fork, you’ll know more about what it means.