The Difference Between a Hard Fork and a Soft Fork

2 31
Avatar for Bensaga
3 years ago

“Forks” is a term that is often thrown around in the cryptocurrency trading realm. Although we’re sure that everyone is familiar with the kitchen utensils, “forks” refers to something completely different in the cryptocurrency world—and there are two main types: hard fork and soft fork.

If you’re unfamiliar with the term, “forks” refer to upgrades on the blockchain network. Because these networks are always moving and evolving, forks play a crucial role in the development of cryptocurrencies—and bitcoin is a perfect example of that, but more on that later.

HARD FORKS vs. SOFT FORKS

Essentially, forks are updates that intend to bring new technical features to a specific blockchain. However, this definition begs the question: what’s the difference between a HARD FORK and a SOFT FORK?

HARD FORKS

The significant difference between a HARD FORK and a SOFT FORK is a matter of backward-compatibility. A hard fork is an upgrade that entails permanent splits with the older version of the blockchain being left behind. This permanent split means that older versions of the blockchain cannot accept the transactions created by the new chain.

The permanent split basically means that a whole new cryptocurrency is being created. However, these splits can be either planned or controversial. When they’re planned, people using the blockchain will voluntarily update their software to follow the new rules. As a result, the ones who choose not to update will be left on an outdated chain (a chain that will have fewer people as most have upgraded). Sometimes, the hard fork can be controversial, meaning that there is a disagreement within the community in regards to the upgrade. Because of the conflict, the protocol is split into two (more or less equal) parts, creating two different cryptocurrencies. These two parts will have their own communities, and the developers of their respective chains will continue to progress in the way they believe is best.

To put it in simpler terms, imagine a scenario where the developers of a specific cryptocurrency decide to change the block size from 2MB to 4MB. If a newer node tries to push a 3MB block, the older nodes will not be able to see this as valid, leading to a rejection of the block.

The best example of a HARD FORK is the Bitcoin Cash split that occurred in August 2017. At that time, many developers were looking to improve the scalability problem that the Bitcoin network had, so they proposed to increase the block size so more transactions could be included within a block. However, there were a lot of people who did not agree with these updates, creating a division within the community. That division, in turn, led to the hard fork — bitcoin continued to run the old protocol while Bitcoin Cash was created with a larger block size.

SOFT FORKS

While a hard fork entails a permanent split from the old chain, a SOFT FORK still enables older nodes to approve new blocks. So instead of creating two totally new blockchains, it creates two branches that can coexist with one another. In most cases, all older nodes will eventually update, but they don’t have to—and in both cases, the blockchain history is shared up until the fork.

In short, a SOFT FORK is backward-compatible, allowing older and non-updated nodes to process transactions that push newer blocks to the blockchain (as long as they don’t break the rules of the new chain). Imagine a scenario where developers decide to reduce the block size of a specific cryptocurrency from 3MB to 2MB. Older nodes will still be able to push new blocks that are 2MB or less. However, if older blocks try to push a block bigger than 2MB, the newer nodes will reject it because it doesn’t follow the rules of the new chain. In turn, older nodes are encouraged to update for more efficient transactions.

BETTER THAN KNIVES…?

Despite the disagreements caused in their respective communities, bitcoin forks generally have good intentions behind them—they aim to improve the technological features of a blockchain, whether it be in terms of scalability or their ability to be a transactional currency.

At this point in time, there’s no telling how many changes cryptocurrencies are going to go through, so we’ll just have to wait and see.

3
$ 0.43
$ 0.43 from @TheRandomRewarder
Avatar for Bensaga
3 years ago

Comments

I enjoyed reading this article in preparation for the coming BCH fork. Thanks for sharing. 👍

$ 0.00
3 years ago

Good article, until right here:

So instead of creating two totally new blockchains, it creates two branches that can coexist with one another.

That is incorrect. A contentious fork can create two branches. A non-contentious fork will not create any branches. In the case of a contentious hard fork, two branches are guaranteed because the two branches are completely incompatible. In the case of a contentious soft fork, it's more convoluted. A soft fork means the older versions can still validate good blocks, but may not be able to create valid blocks anymore. As such, in a soft fork, two branches will only occur if blocks incompatible with the change are mined via nodes running older clients at a faster rate than blocks supporting the change are mined via nodes running newer clients (as is the anticipated outcome of ABC's upcoming IFP soft fork on the BCH chain) -OR- if miners intentionally ignore blocks supporting the change and continue to build on a shorter branch that does not include the soft fork's clients (which non-ABC [and ABCN*] miners could do regardless of whether things t turn out as anticipated upon the aforementioned soft fork). In either case, while both branches would theoretically be compatible with the older versions of the software, only one branch would be compatible with the newer versions of the software. Further, they wouldn't "co-exist" on nodes running the older version; nodes running the older version would follow the longer branch unless the node operators took action to intentionally follow the shorter branch INSTEAD.

*ABC has announced a non-IFP ("BCHN compatible") version of ABC, but I don't know if they'll actually call it ABCN.

$ 0.00
3 years ago