Soft Fork, Hard Fork, Pitch Fork? Which Fork? No doubt you have heard of Forks?
Of course, other coins fork too, but for this discussion, we will stick (no pun intended) with Bitcoin forks.
In this case, a “Fork” is a technical term used by developers. It’s applied to open-source projects, which means they can change or tweak the protocol from the original and create a “new” coin should they reach a consensus. Of course, if no consensus is reached, no fork happens.
When is the last time you forked? Have you updated your cell phone? Your computer? Your printer software? Think about it and you will have your answer. Every time you update, in essence, you have forked from the old version to the new!
How Many Bitcoin Forks Are There?
Bitcoin Fork Coin Count
There are 105 Bitcoin fork projects in total.
Of those, 74 are considered active projects relevant to holders of Bitcoin (BTC). The remaining 31 are considered historical and are no longer relevant.
Additionally, there are 22 altcoin fork projects which have some similarity to Bitcoin fork projects but have their heritage from a major altcoin.
Although most forks you hear about today are “hard forks,” there are “soft forks” as well as “Temporary Forks.“
Say you got together with a group of your friends and you all decided to play a game of Gin Rummy. But instead of the rule saying the person with the least amount of points in his hand at the end of each round wins the round, you all decide to create a new rule that says the player with the most points in his hand wins the round.
OK, this works fine for this little group. But what if you all decide this rule should be changed universally and adapted by all who play Gin Rummy. Now you will have to get the majority consensus to agree to this new rule to be able to change the game for all.
What if the idea failed to create a consensus? The majority wanted to keep the rule as it is. This would create a “fork” in the game. The majority of the players stay with the original game rules, and a minority of players go with the new rules.
This is what happens with Bitcoin’s code as well. A group of developers may decide to change something in the coding and create a new version of Bitcoin. The change could be because of a flaw discovered or weakness or as with Bitcoin Cash to increase the speed of the transaction time.
Let’s discuss Hard forks, Soft Forks and Temporary Forks
A hard fork happens when there is a separation from the previous version. A new set of rules is introduced by consensus into the blockchain, which is not compatible with the old previous version. You could say that a hard fork is a software upgrade that isn’t compatible with the older software. All miners and network participants are required to upgrade to the new version. Any node which has not updated to the latest upgrade protocol will find their blocks invalid. Nodes who continue to run the previous version of the software will have to upgrade. Then follow the new set of consensus rules for their nodes to become valid once again on the forked network. If there is still mining support for the minority chain, then the two blockchains can continue running side by side.
Hard forks usually fall into one of two categories; a planned Hard fork or a Contentious Hard Fork.
Planned Hard Fork: Simply put, a planned Hard Fork is one that has already been made clear and understood by project developers. Generally, a high-degree consensus has reached by the project developers, and the community has already notified before the Hard Fork occurs. Monero’s hard fork in January of 2017, which added a new privacy feature known as Ring Confidential Transactions (RingCT), is an example.
Contentious Hard Fork: When there is a strong disagreement between stakeholders in a project, including project developers, network users, and miners, the result can be a Contentious Hard Fork. This typically happens when there is a strong belief in the community that significant changes in the code will result in a superior blockchain. The Bitcoin Cash hard fork is a well-known example of a contentious hard fork. The majority of the community believed that increasing Bitcoin’s block size from 1MB to 8MB would make for faster transaction speeds in the network.
A method of upgrading a blockchain that is “backward” compatible with previous versions of the software is called a Soft Fork. These Soft Forks do not require that nodes on the network upgrade to maintain consensus because all the Blocks on the soft-forked blockchain follow the old set of consensus rules and the new ones. However, blocks that conform only to the old game of consensus rules violate the new set of consensus rules and will become “stale” by the majority that upgrades. The reason for this is because for a soft fork to work, the majority of miners must recognize and enforce the new set of consensus rules. If this new majority consensus works, then the old network will fade out, not being used.
For example, a network creates and implements changes in its block size from 1MB to 500KB, creating a Soft Fork. Nodes that follow the old set of consensus rules will continue to see incoming transactions as valid because these nodes follow the old set of consensus rules as well as the new. However, mining nodes that have not upgraded; when attempting to mine new blocks. as it does not conform to the new set of consensus rules (500 KB block sizes.) This will cause the network that still uses (1 MB blocks) to fade eventually as the miners enforce the new consensus Rule (500KB blocks.)
A couple examples of prior soft forks:
- Bitcoin Improvement Proposal (BIP) 66: A soft fork on Bitcoin’s signature validation
- Pay to Script Hash (P2SH): A soft fork that resulted in multi-sig addresses on the Bitcoin network
When miners on cryptocurrency systems discover blocks at the same time resulting in two split competing blockchains, this results in a Temporary Fork. Temporary forks are resolved in proof-of-work systems such as Bitcoin. Miners select which chain to add new blocks to, and the longest blockchain viewed as the “true” blockchain.
Soft Fork and Hard Fork
Soft forks and hard forks are slightly different from temporary forks in that they constitute a permanent change in the protocol’s underlying rules. such a change can occur for various reasons, including:
- increasing functionality to the network in the form of upgrades
- Changing a core rule in the protocol, such as increasing the network block size