There are limits to blockchain scalability in order to not sacrifice decentralization, according to Ethereum (ETH) Co-founder Vitalik Buterin, and “you can’t “just increase the block size by 10x”,” as was Tesla‘s chief Elon Musk recently shared idea.
While Musk recently tweeted about speeding up dogecoin (DOGE)’s block time and increasing the block size, according to Buterin’s post, certain relevant technical factors limit how much a blockchain can be scaled. Even if sharding is added, there are still limits. Even with solutions existing for many of the issues, there are still limits – but the good news is that some are quite far away.
There are two ways to try to scale a blockchain, he said.
1. Fundamental technical improvements
This one “can work,” Buterin said – but it comes with some ‘buts’.
In Ethereum’s case, the main bottleneck is storage size, he argued, and is the one that core developers are most concerned with.
Statelessness and state expiry can fix it – to an extent. Statelessness allows for a class of nodes that verify the chain without maintaining permanent storage, while state expiry pushes out state that has not been recently accessed, forcing users to manually provide proofs to renew it. Buterin said that these paths have been worked at for a long time, and proof-of-concept implementation on statelessness has already started.
But, these would allow an increase of maybe up to 3x, and not more than that.
When sharding is added (in Ethereum’s case, quadratic sharding), sharded blockchains can scale “much further,” because no single node needs to process every transaction. “Sharding fundamentally gets around the above limitations, because it decouples the data contained on a blockchain from the data that a single node needs to process and store,” said Buterin.
This, however, comes with limits to capacity: as capacity goes up, so do the the minimum safe user count, the cost of archiving the chain, as well as the risk that data is lost if no one archives the chain.
However, the good news is that, per Buterin,
“We don’t have to worry too much: those limits are high enough that we can probably process over a million transactions per second with the full security of a blockchain. But it’s going to take work to do this without sacrificing the decentralization that makes blockchains so valuable.”
The theory to accomplish this is well-established and proof-of-concepts based on draft specifications are already being worked on, he said.
Per Buterin’s April post, sharding is “the future of Ethereum scalability, and it will be key to helping the ecosystem support many thousands of transactions per second and allowing large portions of the world to regularly use the platform at an affordable cost.” It is the solution to the (in)famous scalability trilemma, allowing blockchain to have all three needed properties: scalability, decentralization, and security.
2. Increasing the parameters
On the other hand, this way to scale is “fundamentally flawed,” Buterin said. “Many erroneous takes on how far a blockchain can scale using “simple” techniques stem from overly optimistic estimates” for the three relevant factors: computing power, bandwidth, and storage.
A consumer laptop running blockchain nodes can’t just use all the power validating the chain. A lot of it is needed for a large safety margin to resist unexpected DoS attacks, as well as for running other necessary tasks. Only 5%-10% of central processing unit (CPU) power can actually be spent on block verification.
As for bandwidth, a 10 MB/s connection does not mean users can have a 10 megabyte block every second. In actuality, 1-5 MB blocks every 12 seconds could perhaps be handled, but that too is a stretch.
As for storage, one actually needs substantially more of it than is commonly presumed.
“Increasing hardware requirements for running a node and limiting node-running to specialized actors is not a solution,” argued Buterin. “For a blockchain to be decentralized, it’s crucially important for regular users to be able to run a node, and to have a culture where running nodes is a common activity.”
And why is this so relevant?
According to Buterin, the “elites” in a blockchain community, including pools, block explorers, and hosted nodes, are all probably well-coordinated, and if they were to decide to organize a sudden change to the protocol rules for their own interests, then they probably could do it. The only reliable way to render a coordinated social attack ineffective is “through passive defense from the one constituency that actually is decentralized: the users.”
If every user ran a verifying node, each could automatically reject blocks that break the protocol rules even if over 90% of the miners or stakers support those blocks, and the attack would quickly fail, Buterin claims.
However, just some users running them would lead to chaos, with different users seeing different views of the chain. “At the very least, the ensuing market panic and likely persistent chain split would greatly reduce the attackers’ profits. The thought of navigating such a protracted conflict would itself deter most attacks.”
“There is one thing that’s absolutely clear: more nodes good, fewer nodes bad, and we definitely need more than a few dozen or few hundred,” Buterin stressed.
As reported earlier, the path to the full rollout of Ethereum 2.0 has begun with Phase 0, launched last December. Sharding should come in the next phase, Phase 1, possibly this year.
But Buterin also argued a number of times that sharding should be combined with rollups – a scaling technique that keeps transaction data on-chain, in a compressed form, and which he said “will be the dominant scaling paradigm for at least a couple of years.” ETH 2.0 will bring “rollups on top of sharding,” he said, with which a proof-of-stake (PoS) network might already be reached in Phase 1.5 instead of waiting until the final Phase 2 to launch it.
As for Musk, the Ethereum co-founder claimed that the crypto markets will learn their lesson from the latest price crash and stop hanging on every word tweeted by the Tesla chief.
At 14:18 UTC, ETH is trading at USD 2,434, having gone up 25% in a day and down -32% in a week.