What is a Fork? The Difference Between Hard Forks and Soft Forks
A fork is a software or a protocol upgrade which may or may not be backward-compatible. When the update is backward-compatible, new nodes can recognize old transactions. If the upgrade is not backward-compatible, the new nodes cannot recognize old transactions.
Forks can be accidental or planned by the core group of the project.
An accidental fork happens when two or more miners mine the same block at the same time. Accidental forks can also be the result of an attack. The problem is resolved when more blocks are added making the other fork longer than the alternative. When this happens, miners abandon the shorter chain in favor of the longer one.
A planned fork happens from time to time with the consent of the network participants, when changes are needed to help the network flourish. For example, the community may want to add new features to improve the network’s functionalities, or they may need to change a core rule like specifying the size of the block.
Because these changes are permanent, the community must reach a consensus. The community evaluates the possibilities and decides which will benefit the network more.
This practice also reflects the democratic nature of the blockchain and the fact that no one has full control over the project.
Sometimes, a fork happens because a certain group disagrees or is dissatisfied with the new implementations. If the factions cannot reach an agreement, then the split is final.
What Is a Hard Fork?
A planned fork is an example of a hard fork. This type of fork is required when the most recent upgrade is incompatible with the previous versions. In such a case, every participant has to upgrade to the new software to continue to participate in all of the network’s activities.
There are two main kinds of hard fork – planned and contentious.
Planned Hard Fork
A planned hard fork is a change that has been part of the network’s roadmap. The upgrade changes the underlying code base of the blockchain, in order to make the features and capabilities of the system more efficient and powerful. Once the changes have been implemented, the community will have to abandon the old chain and transition to the new blockchain.
Contentious Hard Fork
A contentious hard fork is the result of a disagreement in the community. If one faction does not agree with the main group anymore, they are free to create a new chain that they see as better than the existing one.
Spin-off coins are Bitcoin variants that arise as a variant of the Bitcoin code. They might look like a contentious hard fork, but spin-off coins belong to a league of their own. Their existence reflects Bitcoin as an open source – as allowing anyone to view and make changes to the code.
Different Kinds of Hard Forks
- Bitcoin XT (BIP 101)
Bitcoin XT led to the Bitcoin Cash hard fork. It occurred simply because there was not enough capacity in the network for all the transactions that miners were sending to the network. As a result, fees increased to give miners an incentive so that they would include all their transactions.
Segwit2x was a hard fork from the first SegWit. It was a contentious hard fork whose primary goal was to double the size of the block limit. However, it failed because the community denounced it for fear that the people backing it had ulterior motives.
Bitcoin Cash is a contentious hard fork with the same goal as SegWit2X. The people backing it wanted to increase the block size from 1MB to 8MB to allow participants more transactions with lower fees.
This is an Ethereum hard fork that was made to reverse the damage in one of their applications after a malicious attack. While the core development team and most users went ahead with the hard fork, a minority stayed behind and called the network Ethereum Classic.
Monero conducted a hard fork in 2017 to upgrade its network and introduce a new feature called the Ring Confidential Transactions or RCT. The new feature enhanced the privacy and security of the network.
This fork is part of Ethereum’s two-phase upgrade plan to improve the scalability of the network and integrate private transactions into the blockchain. The first phase happened in October 2017, but there’s no news about when the second will come.
This hard fork happened in October 2017 to improve the process of Bitcoin mining. Instead of using ASIC-based mining, Bitcoin Gold uses GPU-based mining.
- Bitcoin ABC (Core)
It is the other half of the recent Bitcoin Cash hard fork that occured last November. Under this implementation, transactions are immutable after 10 confirmations.
- Bitcoin SV (Satoshi’s Vision)
As opposed to Bitcoin ABC, Bitcoin SV’s goal is to make Satoshi Nakamoto’s vision a reality, which is to enable blocks that total to 128 megabytes. Ever since the hard fork occurred in November, it has been at war with Bitcoin ABC.
What Is a Soft Fork?
A soft fork happens when a recent upgrade is backward-compatible with previous versions. Those using the old version can still make transactions, although they will not be able to experience the features or functionality of the new version.
For example, suppose a soft fork that changes the block size from 1MB to 800KB takes place; those who have not changed their block size can still validate and verify transactions. However, the network will reject any new blocks they have mined, rendering their efforts useless. Hence, a soft fork acts as a mechanism to allow participants to upgrade their software gradually, or else miss the new functionality.
Different Kinds of Soft Forks
Proposed by a Bitcoin core developer, Pieter Wuille, this soft fork aimed to increase the volume of transactions in the Bitcoin network without increasing the block size parameters. It also resolved the problem of transaction malleability, resulting in more improvements in the features of the network.
This is another Bitcoin soft fork that resulted in lower transaction fees for senders. It also allows the sender to fund any arbitrary redeem script without knowing what spending conditions are stated in the script.
Key Differences between a Hard Fork and Soft Fork
Hard forks and soft forks have five key differences:
Hard forks work on the protocol level, which means there will be changes in the software itself. Soft forks work on the network level, which means the changes are in how processes and transactions are carried out.
Implementing soft forks requires 51 percent of hash power, while hard forks do not have this requirement.
When hard forks happen, all users and nodes must upgrade. With soft forks, users can still use the old versions although they cannot access all the features of the new version.
When hard forks happen, new networks are created as a result of the split. Soft forks do not cause network splits.
DAO stands for Decentralized Autonomous Organization. In the event of a DAO attack, hard forks can return funds to their rightful owners without the attacker’s knowledge. Soft forks, on the other hand, cannot retrieve the funds from the attackers.