News emerged recently from ETHBerlin – an Ethereum development community event held in the German Capital earlier this month – of significant progress on Ethereum’s sharding project. At the event, Vlad Zamfir, a researcher with the Ethereum Foundation, together with a number of other developers including Steve Marx and Tim Beiko and a coder known in the community as ‘maurelian’, coded a successful Proof of Concept (PoC) of the sharding implementation.
Sharding is a project which Ethereum developers are undertaking in an attempt to address a scaling issue the blockchain platform has come up against. As a Proof of Work based blockchain network grows, every actor within the network has to process all of the data. As the network expands, the number of network nodes also increases. However, this results in the complexity of the Proof of Work based consensus algorithm increasing. Consequently, the network slows down dramatically.
Sharding originates in database technology where the approach has been used successfully to bring about more efficient database utilization. As a horizontal portion of a database – with each shard stored as a separate server instance – sharding spreads the burden and in this way, it enhances the capability of databases.
As applied to blockchain, the concept of sharding is to break down the process such that each network node doesn’t have to process all of the data. The transaction validation flow is split up into branches such that the order flow of transaction processing rolls much smoother, faster, and with greater efficiency.
The current processing rate for transactions on the Ethereum network is in the range of 12 to 30 transactions per second. Whilst this trumps the Bitcoin network with their processing level of 3 to 7 transactions per second, it’s not going to be anywhere near sufficient to meet the demands of the network presently and into the future. The benchmark that is often referred to by the blockchain community is that of the visa network which has a capability to process 24,000 transactions per second.
The CryptoKitties Saga
The scaling issue on the Ethereum blockchain became most apparent with the arrival of a Decentralized Application (DApp) which was based upon the Ethereum platform. Cryptokitties is a game akin to a next generation Pokemon. It’s one of the world’s first games to be built on blockchain technology. However, in terms of this discussion, it’s significant in that the Ethereum network struggles to deal with ‘transactions’ that result from users actively participating in the game.
Since its launch towards the end of 2017, the user numbers of Cryptokitties has exceeded 1.5 million. This equates to up to 25% of total Ethereum network traffic at peak times – overwhelming the capacity of the network to deal with transaction requests at times. Consequently, Cryptokitties became synonymous with Ethereum’s inability to scale.
Getting Closer but Long Road Ahead
Zamfir’s efforts demonstrate that Ethereum shards have the capability to communicate on the network. In a conversation with Coindesk, Zamfir confirmed demonstration of the proof of concept but was guarded in stating that whilst this was the core component of the sharding implementation, they were not even close to a live implementation.
Whilst the code may be indispensable in its ultimate use on Ethereum, he took to Twitter to play down the significance of their achievements at the ETHBerlin event:
Although there’s no doubt this is a milestone, the roadmap towards actual implementation remains a long one. In May of this year, Ethereum co-founder – Vitalik Buterin – announced that Ethereum developers would work towards the integration of sharding. Earlier this Summer, Ethereum Foundation Researcher Justin Drake indicated that the earliest likelihood of sharding implementation would be 2020 for the initial phase with phase 2 to follow in 2021.
It would seem that momentum with regard to Ethereum has stalled in recent months – albeit that this comes in the context of an overall bearish cryptocurrency market. Ethereum developers are taking on sizeable projects through sharding and casper – which involves a move from Proof of Work to a Proof of Stake/Proof of Work hybrid consensus mechanism. These are fundamental shifts in the technology of the overall project. It’s far easier to implement such functionality with a new project.
No doubt the Ethereum Foundation is wrestling with development of the respective implementations and the difficulty of applying to an existing blockchain platform. Blockchain stakeholders are not known for their patience but with changes as dramatic as this, it’s only logical that additional time is required. The only other difficulty for proponents of the technology is the potential for newer projects to build up the momentum to usurp Ethereum in the interim period.