What is a fork?https://cdn-images-1.medium.com/max/1600/1*dh4K1DIa4_4X8y4rykJ8wg.pngIn open source software development, a
fork refers to the event of an independent project spinning off from the original project by copying the code base and develop in a different direction.
This happens when the community has a diverse and irreconcilable visions/plans for the future development of the project. For example,
Litecoin is a fork from
Bitcoin because its developers copied the code of Bitcoin and launched as a separated project.
Due to the distinctive feature of blockchain that it relies on the entire network to run the exact same protocol, there are two kinds of forks:
soft fork and
hard fork.
https://cdn-images-1.medium.com/max/1600/0*VqFqUZv-gLXX3jLg.What is a soft fork?https://cdn-images-1.medium.com/max/1600/0*mKJttusiUngVfhci.New rules by a soft fork allow a subset of the previous valid blocks, therefore all blocks considered valid by the newer version are also valid in the old versionA soft fork is
forward compatible, meaning that old versions of the protocol will recognize new blocks. If at least 51% of the
hashing power shifts to the new version, the system can self-correct and maintain consensus on the blockchain. For example, the
Bitcoin SegWit upgrade on 21 Aug 2017 was a soft fork when the majority of the miners agreed to shift to the new version of the Bitcoin.
What is a hard fork?https://cdn-images-1.medium.com/max/1600/0*G_lBhnvEX0xUZJQA.Hard forks ease block acceptance rules making previously invalid blocks valid in the new version, therefore effectively creating a new blockchainA hard fork is not forward compatible on the contrary. Old versions of the protocol are not compatible with the new versions and therefore it requires everyone on the network to upgrade. The risk is that when a substantial amount of miners refuse to upgrade, a chain split is very likely to happen. For example, the creation of
Bitcoin Cash on 1 Aug 2017 was a hard fork from Bitcoin when the Bitcoin Cash developers disagreed with SegWit and decided to move onto the new blockchain.
Understanding the nature of forks is essential to keep track of the future development of Bitcoin and other cryptocurrencies. For example, both
Bitcoin and
Ethereum is going to have a hard fork soon. We will keep updating with regards to different forks, please stay tuned!
The article is extracted from our medium blog post. Sources:
http://truebloodlawgroup.com/blog/What-is-the-difference-between-a-Hard-Fork-and-a-Soft-Fork/2524https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-forkhttp://etherworld.co/topic/22/hard-fork-in-ethereum