I’ve been heavily invested in Ethereum since it appeared, so I was very interested in Vitalik Buterin’s recent talk at Devcon (he’s the creator of Ethereum), which he called “a modest proposal.” He told his audience that he has been “quietly working on a new long-term plan for the future of the blockchain network.” It is a essentially a three to four year roadmap outlining his vision of the potential technical developments that Ethereum can achieve, and as anyone who owns ETH will have noted, the value of the coins showed some upwards movement after his speech.
What does his vision include? At the heart of it is something called ‘sharding’. Without getting too technical, this is defined as: “A database shard is a horizontal partition of data in a database or search engine. Each individual partition is referred to as a shard or database shard. Each shard is held on a separate database server instance, to spread load.” This was something that Ethereum watchers had expected to happen, but Bueterin finally solidified his strategy for using the shard technique.
Expanding Ethereum’s scalability
His roadmap points to problems with the platform and solutions for fixing them. His focus in the talk was on scalability, as Ethereum nodes need to store everything that ever happened on the network. Buterin emphasised the need for solutions that mitigate expensive storage costs that could escalate exponentially as the system expands.
It was clear from his presentation that he wanted to encourage Ethereum developers to think about this aspect when he said: “The amount of activity on the blockchain is orders of magnitude larger than it was just a couple of years ago,” and pointed to daily transaction rates and the 20,000 nodes plus that are now part of the network.
Buterin’s view of sharding
Buterin seems to see ‘sharding’ as the most probable solution to the problem. This way of partitioning data into subsets means that each node would only have to store a small amount of data from the entire network. But, Buterin wants a system where “the underlying math would hold the system accountable, and if they need it, nodes could rely on other nodes for data.” How to execute this in practice and ensure security, i.e. no nodes sending other nodes false information, is something that researchers have been looking into.
From the talk we now know that Buterin has a less conventional approach to using sharding. He is proposing to split Ethereum into different types of shards- there will be a main shard comprising the current Ethereum network, and there would be other shards, which Buterin calls other “universes.”
Most importantly, Buterin believes the partitioning would allow for more aggressive changes on the smaller shards, and more cautious changes on the main blockchain. This will ensure Ethereum’s platform maintains stability while developers can test new changes.
Other announcements included upgrading the smart contract technology and progress on eWASM, his project for running Ethereum on a web browser. He also hinted that a lot of the work in progress is much more advanced than anyone guessed when he finished hi stalk by saying, “Basically we’re just inches away from a proof of concept in python.”