The Tragedy of Bitcoin
Listen here: https://archive.org/details/QR-TheTragedyofBitcoin
According to Wikipedia:
“The tragedy of the commons is an economic theory of a situation within a shared-resource system where individual users acting independently according to their own self-interest behave contrary to the common good of all users by depleting or spoiling that resource through their collective action.”
Traffic congestion is an example of a tragedy of the commons sort of problem. Roads are a commonly shared resource generally paid for by taxation without any sort of supply and demand based pricing. The socialized nature of roads ensures that when the demand is high waiting in line is the only mechanism to govern access, and when demand is low roads often sit empty.
There is no price to allocate access to roads across time. If I don’t drive at noon today that doesn’t mean that I’ll have more space at noon tomorrow. Rather than benefiting me, my sacrifices and conservation efforts just benefit someone else today.
Put simply, it is the socialization of resources that actually destroys the efficient allocation and access to said resources. This is, in large part, why democracy has such a poor track record throughout history. People always tend to vote for someone else to pay for the things they want to do.
If access was based on contribution (pay for what you use when you use it) then people who don’t often use the roads could contribute their earnings to things that better serve them and their community in other ways. Those using the roads most often (contributing most to congestion) would also have incentive to better conserve space on the roadway — particularly at the most high traffic times of day.
The more socialized road funding becomes the more incentive there is for the most active road users to just vote for bigger roads, which would then be largely paid for by other people.
Bitcoin faces a very similar problem.
Transaction fees are a pay for what you use, when you use it, sort of allocation mechanism. But ignoring transaction fees for the moment, if I use more transaction space today that means someone else cannot. If I conserve space today then I do not get to reap the benefits of my conservation efforts at some point in the future.
At the same time, if blocks are made larger, then my cost of contributing to the network rises whether I make more transactions or not. My entire ability to run a node is potentially threatened. This makes bitcoin less secure for me, to the benefit someone who may already be making it more expensive for me to use bitcoin by hogging block-space. This is not how a free market works.
In a free market my decisions are largely free from the burdens of your decisions. The size of my house doesn’t have any real impact on the size of your house or vice versa. And in general people pay for what they have and what they use.
If everyone had to come together and agree on one house size to serve the needs of every individual we couldn’t call that any sort of free market. Systems like this do not scale well specifically because there is almost never any good one size fits all solution to any problem.
A vote on what size all houses should be is inevitably going to harm someone. If the house size is too small, then people who need more space cannot satisfy their needs, and if houses are too big then many people simply won’t be able to ever afford a house.
There is nothing “emergent” about a majority voting houses larger. Especially if only the people with houses, or worse, only those with lumber yards, have any vote at all. A small minority who wants larger houses could continually exclude more and more of those who want smaller houses by repeatedly convincing the majority to make houses only slightly larger. Portions of those who support small houses would be excluded each time, so those who want larger houses become an ever increasing portion of an ever shrinking network.
When it comes to bitcoin, some of the changes being proposed by a loud minority would make it possible for a small portion of the miners to push for what is essentially a vote to increase the blocksize at any time. These pushes, requiring people to accept or reject larger blocks, inevitably create orphaned chains and disrupt the network. And this is on top of potentially permanently excluding nodes each time they occur.
Significantly increasing the amount of data that the network needs to move, increases the operating costs for smaller miners too. This sort of thing can, and I think is likely to happen over and over until only a handful of large players can afford to run nodes or participate directly in the bitcoin network at all.
The ability of those with more means to impose costs on those with less is a serious problem. And when there are only a small number of nodes to which everyone has to connect then decentralization is dead, security and censorship resistance are gone, and the giant nodes that remain would be gate keepers. There is no “go back” or “undo” button. Bitcoin as a potentially world freeing digital currency would simply be dead.
The solution: Nodes need to be modular so that costs can diverge.
If I can run a base node that keeps my transactions secure, and someone with more resources can run a base node and also open many Lightning Network (LN) channels, or maybe store and validate extension blocks or side-chain transactions, then they can expand their own ability to make transactions without just hogging block-space and imposing costs on someone like me. In fact, they become an asset to me, potentially facilitating my own ability to avoid transaction costs and reduce my overall blockchain footprint.
This ability to run a node that validates extension blocks and side-chain transactions really means that people on both sides of the block-size debate can actually coexist in the same network and benefit from one another. Big blocks and small blocks can exist together within the bitcoin ecosystem. The lack of a scaling and transactional mono-culture is very likely to make bitcoin much more secure and to improve its anti-fragile nature.
The tragedy of the commons problem would also largely be eliminated.
If we want a truly “emergent consensus” or for the best approaches to scaling to be voluntarily determined and adopted by the community, we need a wide range of competing efforts. A hard fork to bigger blocks would exclude all who disagree and prevent such a resource heavy approach from having to compete with lighter and nimbler layered solutions.
Maintaining relatively small blocks would mean that everyone’s base cost of running a full node would be relatively affordable. In our house analogy most people could still own houses if they wanted to, and fewer people would be excluded from direct network participation, or the direct ownership of real-estate in the “neighborhood.”
So long as people can choose to also accumulate many LN connections, and store and validate extension blocks or side-chain transactions, then the network does not restrict the growth of businesses who need to be able to process more transactions. In other words, the people whose needs aren’t met by the base house size can also add a garage and additions and extensions of nearly any size and combination. As a result the best network scaling solutions can actually “emerge” from many different efforts within the same network. Efforts which can all exist in a simultaneously competitive and cooperative manner.
It was suggested on reddit that the house analogy in this article isn’t perfect. I agree, but that doesn’t mean it isn’t still useful. There are maps of all different kinds, and no map can ever actually be the territory. Sometimes incredibly simple maps are the most useful.
It might help to point out that we can ignore the cost of land and the general proximity to things, because neither of those really apply to bitcoin.
So, we are talking about living space that exists in a vacuum of sorts (spaceships?). As long as there is no rule that says that if you build a bigger house, I have to build a bigger house, then your efforts to scale your living space won’t really harm me. It’s all mostly a pay for what you use sort of system.
If houses represent nodes, then when it comes to Bitcoin all the actual living — all the space for transactions — exists within people’s houses. People who cannot afford a house still have to be housed by someone.
In other words, other people’s transactions are still stored on all nodes — unless some transactions are happening on LN nodes or on sidechains which would allow compressed aggregates of transactions to be stored instead.
With bigger blocks your house needs to be the same size as the mansion across the street and has to have space to host all the same guests. With the LN and sidechains (the rough equivalent to database sharding), your house only has to be able to store picture albums of what goes on in other people’s mansions. Obviously that would be much less of a burden on anyone who doesn’t have the resources to own a mansion.
An extension block proposal has also been put forth since this article was written. This could be really exciting, but only if it is a truly optional upgrade. If miners or nodes that cannot afford to mine and validate extension blocks are put at a disadvantage in terms of security or full participation in the bitcoin network, that would make extension blocks (at least in this proposal) a rather poor solution to bitcoin’s tragedy of the commons problem. If that is the case then the additional capacity and/or features being introduced by extension blocks may be more desirable in the form of sidechains.