Mythbusting: "Bigger blocks means less full nodes"
Ceteris paribus
Everything else being equal, increased node cost means some people operating full nodes will cease to do so because it becomes too expensive for them .
This is pretty much the depth of analysis of the situation by the general crypto community.
Taking this to its logical conclusion means that the smallest possible blocks, which means lowest cost to run a node, will bring the most full nodes.
Arguments worth repeating
This logic is severely lacking nuance. The best explanation I've seen on why this is comes from Dr. Peter Rizun, Chief scientist at Bitcoin Unlimited. I'll use the relevant slides from his talk "Block Propagation and the Z-parameter" from June 2016 to explain his arguments on "bigger blocks mean less nodes". If you prefer to watch the full (35min long) talk you can find it here. The scope of his talk is intentionally broad, the part relevant for this topic starts at 18:40.
I think these arguments are worth repeating because they are somewhat buried in a older technical talk and deserve to be more in the forefront precisely because of many people in crypto still do not see the important nuances.
The model
Below is the standard supply and demand curve from economics. The upward slope of the supply curve can be explained by taking into account that adding extra bytes to a block increases its orphan risk, where the block loses a race condition and get rejected by the network. If adding a transaction costs more in orphan risk than it pays him in fee it is unprofitable to add it to his block.
Q* is the equilibrium, and what the blocksize will tend towards. The vertical red line Qmax represents the maximum blocksize allowed to be produced by the blocksize limit, this is essentially the network capacity .
The slide is called fallacy #2 but Peter Rizun explains there is an element of truth to it.
Using the model above we see we can only get bigger blocks or an equilibrium more to the right if either the supply or demand for blockspace increases.
Increase in supply
Let's follow the flow of the talk and start by an increase in supply. This happens when the orphan risk is reduced, because of technological improvements in block propagation for example.
Most of the time people just assume that bigger blocks always means higher cost to run a node and that this in turn leads to less full nodes.
But in this case we see that nodes also got better at handling load and can propagate bigger blocks without having a higher cost. This is displayed as the network capacity which shifts to the right, by increasing the blocksize limit and keeping a margin between actual and maximum usage. We see that an increase in the supply of blockspace doesn't get rid of any nodes who were capable of keeping up previously.
Increase in demand
The second way to get bigger blocks is the increase in demand which would be more people adopting and using cryptocurrency.
As in the previous example the maximum blocksize gets increased to accommodate the extra traffic with a margin but this time only 80% can handle higher traffic/will still run nodes with the higher cost. The increase in demand would be because of an increase in users which means more people to run nodes, so it's not clear if this would mean more or less nodes in total! So in this case, with an increase in demand for blockspace, there are factors that both increase and decrease the nodecount.
More users, more nodes
People don't run nodes because the cost is low, they run them because they find them useful and care about the network. This means the more people the network is useful to the more full nodes. This might sound extremely obvious but some people seem think the only way to get more bitcoin nodes is to lower the cost of running one. Going back to the example of the beginning of "smallest possible blocks", we see that blocks this small not provide a useful network to anybody and would have almost no nodes.
What not to do
Of course this is not to say that protocol developers recklessly ignoring concerns can not lead to a rapid decline in the number of full nodes because of huge nodecosts.
The prime example of this is BSV, where this exact thing happened. A prominent business building on BSV, moneybutton, explained in an article that their node crashed because it couldn't handle the load of a the network during a mainnet stresstest. They explained their node ran out of memory and that their "new instance will cost thousands of dollars per month to operate". They state in the blogpost that it will become too expensive to run a node for them.
The huge nodecost is not because of the overall size of the chain which is still 77 GB smaller than BTCs at the time of writing. The nodecost is because of huge (200+ MB) blocks which causes nodes to crash and forces operators to upgrade to more expensive hardware. Here is an example of a 210MB block which crashed many BSV blockexplorers and required BitMEX to double the memory of their node.
Note
This article does not explore whether node count is a good measure of "decentralization". Some people (from the BTC camp) have argued that the number that matter is the percentage of network participants running a full node. Even others use node cost as a way to measure "decentralization".
Peter Rizun talks about one of the cornerstones of Bitcoin Unlimited in the presentation: the idea that there should not be a centrally planned limit on the maximum blocksize. He mentions his research paper "A Transaction Fee Market Exists Without a Block Size Limit", the argument on this front are totally separate from the "Does bigger blocks mean less full nodes?" question this article set out to answer.
In conclusion: the claim "Bigger blocks means less full nodes" is not looking at the full story. Bigger blocks only lead to less nodes if the change in size is because of more demand for blockspace and the effects are not offset by new users entering the ecosystem
great article, thank you!