While public blockchains have certainly revolutionized the means by which data is shared among participants, they have had one big problem since the very start – scalability.
Updating a blockchain protocol is a difficult task that often requires community consensus – something that is not always easily achievable. But, even if consensus is reached, the update process itself is not the simplest of tasks. There are two types of updates to a public blockchain protocol – soft forks and hard forks.
Soft forks are easier to execute, while hard forks are more complex, themselves splitting into two sub-types. In the first case, a hard fork creates two blockchains that both continue operating, while in the second case it deprecates the old chain and shifts everyone to operate on the newly-created one.
Soft forks explained
Soft forks refer to a change in the protocol of a given blockchain that does not immediately force all nodes on the network to upgrade to the new version i.e. these forks are backwards compatible. This means that nodes can still continue operating (viewing transactions and/or mining new blocks), however, mining nodes risk trying to push invalid blocks onto the blockchain, depending on the new rules imposed by the fork.
Of course, invalid blocks will be rejected as nodes that have already upgraded to the new version will identify them. This will lead to loss of computational resources, which naturally forces all nodes on the network to eventually upgrade to the new version of the blockchain protocol.
A popular soft fork example is the implementation of SegWit (Segregated Witness) into bitcoin. In short, this soft fork more than doubled the space available for transactions in a block by removing the public key and signature and adding them into a separate channel. The goal of the soft fork was to solve the problem of slow transaction confirmation times as bitcoin’s popularity had caught up to its small block size and 10 minute block times. SegWit, which was implemented on July 21, 2017 with Bitcoin Improvement Proposal (BIP) 91, was designed in a way that still allowed older non-upgraded nodes to continue creating the old type of blocks, but also allowed nodes that decided to upgrade to create the new more-efficient blocks.
Hard forks explained
Hard forks, on the other hand, are much trickier to execute. This type of protocol update requires a very steady hand since there’s rarely full consensus on proposed changes. For that reason, hard forks can either upgrade a blockchain smoothly i.e. deprecate the old one and shift everyone to work on the new one, or they can split a blockchain into two separate chains, as happened with the whole Bitcoin Cash civil war or the split of the old Ethereum into the Ethereum we now know and Ethereum Classic.
Hard forks, unlike soft forks, are not backwards compatible, meaning nodes that use old software will not be able to communicate with the network in any way. An upgrade of wallet and mining software is absolutely necessary if a node wishes to continue being a part of the network.
Full consensus hard fork
As we explained, a full consensus hard fork results in the deprecation of the old chain and the full adoption of the new one. An example of a smooth hard fork is the Istanbul update to Ethereum. The hard fork included six Ethereum Improvement Proposals (EIPs), namely EIP 152, EIP 1108, EIP 1344, EIP 1844, EIP 2028, and EIP 2200. The result was a new and better Ethereum network with the old one archived in the history books.
Split-inducing hard fork
In the other case, if no full consensus is achieved among the community, a hard fork causes a split of the blockchain into two new ones. This has already happened many times since the advent of cryptocurrency. A few popular examples include:
- Ethereum splitting into Ethereum and Ethereum classic due to the The DAO hack.
- Bitcoin splitting into Bitcoin and Bitcoin Cash due to lessened trust in the project’s leadership.
- Bitcoin Cash splitting into Bitcoin Cash and Bitcoin SV due to impassable disagreements about the future of the project and dislike between influential figures invested in the project.
This type of hard fork usually causes mass disruption to the market, especially if a major crypto asset is involved. It has been one of the biggest criticisms of public blockchains and their mob-based monetary policies. If disagreements arise, things can quickly turn into a takeover battle as opposing parties fight for the support of mining pools.
Who controls forks?
Now that we covered the differences between soft and hard forks, we will quickly cover who initiates, influences, and implements these network updates. In short, there’s four main groups of actors when it comes to public blockchain management – developers, miners, influential figures, and the public.
Developers are usually the ones that come up with and implement improvement protocols. I want to note here that, in this context, I don’t refer to developers as the people who write code, but I also include any and all types of researchers who also help with the development of the project.
In this context, miners is the sum of all mining pools that are invested in a certain blockchain. They are the ones who are profiting from the network functioning properly, thus are heavily dependent on any changes to the protocol. Misunderstanding between large parts of the mining community of a cryptocurrency is one of the largest causes of split-inducing hard forks.
For instance, when Ethereum founders decided that a fork will be the way to move forward in order to repair the damage caused by the The DAO hack, many of the miners did not agree with it, spurring the emergence of Ethereum Classic. It is an interesting fact that the hacker(s) offered miners a slice of the stolen funds if they didn’t switch to the new Ethereum blockchain that would contain the hard fork that reverses the transactions of the snatched ETH.
Alongside developers and miners, influential figures invested in a cryptocurrency, be it in any way shape or form, also have a hefty say in forks. Typically, these people have strong influence on large parts of the community, in a way acting as representatives of their interest in the governance of the project.
Influential figures are present in every large crypto community, mostly conducting marketing activities on behalf of the project. Similar to miners, if a disagreement between influential figures arises, it could cause an eventual split of the chain.
Finally, there’s the public. While the public doesn’t directly influence forks, they do so indirectly. After all, they are the people who use the cryptocurrency in the real world. Public community backlash has often put a stop to forks, both soft and hard, as managerial figures reflect on feedback and realize they might have overcooked it.
Improvements to public blockchains are a necessity. As projects get more popular, various inefficiencies get exposed and it is only natural for the community to try and find solutions.
So, to sum everything up. Soft forks are backwards compatible and do not instantly force all nodes on the network to upgrade to the new version of the protocol. Hard forks, on the other hand, are not backwards compatible and can either split a chain in two if no consensus is reached or can deprecate the old chain and move people to the new one if an agreement is achieved within the community.
Developers, miners, influential figures, and the public all have their say in network upgrades. In the end, the goal is always to create a better protocol, be it via a small soft fork or a split-inducing hard fork.