Forking, the process of replicating and modifying existing code, is an essential part of open-source cryptocurrencies. But because these networks lack a central authority, the challenge of implementing new features can be daunting. To do this, the development and security of the network must be deliberated by a carefully considered governance. To explore how this can be achieved, let’s look at the participants involved in such decision-making processes, their roles and how hard forks & soft forks are used to upgrade and maintain the network.
Within cryptocurrency networks, three players are most closely involved: developers, miners and full node users. Developers are responsible for creating and updating the code, with anyone able to contribute. Miners secure the network via Proof of Work and are rewarded for their efforts in the form of a block reward. Lastly, full nodes are core parts of the network and validate, send and receive blocks and transactions, as well as maintaining a copy of the blockchain. These roles can intersect and while many users are content to use light nodes, there need to be developers, miners and full node users in order to engineer new features and ensure healthy competition within the network.
The concept of hard fork and soft fork are exclusive to blockchain space, and it is important to understand the differences between the two.
Hard forks are backward-incompatible software updates, which occur when nodes add new rules in a way that conflicts with the rules of old nodes. This results in the blockchain splitting, creating two completely separate networks from the chain prior to the fork. As a result, if you held 5 BTC before the fork you would now hold the same amount of coins in two different accounts. An example of a hard fork is the Bitcoin vs Bitcoin Cash fork of 2017. This occurred when two portions of the team disagreed on how best to scales and whether to increase the block size or not.
Soft forks however, are backward-compatible software updates. They involve adding new rules which don’t clash with the original rules, resulting in the upgraded nodes being able to still communicate with the non-upgraded ones. A good example of a soft fork is Segregated Witness (SegWit) which changed the format of blocks and transactions. Old nodes could still validate blocks and transactions, but they just weren’t able to understand them.
Ultimately, both hard forks and soft forks are integral for the growth and health of open-source cryptocurrency networks. They’re crucial for implementing new features and give network users the power to make changes without needing the approval of a central authority. Without forks, the crypto space would be a much different place.