Why is Sharding needed?
Just before we dive into the nuances of Sharding & try to take the bull by the horns i.e. understand what is Sharding in blockchain, let’s first try to understand the need for it.
The Blockchain evangelists & enthusiasts believe that Blockchain technology has the potential to shape a world with no disparity, no centralized authorities, no unnecessary intermediaries and so on.
To a great extent that does seen true, as being the Blockchain enthusiast myself, I also foresee Blockchain playing a pivotal role in the times to come. Having said that, relatively the technology still is in its infancy and requires a lot of advancements and innovations, for it to become the a power to reckon with.
Some of the biggest pain points that the Blockchain technology is dealing with right now are:
1- Scalability issues
2- Latency issues
3- Low Throughput
The Bitcoin & Ethereum Blockchains are capable of handling 3-7 & 12-30 transaction per second respectively. It doesn’t take a scientist to learn that the aforementioned figures are anything but impressive, when pitted against the likes of Visas and MarterCards of the world.
As we speak, the Blockchain community around the world is working tirelessly to overcome Blockchain’s current shortcomings.
Sharding is one of those techniques that is being tried upon, in order to deal with the scaling issues that Ethereum & Bitcoin’s Blockchain is facing.
Current Validation Methods
Currently Ethereum & Bitcoin uses the Proof of Work (PoW) protocol for validating all transactions that take place on their networks. Even though PoW can be looked upon as the most secure and fool proof way of transactions validation, it has its fair share of drawbacks.
In the current state of Ethereum network, its PoW protocol enforces a mechanism where every node on the network stores and processes all transactions that take place on the network. Without a doubt this ensures the highest level of network security, but at the same time, it also is the most resources intensive way of maintaining network’s integrity. “Sometimes ones greatest strength is also ones weakest point” and that is so apt with PoW protocol.
What is Sharding in Blockchain?
In order to tackle the currently persisting issues with the validation mechanisms, a new kind of validation protocol has been created i.e. Sharding. As part of Sharding only a small subset of nodes (called a Shard), out of the entire network nodes that will carryout validation of every single transaction.
How a country gets divided into multiple states, in order to have better governance system, the same way the ethereum network will be logically divided into multiple Shards. Transactions created by users or a particular Shard will be validated by miners percent in that Shard alone.
This way a lot of transactions will get validated at the same time on the ethereum network. This parallel processing will improve the performance of the system multi-fold.
Sharding allows for flexibility to the network, as forced storage of all transactions on every single network node becomes unnecessary, which in-turn helps on the scalability front. Even after doing that the Blockchain network still remains fairly robust and secure.
Drawbacks of Sharding
If you think Sharding is the holy-grail of all the scaling and performance issues, then you are mistaken. Sharding does come with its share of issues. The biggest flaw with Sharding is that inter Shard communication is not very easy.
What it basically means is that, as long as communication occurs with a Shard, the picture remains rosy and nice. But if a user (for e.g. Bob) who belongs to Shard-1 wants to transact with another user (say John) from Shard-2, the transaction would require some special protocols to complete the transaction.
The developer community would be the most affected lot, as they will have to program their codes to handle this Sharding schema that is comprised of a cluster isolated Shards.