For better understanding, we will take the Bitcoin network as a piece of word document with the name Bitcoin 1.0, which requires teamwork that all team members can edit the document together. Suppose some members think the font size is too small and want to make it larger. So they change the font size but without modifying the content of the document. After that, the group of members who keep the new document claims that the new document named Bitcoin 2.0 is better than the old one, and incites other members to keep the new document and edit it. On the other hand, members who don’t like or agree on Bitcoin 2.0 will keep editing the Bitcoin 1.0 document.
Get back to the subject. A fork occurs when a blockchain network diverged into two potential paths forward, one continues to support the old protocol that makes previous rules valid, the other updates to the new one deciding the new rules.
There are two common forks introduced below.
According to the official definition, a hard fork is "a permanent divergence in the blockchain, commonly occurs when non-upgraded nodes can't validate blocks created by upgraded nodes that follow newer consensus rules". In order to do effective mining and discover new valid blocks, upgraded nodes need to switch to a news chain and continue mining by following the new rules. The newly produced chain is the result of the hard fork. Put it simply, a hard fork will split one blockchain or one kind of cryptocurrency into two.
Different from the hard fork, a soft fork is an update that is backward compatible. In other words, a soft fork changes the protocol which only makes the previous valid blocks or transactions history into invalid, while the old nodes can still recognize the new blocks as valid.
Hard Fork vs. Soft Fork
The difference is that soft fork updates the protocol which is compatible with the previous one, where the older version of bitcoin software will recognize the new blocks as valid, and all nodes will continue to agree on previous consensus and rules. Hard fork changes the protocol which is not compatible with the previous one, which requires nodes to upgrade their software in order to mine and discover the new valid blocks and get block reward.
What are Bitcoin Hard Forks and Why They Happened?
Essentially, Bitcoin's hard fork is to solve several problems existing in the Bitcoin network. Three prominent problems of Bitcoin are:
1) Low transaction speed
2) PoW mechanism is resource-wasted
3) Low scalability
In order to solve the latter two problems within the Bitcoin network, it may require changing to a new consensus algorithm in which a massive amount of code refactoring is necessary. Furthermore, the risks of recreating a new algorithm and refactoring codes are unknown. Even if developers agree to recreate the consensus algorithm, miners/nodes will not easily agree either.
Owing to Bitcoin's open-source, developers can clone and modify the Bitcoin blockchain original codes, then create a new blockchain, consensus and cryptocurrency. Nodes/miners who support the upgraded blockchain will start mining in it. That's how Bitcoin hard fork occurs.
Cases of Bitcoin Hard Fork
According to incomplete statistics and the latest research, up to now, there are 44 hard fork cryptocurrencies of Bitcoin, but only 3 have value and can be traded: Bitcoin Cash (BCH), Bitcoin Diamond (BCD), Bitcoin Gold (BTG).
1) Bitcoin Cash (BCH)
BCH, created in August 2017, increases the maximum block size from 1MB to 8MB, which makes the transaction verification and processing much faster.
2) Bitcoin Diamon (BCD)
BCH, which came out in November 2017, aims at lowering the cost of the participant as well as transaction fees. And its total amount is 10 times as much as Bitcoin's.
3) Bitcoin Gold (BTG)
Forked from BTC in October 2017, BTG mainly changes the mining algorithm to avoid centralized computing power problems caused by ASIC mining machines and adjust the mining difficulty.
Forks, bitcoin forks in particular may have further development or challenges in the future. Let's wait and see.