Maybe optimizing the base protocol of BitCoin does not even make economical sense: A strange idea.
I want to ask a controversial question that I have seen almost no one ask before, I do not claim to have the answer but I will do my best to play devil's advocate. Here it is: does it even make economical sense to "improve" or "optimize" the base protocol of bitcoin ?
Now, this question might sound dumb to you, but I think that as we try to learn more about Bitcoin, a very complex interdisciplinary field, it is important to ask ALL questions, even the ones that sound dumb, and be ready to reconsider all our preconceptions.
First of all, a disclaimer: "optimizing the base protocol" does not apply to removing the limits that were added on top of the original client like the blocksize limit. I am talking about changes that impact how mining and validation works from day one, and I am talking about mining as a competitive process with real life requirements like bandwith, cpu power, electricty costs etc.
Competition by design
At first, most users would run network nodes, but as the network grows beyond a certain point, it would be left more and more to specialists with server farms of specialized hardware. — Satoshi in 2008
The design supports letting users just be users. The more burden it is to run a node, the fewer nodes there will be. Those few nodes will be big server farms. — Satoshi
If we agree that the goal is to create competition and it all ends up in a few big mining farms like Satoshi envisioned, we realize it is not always a good idea to "optimize" the base protocol because it might weaken the competition process. What most people are missing is that the inherent functionality of Bitcoin is competition. Bitcoin mining is actually a Red Queen's race:
The phenomenon's name is derived from a statement that the Red Queen made to Alice in Lewis Carroll's Through the Looking-Glass in her explanation of the nature of Looking-Glass Land: "Now, here, you see, it takes all the running you can do, to keep in the same place."
Those lines became famous as an analogy for competing species in the evolutionary process. Under this interpretation, species have to run to stay in the same place, which means they have to constantly evolve just to remain significant, or else they would go extinct. The same concept is also used in economics as an analogy for market share: businesses have to compete and improve all the time just to keep the same market share, or they are outcompeted by more innovating competitors. This is exactly what happened to Nokia some years ago and led to the famous parting quote:
Money is one of the very few things that actually benefits from being stable as a protocol since it is based on trust. Trust grows in the absence of change, but we can still innovate on the entire ecosystem built above the protocol.
"Improving" the base protocol can be seen as only a way to delay the competition process of miners for a few months or years. What is really gained from it ? And we must also consider that by changing the base protocol we add risks of bugs, opening zero-day attacks like the recent catastrophic inflation bug discovered in Bitcoin Core on BTC, and technical debt.
Bitcoin mining is like a board game
Look at it like a board game, or even a video game: we all benefit from playing the game because we learn about interacting and strategy, and we get to know each others while having fun. Sure we could make the game simpler for ALL players, but this would probably decrease the enjoyability we get from facing the challenges that make the game interesting. What is really gained from it ? We CAN decrease the difficulty for all players, but we SHOULD NOT, because despite the naive belief that "a simpler game for all is better", it would actually make it boring and we would abandon it in favor of another more mentally challenging game. Like all games, it is about finding the right balance between enjoyable and challenging, but it certainly isn't about "making the game as simple as possible".
On the other hand I am not saying that any improvement is a bad idea. For example if improvements can be done on a individual miner's level, then the miner will do it as long as he still follows the consensus rules, aka the improvement is private. This is competition 101. Actually this exact scenario already played out with ASICs: a private company invested to find an ASIC or to find a more efficient one, and this was totally invisible to all the other miners. You cannot tell the difference from just watching the blocks being mined, you only see the economic advantage this miner has gained after you realize that he mines more and more blocks and now has more "mining share" (same concept as market share but for bitcoin mining). The thing is, by that time it is already too late for you to catch up. You can see that this whole process is more focused on economics than technical improvements. Sure ASICS are a technical innovation, but the reason why ASICS were created and improved is economical. Most improvements can be driven and adopted in this way, such as parallel validation like the Flowee client is doing in private without requiring a change of the consensus rules, or like Graphene for propagation time.
Let's look at another example: what's the point of improving propagation speed at the base protocol level ? Is it to help "small" miners that do not have good infrastucture ? but they will be kicked out anyway when blocks become bigger, and we do want bigger blocks don't we ? And if they are already willing to improve their infrastructure, then they are the miners we want and they do not need subsidies from changing the base protocol. This holds true as long as the majority-hash works well at peak usage plus some margin, and stress-tests are here to make sure of this. What's more, these miners can invest in their own competitive advantage: better private software and better private hardware and connectivity.
So what's the point of changing the consensus to "help" miners when the goal is to have miners compete as hard as they can ? This is why we do not try to "improve" the energy that is spent in bitcoin mining at a protocol level, but each miner has incentives to individually and privately improve it to remain competitive.
Maybe we do NOT want to optimize the protocol because it is useless in the grand scheme of things. Only competition matters, so improving ALL miners at the same time accomplishes nothing but to introduce risk. It is like doubling everyone's currency balance, it LOOKS like everyone is richer to a naive person, but the reality is that it changes strictly nothing in the economy and the whole process was a LOSS of time, energy and ressources for no return: a net loss.
In the same way, no country gets richer by printing more money, as illustrated by the now sadly (un)famous Zimbabwe's one hundred trillion dollars bill. Yes this is not a joke, this is a picture of a real bill:
We need to make sure that upgrades are done when they actually improve the USER EXPERIENCE, not the miner experience. For example, raising the blocksize improves the user experience, at the expense of the weakest miners who do not have good hardware, good software or good connectivity to process larger blocks. Yet it is a positive change. When I talk about improving the user experience, I am also including into it the certainty that users, who can also be businesses in our case, can have that the Bitcoin blockchain can scale several orders of magnitude above current usage. This is important to make sure that they can safely build on it without fearing that their app will create a massive backlog (cryptokitties anyone?). This is known as the fidelity problem and the recent BCH stress test was an excellent way to display scalability. I hope more are coming. Stress tests are also a good way for miners to make sure they are still way ahead both on software and hardware.
Any "improvement" made for miners that is not a required improvement for something that actually limits user experience, is a way to "subsidize" all miners, especially the weakest ones. But the money saved from that investment will be quickly reinvested in being more competitive in mining, so the weakest miners will be droped out anyway, and we end up with the same economic situation that we had before. It is not a zero-sum game, it is a negative sum game: the energy is lost for no added value. This is like any centrally planned economic intervention with "good intentions". But Bitcoin is capitalist-incentives made into code. That's why the hashpower-majority of miners, if they act rationally and are well informed, will not see value in such a change and thus will not mine it. And as bitcoin becomes more professional, miners have better incentives to get well informed.
However, if an optimization of the base protocol is needed because we hit a scaling limit that actually damages user experience (and for clarity I am convinced that we don't have a scaling problem in Bitcoin, but let's pretend it happens in the future) then miners will enforce the protocol change and they will not ask the community nor create a debate on social media. They will just do it on their own by funding devs, adopting what they think is the best solution and voting for it with their hashpower.
In a nutshell: the system is already designed such that the competitive mining incentives drive only the optimizations that secure and improve the network.
This article was 100% free. Did it got you thinking ? Then feel free to buy, tip or donate, thank you ! :)
You are also free to check my previous article where I ponder the idea that the big-blocks VS small-blocks war was probably not avoided but just put-off, and that miners might come back after the small-blocks blockchain with a vengeance in a few years.
5 of 5 reviewers say it's worth paying for
0 of 5 reviewers say it's not worth paying for