2021-05-24 20:00:38
Contrary to Musk's Idea, You Can't Just Increase Block Size, Says Buterin
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.
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.
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."
5.4K views17:00