Ethereum (available on Coinbase) creator Vitalik Buterin recently teased a proof of concept scalability solution on Twitter: “sharding” the blockchain’s ledger into smaller blocks that are spread across the network’s nodes.
Sharding the network has been talked about for a while as a way to scale out the blockchain and was suggested in the Plasma whitepaper authored by Buterin and Joseph Poon, co-creator of the Lightning Network, back in August last year. Plasma is a separate scaling solution also being worked – that is a framework for smart contracts on which Dapps can run on their own blockchains instead running on the public (consensus) chain, analogous to Bitcoin (available on Coinbase)’s Lightning.
Ethereum (available on Coinbase) has been trying to make the conversion from a proof-of-work (PoW) consensus to a proof-of-stake (PoS) consensus with the Casper protocol, which is a hybrid PoW/PoS. As far back as 2015, developers tried to incentivize miners to switch to PoS by ramping up the difficulty rate to mine through PoW, which lead to far higher costs for miners and neGated their rewards.
Casper is in the second stage of testing and in the meantime Buterin is focused on sharding to introduce quadratic scaling. Buterin said: “The primary goal is massive scalability improvement. Each one of the shards (12 in that simulation, likely 100 live) will have as high capacity (and likely more) than the current existing Ethereum (available on Coinbase) chain.
“The limit is basically that every node will have to verify the block headers of all the shards, and a node’s capacity to do this bounded above by their computational capabilities. Hence, quadratic sharding.”
What is sharding and how does it apply to Ethereum (available on Coinbase)?
Sharding is a scaling out process (as opposed to scaling up) of dividing data across multiple servers instead of one, as the main server becomes a bottleneck of traffic. Tables of data are split horizontally into partitioned cells to save load and search effort.
Sharding is required not just for blockchain projects but any kind of online or mobile app as their databases can’t keep up with the load, so scalability is critical to maintain performance and if done right it can significantly improve performance. Scaling out is critical in the age of big data – that is tables with upwards of 50 billion rows – and as sharding has shared-nothing architecture, its scalability is huge.
In the case of Ethereum (available on Coinbase), in lay terms, the full ledger which is currently on all servers will be split across many servers each with different fragments of the full ledger. Transactions will therefore not have to be broadcast or updated on every server across the network but only on those servers with the relevant part of the ledger. Thus, instead of having every single node go through the entire transaction history of the Ethereum (available on Coinbase) blockchain, sharding allows certain nodes to be assigned certain shards, streamlining the process of nodes verifying transactions.
On reddit Buterin explained “This is a proof of concept of (part of) a fork choice rule-based mechanism for how sharding can be bolted on top of the current Ethereum (available on Coinbase) main chain, with a specialized random beacon and shard block times of