Ethereum has a scale problem. Thanks to its popularity, the network is finding it more difficult to process the volume of transactions flowing through it. That has lead to an increase in transaction costs and waiting times for transactions to be approved.
Vitalik Buterin, the network’s co-founder has proposed a solution called Sharding.
Ethereum’s current limitations
It does this in two ways:
✅ Nodes need to possess a full copy of the blockchain to be able to check previous versions to ensure transactions are accurate.
📝 Once they’ve done that, nodes check with other nodes to ensure their copy of the blockchain is the right one.
Imagine having your homework marked and checked by every teacher in your school. This consensus helps keep the blockchain secure - and your homework mark accurate.
However, it makes things very time consuming. All the nodes need to be verified before going on to the next block. That slows down the number of transactions the network can verify at one time.
At present, Ethereum handles somewhere between 10-30 transactions. As a comparison, Visa’s network handless 24,000 per second.
That could be about to change.
What is Sharding?
At present, all the nodes in Ethereum work together. Sharding wants to break them up into tiny groups called Shards.
Inside these shards, nodes will contain and verify the transaction history of the shard that it’s inside. That means that the instead of the whole network being required to verify transactions, you can create an infinite number of shards to process transactions on a smaller scale.
That allows the whole network to potentially scale limitlessly.
Who came up with the idea?
Ethereum’s co-founder, Vitalik Buterin wrote a white paper explaining the concept in early 2018.
How does it work?
Inside each shard there are types of nodes called Collators. The collators collect small descriptions of each transaction inside the shard and record the current state of what’s happening on the shard.
Once the collators have done that, they pass that information on to Super Nodes.
The Super Nodes process the transactions in the shard and maintain a full record of everything that’s happened.
If the transaction inside the shard needs to be communicated with another shard, the Super Node will send a note to the relevant shard to alter the balance sheet inside that shard.
The result is a system that doesn’t require every node to verify every transaction, greatly speeding up the number of transactions processed.
When will we see it in action?
The project is currently in development, but is expected to be released at some point in 2018.
Like the evolution of the internet, the network evolved in a number of significant steps. Sharding is a significant step in Ethereum’s development. If successful, it could help process the thousands of transactions and Dapps developers would like to run on the platform.