Hard fork vs soft fork – what's the difference?
No, we’re not talking about utensils.
A “fork” is an update to the blockchain’s software, or a change in protocol. There are two types of forks – a hard fork and a soft fork. While both indicate changes to the underlying protocol, hard and soft forks have significant differences. But what are they?
What is a hard fork?
A hard fork is a change in protocol which is backward-incompatible. This means that new node rules conflict with the old ones. As a result, this causes the blockchain to split into two separate networks. The original network will continue with the old rules, while the new network will follow the new and upgraded protocol. While both networks will continue to produce blocks and process transactions, they’ll no longer work on the same blockchain. Users who hold tokens in the original blockchain will be granted tokens in the new fork, but miners must decide which blockchain to continue verifying.
A well-known example of a hard fork is the Bitcoin Cash (BCH) fork which occurred back in 2017. This hard fork was the result of a disagreement on whether the SegWit (Segregated Witness) process should be used to increase the number of transactions processed per block. While some agreed this was the best approach, others decided to integrate a different solution which would increase the maximum block size from 1MB to 8MB. As a unanimous decision wasn’t made, this resulted in a split of the Bitcoin blockchain. From there, the new blockchain was named Bitcoin Cash, while the original remained the Bitcoin you all know and love.
The Ethereum blockchain also created a hard fork to reverse the hack on the Decentralized Autonomous Organisation (DAO). The purpose of this was to roll back transactions in which millions of dollars' worth of digital currency were stolen by an anonymous hacker, as well as help DAO token holders get their ether (ETH) funds returned.
What is a soft fork?
On the other hand, a soft fork is a backward-compatible protocol, which means that new nodes are able to communicate with old ones. Unlike a hard fork, there isn’t a split in the blockchain and all nodes are still able to collectively generate blocks.
The introduction of the SegWit feature mentioned above is a notable example of a soft fork on the Bitcoin protocol. It was implemented in 2017 and designed to help BTC with its scaling issues, as well as fix certain bugs. It was also designed to decrease the size of transactions per block. Typically, a blockchain transaction contains the wallet address of both the sender and receiver, as well as the “witness data” containing transaction signatures. SegWit removes the witness data from the main block, which in turn reduces the transaction size. As a result, the transactions don’t need as much space, allowing an increased number of them to take place per block. It also helps to increase capacity of the BTC network.
What’s the difference between the two?
Overall, hard forks and soft forks are different in how they change or alter the blockchain.
To narrow it down, hard forks cause a split in the blockchain, creating separate networks that follow different protocols. Miners are then expected to decide which network they want to continue with. With soft forks, network rules are updated, but these new rules do not conflict with the old ones, and a split does not occur.