Sharding could be a reality on the Ethereum blockchain sooner than later. According to developments from Ethereum hackathon event EthBerlin, longtime core developer Vlad Zamfir has made great strides in developing Ethereum’s sharding solution. In effect, he has programmed a proof-of-concept demonstrating that certain Ethereum shards are able to communicate on the blockchain.
In a conversation with Coindesk, Zamfir revealed that he coded the proof-of-concept with other developers including Tim Beiko and Steve Marx. But he admitted that it’s “not even close” to being ready for prime time on the Mainnet. But what they’ve unveiled is the code that will be paramount when it comes time to integrate the game-changing technology of sharding on the Ethereum blockchain.
What is sharding?
The idea of sharding is to divide the Ethereum blockchain into innumerable segments, or shards, which are able to process transactions faster and more effectively. Currently, every node in the network stores all the information. Although this has the advantage of rock-solid security, it’s also very difficult. The big disadvantage associated with the current approach is that scalability is severely limited. This is where sharding comes in.
Ethereum’s sharding solution ensures that all information in the network is divided into shards. This means that certain nodes only need to process certain shards, but each shard still has access to the information of the others. This would significantly increase the scalability of Ethereum.
At the moment, many Ethereum developers, including co-founder Vitalik Buterin, are feverishly trying to create sharding. These efforts, however, remain a work in progress and are at an early stage. Buterin has announced that sharding will be released in 2020 at which time the Ethereum blockchain should be able to handle 1 million transactions per second.
Buterin announced in May of this year that the integration of sharding is being pushed ahead at full speed. At that time, Vitalik stated that the specifications for sharding had not yet been finalized but good progress had been made.
Vlad Zamfir’s proof-of-concept code was written at the hackathon in Berlin, but most of the development took place before the event. Zamfir told Coindesk:
“I didn’t have to do any research at the hackathon, I was just implementing stuff.”
The developed code goes beyond the design presented by Buterin in May and includes rules on how the individual shards come to coincide with the entire transaction history of the blockchain. Thus, Zamfir has successfully partitioned the Ethereum blockchain into shards, which was initially intended primarily for educational purposes. Sharding should be highly prioritized among developers. In the past, the ETH community of developers has said that there are too few developers working on sharding solutions.
“There’s a lot of people who can’t look at research, especially when we don’t have research published in the way that we’re really happy with. And so seeing software is something that some people find compelling.”
The proof-of-concept is available on Github with a visualizer that allows users to download and simulate the code base. Zamfir also stated that the proof-of-concept is not yet complete but will be ready in the next few weeks. As Zamfir noted, however, there is currently a lack of a mechanism to send transaction fees and routing messages from one shard to another:
“We have no real routing protocol,” noted Zamfir.
In order for Ethereum to finally become ready for mass adaptation in order to be used as a global protocol, sharding is an extremely important development to make greater scalability a reality. Therefore, 2019 will be a very important, groundbreaking year in the Ethereum ecosystem. We all want to see where the journey goes.