Confessions of a Sharding Skeptic
With final preparations for the launch of Ethereum 2.0 soon to be underway, CoinDesk’s Christine Kim spoke to Cayman Nava, technical lead at ChainSafe Systems and Alexey Akhunov, an independent researcher and software developer about the kinks in ETH’s evolution that still need to be worked out.
For free, early access to new episodes of this and other CoinDesk podcasts subscribe to CoinDesk Reports with Apple Podcasts, Spotify, Pocketcasts, Google Podcasts, Castbox, Stitcher, RadioPublica, iHeartRadio or RSS.
This episode is sponsored by Crypto.com, Nexo.io and Elliptic.co.
The Ethereum blockchain processes about three to four times as many transactions as Bitcoin. It’s still not enough, however, to meet rising user demand for the cryptocurrency and prevent network congestion.
One of the most highly anticipated fixes to Ethereum’s transaction bottleneck and its lack of scalability is an ambitious software upgrade called Ethereum 2.0. According to Vitalik Buterin, the creator of Ethereum, Ethereum 2.0 will boost network speeds from around 15 transactions per second (TPS) to 100,000 TPS.
How? The solution is sharding. Cayman Nava, technical lead at ChainSafe Systems, explains sharding as “a natural way to break things up.”
“If you’re wanting to process a lot of data but you don’t want any one party to be overloaded with that data, you can naturally think of breaking up your problem into smaller pieces,” said Nava. These “smaller pieces” Nava is referring to are called shards. In Ethereum 2.0, 64 shards will be created to break up the transaction load of Ethereum.
While sharding sounds effective in theory, there are other Ethereum developers who are skeptical about the benefits of this technique in practice.
“If I were to design scaling [for Ethereum], first I would squeeze as much as possible out of Ethereum 1, which I think hasn’t been done yet, and then after that I would actually introduce sharding logically in order to see whether users would actually be able to use [sharding] effectively,” said Alexey Akhunov, an independent researcher and software developer for Ethereum that has been contributing code to the network’s development since 2016.
Sharding logically refers to breaking up data within the same blockchain as opposed to sharding physically, which necessitates the creation of multiple mini-blockchains. As mentioned, Ethereum 2.0 will spawn a physically sharded system of 64 linked databases. Optimizing the communication between shards in this environment, Akhunov goes on to explain, may pose an even greater challenge to network scalability than a transaction bottleneck.
Nava agrees there are kinks and holes in the design of Ethereum 2.0 and its sharded system that need to be worked out. But in Nava’s view, these problems that call for further detailing and research can be delayed in the short term while developers work toward an upgrade launch.
“I think we can delay these harder problems like how sharding should work or what it should look like. That can be pushed off a little bit so we can think about it and get it right. In the near term, we can get a lot of the benefits from the [Ethereum 2.0] work that we’ve been doing,” said Nava.
To download or stream the full podcast episode with Akhunov and Nava you can go toApple Podcasts, Spotify, Pocketcasts, Google Podcasts, Castbox, Stitcher, RadioPublica, iHeartRadio or RSS.. For early access to future CoinDesk Research podcast episodes, be sure to click “subscribe” on these channels.
For more information about Ethereum 2.0, you can download the free research report featuring additional developer commentary about the upgrade on the CoinDesk Research Hub.