consensus rules on the network are not changed post-fork.
1) Software Fork
A software fork is essentially creating a variation (i.e. fork) in software, as commonly seen in projects on Github. A software fork usually takes place when different developers decide to pursue different goals with the project. A good example would be the Bitcoin Core reference client forks such as Bitcoin Knots. Some key characteristics of a Bitcoin Core reference client fork:
- Does not cause a Bitcoin fork as the consensus rules remain the same throughout the forking process
- 100% compatible with Bitcoin Core
- Operates on the same Bitcoin network
2) Network Fork
A network fork simply refers to a network being split in two. Consensus rules on the network don’t have to be changed after a network fork.
consensus rules on the network are changed post-fork in a way that is either backwards-compatible or non backwards-compatible.
3) Soft Fork
A soft fork refers to modifications of the existing consensus rules where the rules have come more restrictive. The clients following the old rules can follow the new rules as well.
4) Hard Fork
On the other hand, a hard fork results in the consensus rules becoming more restrictive. The clients following the old rules can’t follow the new rules as they will find the news rules invalid in certain circumstances.
Why A New Currency Is Created After A Hard Fork
1. Consensus rules have been changed during a hard fork, and are no longer compatible with the old rules.
2. A hard fork results in two networks that are distinct from each other. Meaning that they are now two separate blockchains with separate consensus rules. Migrating the currency from one network to the other is not possible without an exchange service being involved.
1. Divergence of the consensus rules
2. Divergence of the networks
3. Split in liquidity
4. Split in fungibility
Visualizing The Idea Of Consensus