A critical component of the Bitcoin network is the Bitcoin Core software client that's run by nodes. This software defines the rules of the Bitcoin protocol, so in some ways it is Bitcoin. One way to think of Bitcoin governance, then, is as the process for deciding how changes are made to the code. This is an important aspect of Bitcoin, and it will be explained in this article. However, it most be noted that the formalized process for making changes to the Bitcoin code is just one small part of a much larger system. Ultimately, Bitcoin evolves in a quasi-political process that considers a wide array of voices and partipants.
Bitcoin's code upgrade implementation process is formalized through the use of Bitcoin Improvement Proposals (BIPs). These are drafted, peer reviewed, publicly debated, and rigorously tested towards the goal of establishing 'rough consensus' amongst the community. Rough consensus is said to be achieved when most people are satisfied that objections to the proposal are wrong.
Once rough consensus has been achieved, the next step is to integrate a BIP into the Bitcoin software client implementation known as Bitcoin Core. This step is completed by one of a small number of 'core developers' who have commit access to the code repository. Once the BIP has made it into the Bitcoin Core code repository, the final step is for the network of users to install the new version of the software client.
Only when a defined threshold of nodes installs the upgrade can it be considered activated, and the barrier to activation for BIPs that make material changes to the Bitcoin protocol is set extremely high. For example, BIP 141 (SegWit) required 95% of the network’s miners to signal for the upgrade over a fixed period of 14 days.
Importantly, most consequential BIPs introduce 'backwards compatible' changes to the protocol. Backwards compatibility means that any nodes using the new version of the software remain compatible with nodes running the previous version (and vice versa). Backwards compatibility provides nodes, rather than developers, with the final say as to whether a proposal will be implemented. A backwards compatibile update is sometimes called a 'soft fork.'
When a BIP is not backwards compatible, the only way for it to be introduced is through what's known as a 'hard fork.' Here, only nodes that run the new version are compatible with each other. This means that the entire community of nodes must agree to use the new version. If any segment of the community doesn't agree to install and run the new software, the result is two separate chains that no longer communicate. Bitcoin Cash, which is the largest and most consequential of the Bitcoin forks, started in August 2017 after participants in the Bitcoin ecosystem were unable to agree on methods for scaling the cryptocurrency.
No single entity controls the Bitcoin network. Instead, it can be considered a quasi-political system in which a wide array of voices have varying degrees of influence and power. These voices include developers, miners, exchanges, wallet providers, custodians, independent node operators, and end users. Participants are locked into a dynamic interplay where checks and balances prevent any one group from wielding outsized power or influence.
One might look at the fact that there are just 100 developers listed as having contributed to the Bitcoin Core client and conclude that the source of funding behind those developers is a major driving force behind the evolution of Bitcoin. However, one must also consider that there are at least 80,000 Bitcoin nodes - and since most nodes independently decide which Bitcoin Core software client to run, developers can be considered beholden to nodes. Afterall, if developers release software that's incompatible with the consensus of nodes, that software will not be adopted across the network. Meanwhile, the end users of Bitcoin - who number in the tens of millions - have influence over node operators. For instance, if a wallet provider (who operates a node) begins running a version of Bitcoin that runs counter to the wishes of its users, those users can simply switch to a different wallet provider.
Miners are another group of participants that is often put forward as wielding outsized influence over the evolution of Bitcoin. The argument here is that since miners decide which transactions to include in blocks, a contigent of miners who possess more than 50% of the hashpower can hijack the entire network. Even the threat of hijacking the network, the argument goes, could be enough to influence the evolution of the protocol. The reality, however, is that miners too are beholden to nodes (and ultimately to end users). Reason being, nodes (and by extension end users) can simply ignore blocks produced by miners who aren't following the consensus protocol. In this scenario, there will inevitably be another group of miners available to direct their hashing power to the consensus protocol. This other group of miners will rise to occasion thanks to the economic incentive provided by the block reward. The 'renegade' miners, then, will find themselves dedicating their resources to a version of Bitcoin that the majority of users no longer considers the 'real' Bitcoin. They are free to mine new Bitcoins on their new chain, but those Bitcoins will quickly be considered less valuable by market participants, resulting in a significant economic loss for the renegade miners. In other words, powerful economic incentives force miners to fall in line with the consensus of the entire community of participants. This interplay is a key reason the Proof of Work consensus mechanism is considered so powerful for ensuring Bitcoin isn't hijacked a contigent of participants who don't represent the majority.