Who Controls Bitcoin
Bitcoin is a system of rules without rulers. There's no president or CEO, no oversight board or ruling council. No one person or group can unilaterally make changes to the software that runs the network. Therefore, no one can be said to be in control.
Understandably, it's not an easy concept to grasp. Police enforce laws. Government regulators oversee our financial system, and large institutions can wield outsized influence. The sports that we love all have referees. Even children playing games will scream to their parents if they think someone is cheating. Yet, in our day-to-day lives, there's simply no analog for how Bitcoin works.
But it does work. Bitcoin has been chugging along, producing blocks without interruption since it launched in 2009. It stands in defiance of our deeply ingrained belief that someone, anyone, needs to be in control lest there be chaos.
Satoshi designed Bitcoin with all of this in mind. The protocol was meant from the very beginning to be orderly without guidance, equitable without interference, and reliable without trust.
To understand how Bitcoin achieves this balance, it's worth considering the incentives for each subset of network participants to follow the rules and how they're limited in their ability to influence them.
Developers
At first blush, it might seem like the developers who work on Bitcoin's code control the protocol. There's some truth to this. It's the developers that maintain the code that ultimately dictates the rules. But there's a catch: Bitcoin is a peer-to-peer network.
Let's take a step back. The vast majority of software that we interact with, be it websites or the apps we run on our phones, is maintained by a central server or entity. When you want to use that website or app, you interact with a codebase that lives on a server you have no control over. If the website is updated and thus user rights are altered, you can't decide to go back to an earlier version that you preferred. Apps require updates so that you can continue to use them. It's an asymmetric relationship where the user has no option other than to go along with the changes made by the owner of the code.
Bitcoin doesn't work that way. Bitcoin is a peer-to-peer network where each participant can choose the version of the software they want to run. If Bitcoin's developers change the protocol, they can't compel participants to accept it. Instead, nodes, the computers that run the Bitcoin software, can decide not to download the new version and continue to run the iteration of their choice. Equally important, if a person does download an upgrade, they aren’t locked in. A node can always be rolled back to the older software if the latest release doesn’t meet expectations.
Miners
Miners secure the Bitcoin network. But, despite the prominent position they hold, they don't have any more control over the network than anyone else.1
For example, a miner who tries to break the rules by rewarding themselves more bitcoins than allowed for finding a new block will have their request denied by nodes, thereby expending energy and receiving no bitcoins in return. Miners can choose to censor transactions by not including select ones in their blocks. Still, by doing so, they'd be going against their economic interests. Other miners will happily pick up the transactions and collect the associated transaction fees.
Nodes
Nodes are Bitcoin’s referees. They maintain the ledger of all transactions and validate each block before it can be added to the chain. Like referees, nodes enforce the rules, they don’t make them up. They can’t make changes or decide to arbitrarily follow some directives and not others. If they tried to do so, other nodes won’t agree with them and the offending nodes would be left out of consensus and able to refer to only those that changed the same rules in the same fashion.
With that in mind, you might think nodes yield very little control. But that’s not quite true. While nodes don’t directly contribute to changes like developers, their power comes from their intransigence. Once a node has been set up, its operators need to be convinced to make upgrades. As mentioned above, developers can propose changes, but if nodes don’t adopt them then it’s all for naught. Nodes can simply refuse to adopt upgrades that they don’t agree with.
Exchanges
Why mention exchanges here? There are two reasons. The first is that they operate nodes and those nodes facilitate transactions for their users. So all of the above points about nodes are relevant to understanding how exchanges fit within the system.
The second reason is that because exchanges are the gateways for most people, they can control what "Bitcoin" their users see. In this sense, exchanges are central servers for their clients. As a result, users implicitly agree to the rules of the version of Bitcoin that the exchange has adopted.
An exchange could conceivably adopt a variant of Bitcoin that changes critical aspects of the rules while presenting it to their users as the "real" Bitcoin. Doing so, however, would create a security risk if miners didn't support the new chain and would alienate the exchange's users. It's an unlikely scenario, but a large exchange could use its economic power to influence Bitcoin's rules by threatening to host a hard-forked version.