Ethereum, which has been facing scalability issues, laid out a “Modest Proposal” or a three-to-four year plan on how to tackle this and other issues on the ecosystem at its DevCon3 developer conference that took place last week in Cancun, Mexico.
Ethereum has more than 20,000 nodes and each is to process every transaction on the blockchain, meaning that the capacity of the blockchain is, therefore, limits to that of one node. The Ethereum Virtual Machine is also not parallelizable.
Furthermore, with activity on the blockchain running into orders of magnitudes than it was a few years ago, Ethereum founder Vitalik Buterin said that the network was likely to incur high storage costs when it expands in future and sharding would deal with the problem. Ethereum still considers scalability as number one problem.
“There’s a graveyard of systems that claim to solve the scalability problem but don’t,” he said. “It’s a very significant and hard challenge. These are just notorious facts.”
In sharding, data is dividing into subsets and each node will store only a small chunk of the total network. Sharding will allow the ecosystem to process thousands of transactions per second without forcing all the nodes to store terabytes of state data.
The main shard will be the current Ethereum network while the other shards will constitute what Buterin “universes”. Sharding will allow small aggressive changes to introduce into the smaller shards. As it is without taking much time while more cautious changes can implement on the main shard.
“Other universes where all this stuff we’ve been working on these last few years can be rolled out much faster,” he said.
Nodes will rely on each other for data.
It is a difficult task though because the protocol needs to be able to deal with a number of issues. Such as having the ability to detect fraud such as invalid verification of transactions by certain nodes. The possibility of attackers taking over nodes and using them to validate transactions, and dealing with cross-shard communication.
Once the proposed system is in place, other upcoming updates will follow. It includes upgrading of the ethereum virtual machine (EVM) and implementing of the “stateless clients” idea. Since, that allows clients to sync with the network more quickly.
Video to the talk: https://www.youtube.com/watch?v=Yo9o5nDTAAQ