What is a fork? Hard fork vs soft fork?

in #cryptocurrency7 years ago (edited)

IN PLAIN ENGLISH:

A fork occurs when a change needs to be made to the rules that decide whether or not a transaction is valid on the blockchain. Because a blockchain is immutable and you can't just change the rules for the current blockchain, a point is chosen at which a new path will branch off of the current chain and begin following the new rules. Whichever branch (or rules) has the most support by the community will be adopted as the true blockchain and the other branch will die off and stop being used. In rare cases where there is no clear winner, it's possible for both branches to survive, resulting in the currency being split into two separate, independent currencies at the point of the fork.

fork.png

The technical explanation:

With any software, updates are required over time in order to improve functionality, increase security, implement different technology, etc. When a change to the blockchain software is needed a fork occurs.

There are two types of forks that can occur, based on the type of change required. These are called a hard fork and a soft fork.

A hard fork is not backwards-compatible, and occurs when a change is made to a rule that decides whether or not a transaction is valid. When a major change to the software occurs, the blockchain splits into two different paths--one following the new rule to validate transactions, and the other path following the old rule. If node operators do not update to the new software rules, the transactions they try to validate will fail. All nodes must update to follow the new validation rule, and then the blockchain will continue building along the new path.

A complication can occur however when the new update is not supported by a majority of the crypto community. If there is disagreement about adopting the new rules, a permanent split can occur. In this case, rather than the original cryptocurrency just heading down the new path, both paths may end up being maintained simultaneously resulting in a new version of the currency being created. Up to the point of the fork, both currencies have a shared transaction history. After the fork, they go their own way and are no longer the same entity. This has happened a number of times with past hard forks, such as when Bitcoin Cash was created as a result of a Bitcoin fork.

When the fork occurs, holders of the original currency receive an equal amount of the new currency. As in the example of the Bitcoin/Bitcoin Cash fork, if you owned 5 Bitcoin at the time the fork occurred, you received 5 Bitcoin Cash for free. Even though they both are a version of Bitcoin, a hard fork is not backwards-compatible, so you can't just turn your 5 Bitcoin Cash into 5 more Bitcoin, giving you 10 Bitcoin. They are now separate entities, with their own values, on their own blockchain, just with a shared history at the point before the fork.

A soft fork differs from a hard fork in that it is backwards-compatible, causes much less disturbance to the ecosystem of the currency, and doesn't result in a permanent split or creation of a new currency. A soft fork occurs when a minor update needs to be made to the software which doesn't require a hard fork.

Sort:  

Nicely written and easy to understand! You just gained a new follower ;)

Thank you very much for the nice comment, @jaronec! :) Glad you enjoyed the article.