The Bitcoin block size debate is not just about technical expertise
This article was edited and expanded on February 10th, 2016
There is a misconception in the Bitcoin community that the Core roadmap for how Bitcoin should scale is based almost entirely on the technical judgment of the Bitcoin Core developers.
While the Core roadmap does draw heavily on the substantial technical expertise of the Core developers, there are many non-technical factors that influence the Core roadmap. Many people agree with Core on all of the technical issues, yet still disagree with their roadmap. The roadmap is based on assumptions about economics, group psychology, ethics, and many other things that we should not necessarily expect Core developers to be Bitcoin’s foremost experts in. The roadmap also depends on pure personal preferences.
Consider the following ten questions:
- How much should it cost someone to run a full node? What’s the highest price we’re OK with?
- Does Bitcoin have a social contract? If so what is it, and how much weight should we give it?
- How should we trade off risks to decentralization vs. other things? (Be sure to click through to both links if you find yourself upset by this question.)
- How likely is it that a smaller or larger block size limit will have any significant impact on Bitcoin’s adoption or price?
- How quickly will the costs of bandwidth/storage/computing power likely fall in the future?
- Should we avoid keeping fees low now even if we can do so safely, so users don’t get the wrong expectations for the future?
- How important is the “Fidelity problem” as described here by Jeff Garzik?
- How important is it to encourage adoption in the early stages of Bitcoin’s growth, because of money’s network effects?
- Are controversial hard forks a legitimate method of Bitcoin governance? In this post, Greg Maxwell suggests controversial hard forks are close to theft. Others believe they are healthy.
- How will users, businesses, and investors most likely react to a controversial hard fork?
These questions are very relevant to how Bitcoin should scale, but they all depend on things outside of Core’s expertise.
To be clear, I am not suggesting that Core developers are worse than other smart people at thinking about the non-technical components of the above questions. The Core developers are very capable and have spent a lot of time thinking about the non-technical issues surrounding Bitcoin, but so have many other highly intelligent people in the Bitcoin community.
If Greg Maxwell, Pieter Wuille, and Wlad van der Laan are in a debate about some predicted economic consequence of hard forks with Meni Rosenfeld, Jeff Garzik, and Ben Davenport, we shouldn’t give extra points to Greg, Pieter, and Wlad’s arguments just because they have the most experience working on Bitcoin Core.
With this in mind, what should we make of the claim that the Core roadmap has overwhelming consensus among Core developers, and that this is a strong signal that it’s the best plan? The important question here is: “Are the Core developers the foremost experts on the actual issues that are driving the disagreement?” To find the best path forward, we should consult the best experts in the areas where the controversy actually exists.
To take some simple examples, if the disagreement hinges on a technical issue in the Bitcoin Core code, then it’s reasonable to treat Core developers as the group of experts who should be consulted to determine consensus. However, if the debate hinges on a disagreement about the effect of higher fees on adoption or how important short term adoption is for Bitcoin’s long term health, then we have no reason to restrict the group of those surveyed to Core developers. The ideal group of experts in this case may include some Core developers, but only as a small part of the overall group whose views we consider.
During my observation of the block size debate, I’ve seen many highly intelligent people (including Bitcoin developers who work on projects other than Core) who either agree with Core or are willing to defer to them on the technical issues, but who disagree with Core’s roadmap because of different views on the types of questions I list above. We should not discard the views of these people when determining consensus on non-technical issues just because they don’t work on Bitcoin Core.