Over the past year, there have been intense debates about the future of the Bitcoin network. These discussions have mostly revolved around the topic of scaling Bitcoin, and several proposals have been put forward to address the question of how the Bitcoin network will scale to be used by the billions of people and machines we have on this planet. These scaling proposals are not all mutually exclusive, but nearly all of them involve a fundamental change to the Bitcoin protocol that would require what is called a “hard fork.” A hard fork is a change that would cause there to be multiple competing Bitcoin networks, all but one of which would die off as a majority of users decide to use the strongest network.
Because of the potential to split the network, such fundamental hard fork changes are not deployed often. Planned hard forks require an orchestrated software upgrade by multiple stakeholders in the Bitcoin network. Since Bitcoin is a decentralized system that is not controlled by any central authority, whether or not such an upgrade is deployed and adopted by the network is determined by several key decision-makers that must agree to the change: Bitcoin developers, economic Bitcoin nodes, bitcoin-holding users, and bitcoin miners.
Bitcoin developers are the first group that must be convinced that a hard fork change is necessary. If the maintainers of popular Bitcoin implementations do not accept a proposed change, the only remaining options are to fork an existing Bitcoin node software repository or start developing a new implementation from scratch. Convincing developers of an existing implementation can be politically challenging, and starting a new implementation from scratch is a herculean task. Forking an existing project is the easiest route, but still requires convincing a majority of the network to use the fork in order for the change to be adopted by all Bitcoin users.
Economic Bitcoin Nodes
Economic Bitcoin nodes are full nodes that accept Bitcoin in exchange for other forms of value and include Bitcoin exchanges, wallets, payment processors, and businesses that accept Bitcoin in exchange for goods, services, and other currencies. If economic nodes do not upgrade their full node software when a hard fork change is introduced, then blocks that are produced by miners who do choose to upgrade will not be considered valid by nodes that have not upgraded and the blockchain will split. To everyone on the old chain, miners producing blocks with the new software will lose the block reward to a competitor producing valid “old chain” blocks. The economic majority will only choose to upgrade their software if they believe the change is a) beneficial for the long term value of Bitcoin and/or b) acceptable to most of their bitcoin-holding customers.
Bitcoin-holding users that rely on the services of economic Bitcoin nodes have a choice of where to take their business. If an economic node such as an exchange, wallet, or merchant upgrades their Bitcoin node software to implement changes that their customers do not agree with, then those customers may choose to do business with another economic Bitcoin node instead. However, it is not always obvious what version of the Bitcoin software an economic Bitcoin node is running and so the best way for bitcoin-holding users to have influence over changes to the Bitcoin protocol is to run and rely on their own Bitcoin full node for block verification and transaction broadcasting. If a hard fork upgrade is proposed that a bitcoin-holding user does not want implemented, then they may voice their concern to the economic Bitcoin nodes they do business with in hopes of dissuading them from implementing the upgrade. Similarly, bitcoin-holding users can lobby the economic Bitcoin nodes they do business with to implement a hard fork change if that change is beneficial to them.
In the early days of Bitcoin, economic Bitcoin nodes were either nonexistent or not that important, and the roles of “full node” and “mining node” were largely bundled together. Bitcoin miners would use low-power laptop and desktop computers and did not have much of a reason to sell the bitcoin they mined to cover operational expenses. Since then, the price of bitcoin has risen dramatically and bitcoin mining has evolved to become a large-scale industrial operation. Bitcoin miners now rely on economic Bitcoin nodes to convert bitcoin into value that is then used to cover the costs of bitcoin mining. While a hard fork change will never be implemented if miners do not upgrade their software to support the change, miners will only upgrade their software if a majority of the economic Bitcoin nodes have also implemented the change.
It is a common misconception that Bitcoin miners are the final decision-makers about what version of the Bitcoin software is the “dominant” version that drives consensus in the Bitcoin network. The reality is that Bitcoin miners are just one of many stakeholders which must be convinced to upgrade their software, and for game theoretical reasons are actually most likely to be the last to upgrade their software in the event of a hard fork change being introduced. Most Bitcoin miners operate on thin margins and are therefore very conscientious of their revenue and costs. They will only run software which produces blocks that are accepted by a majority of the economic nodes in Bitcoin, who in turn will only upgrade their software if the change supports the long-term value of Bitcoin and/or is acceptable to most of their bitcoin-holding customers. Coordination is therefore required among all of these stakeholders to debate the merits of proposed hard fork changes and make hard but necessary decisions to ensure that the Bitcoin network continues to grow to support widespread usage.
If the Bitcoin protocol does not evolve to accommodate growing demand and new use-cases, then growth could stall and the unmet demand will be serviced by another competing network instead, potentially harming the long-term value of bitcoin and bitcoin mining equipment. It is therefore in the best interest of Bitcoin developers, bitcoin miners, bitcoin holders, and economic Bitcoin nodes to implement changes that support the growth of the Bitcoin network while maintaining Bitcoin’s key innovation as a decentralized solution to the double-spending problem.
 The alternate networks may not die off if the hard fork change proposed is a change to the mining algorithm itself. In this case, there is a possibility that the miners on the old chain will continue mining and serving the users who prefer the status quo to the new mining algorithm.
 A hard fork change could be implemented without miner support if the change is a change to the mining algorithm itself that renders the previous network of miners obsolete.
This post was originally published on lightco.in.