Proph3t's homepage

https://metaproph3t.github.io

The Meta-DAO Project


Why the number of full nodes doesn't affect decentralization

In The Limits to Blockchain Scalability, Vitalik discusses why he thinks it's crucial for regular users to be able to run a node. Basically, his argument is that regular users verifying the chain is what keeps validators from introducing invalid state transitions. I think this logic is flawed for a few reasons described in this post.

Verification of state transitions doesn't matter unless it intermediates access

Suppose, for the sake of argument, that the recent whistleblower claims are true: there are aliens on Earth. Now suppose that these extraterrestrial creatures have, unbenknownst to us, been validating the Ethereum blockchain. Every 12 seconds, they download the latest block and apply all of its transaction to their local copy of the state, meticulously ensuring that there have been no invalid state transitions. Are the aliens helping secure Ethereum? Do they stand as a bulwark against the attack Vitalik describes?

Unfortunately, the answer is no. No doubt, the aliens would instantly spot any invalid transactions. But unless they frantically raise the alarms, alerting Ethereum users that a malicious transaction has been inserted into the ledger, all of the aliens' meticulous checking will have been for naught.

But don't lose hope! Even without the aliens protecting them, the users may be secure against such an attack. For example, if everyone is running their own full node and has connected their wallet to it, users will automatically reject the invalid chain. Or, if users don't run full nodes but instead use an RPC service like Infura to intermediate their access, users will be okay as long as their RPC service doesn't join the attack. The point is that the number of honest nodes and malicious nodes doesn't matter; what matters is whether users are intermediating their access via honest nodes or malicious nodes.

In reality, users do not intermediate access with full nodes

Ethernodes lists 6,720 distinct Ethereum nodes. According to this TechCrunch article, MetaMask has surpassed 30 million monthly active users (MAUs). This means that even if every single node operator was using their node to intermediate access to Ethereum, only 0.02% of users are accessing Ethereum via their own full node. The remaining 99.98% of users are trusting someone else to verify the chain on their behalf, like Infura, Etherscan, or Coinbase.

The geographic dispersion of nodes, visualized. The hotspot on the East Coast of the United States is Ashburn, VA, where Amazon has a data center.

In other words, the vast majority of users do not run full nodes. And it appears that their predilection for not doing so has little to do with cost: Solana, a network that is exponentially more costly to validate, has 2,421 nodes as of March 2023. That's right: despite Solana being 5 years younger and costing at least 1 order of magnitude more to validate than Ethereum, the two networks' node counts are relatively close.

Wat mean?

The point is not even that Solana is almost as decentralized as Ethereum, and that Solana's trade-off makes sense. The point is that this trade-off doesn't exist, and that Solana may be more decentralized than Ethereum. After all, consider that two firms - Consensys (which owns MetaMask and Infura) and Etherscan - have a near duopoly over intermediating user access to Ethereum, whereas Solana has many competing wallets and explorers.

So what does matter for decentralization, if not number of nodes or hardware requirements? Here's a list: