Tragedy of the Commons
An economic problem in which every individual tries to reap the greatest benefit from a given resource. As the demand for the resource overwhelms the supply, every individual who consumes an additional unit directly harms others who can no longer enjoy the benefits.
We rely on node decentralization to protect the Bitcoin network against a host of attacks, bad behavior by miners, and to ensure the censorship resistance of the network. Yet there is no direct financial incentive for running a full node. The incentives that do exist, as pointed out by Gregory Maxwell, are useful, but insufficient for most users. Bitcoin has ~5400 reachable nodes, yet /r/Bitcoin’s readership is nearing 200,000 users. Today’s incentives for running a full node simply don’t appeal strongly enough for most users to make it worthwhile to do so.
Some argue that the most effective way to increase the node count is to bring more users into Bitcoin via an increased block size.
Absolute versus relative node count
This argument was best summed up by Roger Ver when he claimed that it isn’t the percentage of users running nodes, but the absolute node count that matters in Bitcoin. If Bitcoin has, say, 5,000 nodes and 100,000 users today, should we not prefer 10,000 nodes and 1,000,000 users, despite the fact that the ratio of nodes-to-users has dropped from 1-to-20 to 1-to-100? After all, node count has doubled in this scenario, so the network should be more secure despite the percentage drop, right?
We can be confident that this logic holds up, at least in terms of what will happen to node count if Bitcoin’s users increase dramatically due to a higher block size limit.
What we can’t be confident about, however, is the quality of the nodes on the network.
Pushing costs from users onto nodes
A higher block size increases the cost of a transaction at the expense of the node operator. In today’s network, the user who relies on a lightweight client must pay transaction fees to reserve space in capped blocks; we can think of this as a mitigation of full node operational costs. While node operators don’t collect these fees, they save on bandwidth, hard drive space, and processing power requirements. These are very real costs that add up quickly for someone running a node as a hobby. The current capped block size forces transactors on the network to attach worth to their transactions.
We can safely assume that a block size increase will cause at least some current operators to drop from the network as the cost of user transactions is pushed onto network nodes. However, what about the argument made by Ver et al. that new nodes will come online as a direct result of increased transaction capacity?
Not all nodes are created equal
Under today’s current block size, bandwidth, and processing requirements, a user can easily run a fully validating node on a Raspberry Pi with a decent internet connection. The same may be said of Bitcoin with 2MB, 4MB, or even 8MB blocks. Once we get beyond those numbers, things quickly change.
Thanks to an incredible tool built by Ian Coleman, we can quantify the increased burden.
The typical U.S. fixed broadband customer enjoys about 19mbps up and 55mbps down. Using today’s node count and block size, a user would need to have roughly 4.67mbps up and 0.67mbps down — so we have a margin of safety on bandwidth. When we bump the block size to 16mb and increase the node count to 10,000, we’d need 74mbps up and 11mbps down. The gain on transaction processing is significant, moving us from 7 transactions per seconds to 118. Still, this is nowhere near the levels needed to take Bitcoin mainstream and blows through our bandwidth margin of safety in the U.S., where 27% of the Bitcoin node count lives.
Note: This is without factoring in data caps that many broadband customers face, and doesn’t factor in other bandwidth usage, such as transaction relay, node syncing, internet browsing, etc.
Using the same numbers as before — 1mb blocks increased to 16mb blocks. Disk capacity needs to be about 53GB per year under 1mb blocks and about 850GB per year under 16mb blocks.
Storage itself is actually pretty cheap. A 6TB external hard drive can be had for ~$200. That said, a user running a node on a Raspberry Pi might have a hard time integrating the necessary external hard drive, as it would need a separate power source. It’s a pain, but doable.
Data center nodes
If we jack up the block size to 16mb, nodes run on personal devices in will start going offline. The overall node count may increase, but if it does so it will be because of center based nodes coming online.
In this case, nodes effectively become centralized by virtue of occupying many of the same physical spaces.
Short term gain, long term pain
This type of tradeoff would put Bitcoin in a dangerous scenario, lending potential for both concentrated attacks on the network and even censorship by motivated state actors.
John Ratcliff nicely sums up the fact that putting Bitcoin in danger this way doesn’t even solve the scalability issue:
Let’s say you would like to support one hundred million people world-wide to be able to use bitcoin with an average of just one transaction per day (say 1% of the world population). You would need a 400mb blocksize to meet that demand.
So, let’s just dismiss this notion that we are going to provide access to the bitcoin network for the general world population directly on chain. That is simply not going to happen. So, realizing that, what is the purpose of making ‘feel good’ increases of the existing blocksize limit that solves absolutely nothing?
The points above are rarely, if ever, addressed by those in the large block community. Instead, we hear rhetoric around censorship, freedom of choice, and Satoshi’s original vision of Bitcoin. These red herrings distract from the substance of why Bitcoin works so well today, and why it’s important to protect its future while sustainable scaling solutions are developed.
The Bitcoin community as a whole will be better off when we realize that massive onchain scaling is a dangerous prospect given today’s technology, and that other solutions exist that can help right now while we work on scaling Bitcoin for worldwide demand. We just have to walk towards the light.