What’s the Difference Between a Hard Fork and a Soft Fork?
Forks: more than just a kitchen utensil! In the crypto world, blockchain forks are important software updates that contribute to the smooth running of the network. Hard forks involve splitting one blockchain into two separate systems (the original chain and the new) while soft forks involve updates that can be integrated into the existing blockchain.
When you first begin to dip your toe into the world of cryptocurrencies, you may hear a lot of discussion about ‘forks.’ What exactly are they, and what is the difference between a hard and soft fork? In order to understand forks, it is first necessary to understand what blockchains are.
Essentially, a blockchain is the network upon which a cryptocurrency runs. It is akin to a public ledger system, recording each individual transaction in units known as ‘blocks’. Blocks are linked together on the blockchain through the use of cryptography (a secure method of scrambling digital information, so that only the intended recipient can process it).
Each block contains verified data about the transaction, including a timestamp and a cryptographic hash of the previous block. Every cryptocurrency has its own self-contained blockchain system.
The code underpinning the blockchain sometimes needs to be updated
When a centralized fiat bank decides to upgrade its software systems, individual account holders don’t get a say in that decision – you will simply be instructed to update the banking app on your phone, for example, or your phone may automatically update the app without needing to be prompted.
In a decentralized network such as a cryptocurrency blockchain, the decision-making process is very different. Without a specific hierarchy at work, the implementation of new features and updates needs to be broadly agreed upon by users.
‘Fork’ is a term used to describe these updates
Blockchains exist on decentralized groups of computers, or ‘full nodes’ (the wallets stored on blockchain users’ phones and laptops are known as ‘light nodes’, and are not as crucial to the smooth running of the blockchain as full nodes). Each full node runs the software needed to verify the blockchain’s public ledger. The nodes connect with one another and work collaboratively to secure the network.
Blockchains are run using open-source software that is not controlled by anyone central authority. You can choose to make any edits you wish. If others decide to adopt your modified software too, you can all communicate with one another using full nodes that run the new system.
A software fork occurs at the point when the original software is copied and modified. As the name suggests, you might think of this change as a split in a previously smooth road: the original software still exists but is now separate from the new one, which has begun to move in a different direction.
A hard fork is a software update that is incompatible with the network from which originated.
Hard forks occur when some nodes add new rules that contradict the rules of other nodes on the relevant blockchain. As a result, the updated nodes can no longer communicate with the non-updated ones. This causes a split in the blockchain, creating two separate networks: one that adheres to older rules, and one that uses the new rules.
Up until the point of the hard fork, all nodes had an identical blockchain, but they will now have entirely different blocks and transactions. Due to the common history between all of the nodes involved, you will end up with coins on both networks, if you had been holding them on the original blockchain prior to the occurrence of the hard fork.
For example, if you owned one unit of any given cryptocurrency when a hard fork occurred in that currency’s blockchain at Block 100,000, you could then spend this currency on the old chain in Block 100,001, but this change wouldn’t be recorded on the new chain’s Block 100,001. The new chain would still regard that unit of cryptocurrency as being in your possession.
One well-known example of a hard fork occurred on the Bitcoin blockchain in 2017, when the network split into two blockchains: the original one, Bitcoin (BTC), and a new one, Bitcoin Cash (BCH). This hard fork took place after a disagreement between Bitcoin Cash proponents – who wished to increase the block size – and Bitcoin proponents, who opposed this update.
A soft fork is an upgrade that is still compatible with the network from which it came
Soft forks typically involve the addition of a new rule that doesn’t contradict older rules, which enables the upgraded nodes to continue communicating with non-upgraded nodes. One recent example of a Bitcoin soft fork was the Segregated Witness (SegWit) fork. This took place shortly after the Bitcoin/Bitcoin Cash hard fork.
SegWit was an update that altered the format of transactions and blocks in such a way that old nodes could still validate them, as the new formatting didn’t break old rules. However, certain information contained within the new blocks could not be accessed by old nodes until they upgraded to the new software.
Both types of forks have different costs and benefits. Contentious hard forks can have a divisive impact on the community of the associated blockchain, but a well-considered smoothly implemented hard fork such as the Ethereum upgrade offers users the freedom to perform a wide-ranging overhaul of the chain’s software system, with the consent of all involved. However, soft forks are the perfect option for those who want to update a blockchain without fragmenting the network.
To stay up to date on all things crypto, like Xcoins on Facebook, follow us on Twitter, Instagram, LinkedIn, and sign up at the bottom of the page to subscribe.