Cryptocurrencies are powered by decentralized, open-source software that anyone can contribute to. This software is called blockchain and they are literally made up of blocks of data. Imagine a very long train made up of all the transactions carried out on the blockchain and in which the first-ever transaction can still be traced back.
Since it is open source, the communities using them maintain and develop the underlying code. Sometimes, a community makes changes to the underlying code or basic set of rules. When this happens, the blockchain branches out, creating a second blockchain that shares the originality of the first blockchain. Such formation is known as a cryptocurrency fork. Now, there are two main types of crypto forks, hard forks, and soft forks. Let's get an in-depth look at their differences in this guide to hard and soft forks.
Essentially, a hard fork makes the older version of the blockchain protocol invalid. In case the older version keeps running, they will end up with a different protocol and data as compared to the newer version, which can lead to possible errors and confusion.
Let’s take the example of Bitcoin. With its hard fork (Bitcoin Cash), it would necessarily change the key parameters such as the mining difficulty algorithm, the block size, limits to additional information that can be added, and more. If any of these rules are changed, the new protocol will accept the blocks, but the older one would reject them. It could lead to some serious confusion and problems, even possible loss of funds.
If the block size was increased from 1MB to 4MB, the new protocol would accept a 2MB block, but the older protocol would reject it. For instance, say a 2MB block is validated and added to the blockchain.
Bitcoin Cash (BCH) was launched in 2017 and is a hard-forked version of Bitcoin. As hard forks should be, BCH is different from Bitcoin - here’s how:
- Bitcoin is the original cryptocurrency launched way before Bitcoin Cash. It has a much wider network reach and a better infrastructure in comparison to the hard-forked version.
- The block size of Bitcoin is 1 MB, whereas the block size of Bitcoin Cash is 32 MB.
- Transaction signatures can be discarded from Bitcoin Transactions with SegWit (Segregated Witness), a soft fork of the Bitcoin blockchain. Whereas, BCH doesn’t support SegWit.
- Bitcoin is slow and charges a higher fee. BCH, on the other hand, processes the transactions faster and charges lower fees as it requires less mining power to verify new blocks.
Now, you have these two blockchains, one with the new protocol (e.g. Bitcoin Cash) and the second one with only the old protocol (e.g. Bitcoin). These two divergent chains can grow in parallel. This forking process is referred to as hard. It can be risky, can spark double-spending, and potentially be messy.
Even though hard forks can be risky, they have their advantages. When a blockchain goes through a hard fork, it improves its functionality of the blockchain. Even the users of the blockchain get incentivized with a hard fork as they receive new coins and enjoy the features of new software. One of the most important advantages of a hard fork is correcting significant security risks found in the older protocol and adding new functionality.
Ethereum is a great example of correcting significant security risks. The Decentralized Autonomous Organization (DAO) launched on the Ethereum blockchain was hacked due to the vulnerabilities in its code base.
After the hack, it was unanimously decided by the Ethereum community that a hard fork is required to roll back the transactions that took tens of millions of dollars worth of digital assets. This decision did not exactly unwind the network’s transaction history, but it relocated the finds tied to the DAO with a newly created smart contract. The purpose behind this was to enable original owners to withdraw their funds.
After this, the DAO took the extra balance of tokens that were left after the hard fork and distributed them to its curators to provide “failsafe protection” to the organization.
Next, in our hard fork vs. soft fork comparison, we’ll take a look at the soft fork.
Basically, a soft fork is the opposite of a hard fork, where the new changes are backward-compatible with the older protocol.
For instance, if a protocol goes through changes and the developers tighten the rules and add a function that does not impact the blockchain’s structure, the older version will accept the newer version blocks. However, the newer version will not accept the old version blocks.
Bitcoin went through a protocol change with SegWit or Segregated Witness. The need for this change arose when a huge number of transactions were weighing down the Bitcoin network and causing delays in processing and verifying transactions. In some cases, it took hours to confirm a single transaction. Implementing SegWit, enabled a greater number of transactions within a 1 MB block, which sped up the transaction verification process.
In a crypto soft fork, the old-version miners would find out that their blocks are getting rejected and they would have to upgrade. As more and more miners upgrade, the orphan old version blocks would lead to more miners upgrading. This is a self-correcting process and because both old and upgraded nodes accept the new version blocks, the new version would eventually win. Lastly, soft forks don’t carry the risk of double-spending.
Hard Fork vs. Soft Fork - Summary
If we talk about a soft fork vs. hard fork, a soft fork definitely is a better option for a cryptocurrency because it does not carry the risk of losing funds and double-spending. This self-correcting way is ideal for cryptocurrencies, but in the end, it depends on the community that takes the decision.