It was painful to read Coinbase CEO Brian Armstrong's piece on the state of Bitcoin. There are two reasons for feeling depressed, one technical, one social.
If a majority of bitcoin miners “vote” for a particular upgrade then by definition this is the new version of bitcoin.
Let me quickly describe why this is technically incorrect, and how it points to a social issue that we need to fix.
It is a common misperception that Bitcoin miners determine the shape of the blockchain. So common, in fact, that I had an academic colleague fall into the same trap, where he thought miners could arbitrarily decide to mint 1 million coins for themselves. I wrote this post at that time to dispel this myth.
Perhaps my soccer club analogy (where the administration seems to make the decisions, but needs to make them to the benefit of the fans, and fans routinely push administrations out, just by shouting loudly in a stadium, or sometimes refusing to go in and shouting loudly outside) wasn't clear enough, or perhaps it was lost on the American audience. Let me try to clarify it, with some thought experiments.
If miners can indeed unlaterally decide the shape of the block chain, if they can unilaterally change the rules, why don't they? If you could mint 1 extra coin per block, why would you not? If your answer to this is "because 51% of the miners would not go along with that," then you need to ask yourself why the heck not. There are already suspicions that the Chinese pools are actually just one entity that exceeds 51%. We had three previous occasions when a miner exceeded 51%, and they did not unilaterally change the rules. It literally would take no more than three phone calls to bring together 51% of the hash power. Why doesn't this happen?
Let's see why: suppose some miner did create a block whose coinbase transaction awarded him far more than the 25BTC that is allowed these days. And suppose this miner had majority of the hashing power. He would be able to make a really long chain, longer than the chain that the rest of the miners are able to build. And yet not a single person would honor his misshapen blocks. He can have all the bitcoins on his own blockchain, but he won't be able to convert them to actual wealth. No one would honor them. It'd be like the money I minted with my sister when I was a kid. It was only good for buying toys from each other -- we could not buy any new toys with it, because the toystore only accepted cold hard cash.
I tried to get this point across to Armstrong, who responded with "maybe the right way to think about it is miners have the votes, wallets and exchanges have a veto." That's not right, either. I am always wary of analogies for distributed systems, but let's go through with one, even though it's dangerous because it touches upon cultural biases about the consumer-producer relationship, but nevertheless, it's the best I could do: suppose you live in a town with a large restaurant, with a fat chef, and a small restaurant, with a skinny one. The large restaurant has 51% of the food-making power, while you have all the cash in town (population: you). In this town, does the chef have the vote, and do you, as the consumer, have a veto? Are you compelled to eat everything that the fat chef puts in front of you, and pay him for it, just because he has a large restaurant? If you still said yes to all those, what happens when he starts serving haggis, spleen, and mountain oysters? If you still think you're a helpless consumer controlled by the fat chef, think about it from his perspective: what would he do if you just dropped his dish on the floor, walked out without paying, and checked out the wholesome food prepared by the skinny chef next door? How is he going to convert his food to dollars? Remember, you're the only game in town, the only person with actual dollars; he needs your cash, and all he has is some offal that no one in their right mind wants to touch.
The bottom line is that the consumers in Bitcoin, wallets and exchanges, have immense power. They wield that power, by proxy, through large companies like Coinbase. Where, does anyone think, will the miners convert their bitcoin into cash, if not at exchanges like Coinbase? How will they pay themselves, let alone for their next generation of equipment? And I will be polite and leave alone the touchy subject of their electricity costs.
So it was shocking to me that the CEO of the largest Bitcoin exchange does not realize either his power or his responsibilities.
I made the case that the question is far removed from "do miners have sole authority to determine the chain?" They clearly do not. The miners will go where the wealth is. The real question is "do consumers have sole power to determine changes to Bitcoin?"
And the answer is kind of, sort of -- they have immense power, and should be a major player in discussions over the evolution of the blockchain, but they need to mediate their wishes with those of the miners' and core developers'.
The consumers need some miners, though not necessarily the existing miners, to protect their financial system from attack. So a unilateral break, a complete fork, that goes against miner concerns would be possible, but incredibly ill-advised. It would also be socially ill-advised, as the mining community has been nothing but kind; it's nascent, represents investments made in good faith, and sudden changes that nullify this investment would be hostile. I do not condone leaving miners out, but I want to illustrate the technical limits, disregarding other considerations.
Clearly, if the consumers were to affect a fork without changing the proof-of-work algorithm, the miners who do not like the new rules can use their power to attack the new system. These attacks can get ugly -- malicious miners over 25% pose a danger, so any change that leaves the proof-of-work algorithm intact needs sufficient hash power to deter 26% attacks.
Continuing the thought-experiments, consumers could, in theory, change the rules drastically, in opposition to miner interests, by changing the proof-of-work algorithm along with their desired change. This would render the new system immune to attacks from existing hardware, and render the immense investment in Bitcoin mining moot. It would take us back to the days when GPU mining was profitable, and it would bring back Bitcoin botnets. Going back to those olden days doesn't sound that great, but Bitcoin's security was actually fine throughout those days. Since Bitcoin now has a higher market cap, an uncontrolled change of the PoW can motivate attacks that were previously infeasible. But a controlled switch, backed with some pre-arranged mining pools, is certainly within the realm of, at least, thought experiments.
Obviously, the sensible thing to do is for consumers to work with miners on solutions that capture 75% of the miners' interest. Mining hardware becomes obsolete every 18 months, so miners can adapt, even to drastic changes, given enough lead-time. And at the moment, the miners seem quite agreeable on issues related to changes to the blockchain. They have essentially no agenda, for reasons I described above, and there is a power vacuum, partly because the players seem to be unaware of the dynamics.
A thornier issue are the developers' interests. There are so few developers, and no means of compensating them, that solutions that alienate core developers are non-starters. Now, by "core developer," I mean people who actually contribute code into the repository, not people who make noise on the mailing list. In fact, we could lose all of the latter and end up strictly better off. The former, the actual people who improve the code, are important, however.
My gut reaction is that new developments should try to get at least majority approval among developers. Competent developers familiar with a code base are very difficult to find, and if you lose those, you'll be left with even more ideas-men (and they are always men in Bitcoin) than we do now! But developers are both fungible and cantankerous, and trying to please every single one in an open source project is a losing proposition. The people who did not get their wish will typically go along with a decision. They, too, have high switching costs and are, in economic parlance, sticky.
But now that a huge percentage of Bitcoin-competent developers work for a single company, things are different. We should not have gotten to where we are now: Coinbase and other A16Z-funded companies should have made a more concentrated effort to keep the community decentralized and distributed. This would have had the side effect of keeping A16Z better connected to the cutting edge of research and development in Bitcoin, something they seem to be lacking.
The sensible thing to do now is to just accept current reality, but encourage activities that will lead to more developers interested in Bitcoin, blockchains and fintech. And any sensible VC house who has benefited so immensely from, carried out so much commercial activity around, and invested so much money on open source projects needs to work on fostering a healthy ecosystem around the platforms from which it extracts value. That includes encouraging new developers as well as finding ways to compensate community-driven open-source contributions.