What is Sharding?
Scaling blockchain has become one of the technology’s great mysteries. Scalability is well-known as a concern with cryptocurrencies platforms such as Ethereum and Bitcoin. Different researchers and inventors offer various solutions to increase the speed of processing blockchain transactions. One of such sought solution is known as sharding.
What is sharding?
Initially, sharding was a kind of database partitioning technique used to divide a huge database into lesser, quicker, and more effortlessly managed parts known as data shards. Database sharding was used to ensure a database operates at optimum speed and efficiency. From the conventional world, the technique has found a home in blockchain-based platforms such as Ethereum. The aim is to solve Ethereum’s scalability dilemma.
The blockchain’s primary notion of sharding is to partition the network into minor portions known as shards, where each processes a separate set of transactions. Every fragment comes with its independent state with a unique set of account balances and contracts.
In addition, shards help spread out the computation and storage of workload across P2P networks. This means that each node is not in charge for processing the whole network load. Each node should only maintain details connected to its shard. Also, sharding ensures that any info in a partition can be shared among other nodes keeping the ledgers spread out and safe where everybody is likely to view all ledger entries.
Excellent in theory but hard to implement
However, designing a sharding protocol requires you to work on some key shortcomings. Though sharding sounds excellent in theory, there are some potential attack vectors.
The number one challenge is how you should evenly tear apart all nodes into several committees, such that each group comes with an almost honest outcome with high probability. However, good randomness is a crucial factor in addressing such a challenge.
The other task is by what method it should warrant that the opponent does not gain a significant advantage in biasing its operation or coming up with Sybil identities. Therefore, any sharding protocol should allow a varied rate of node creation and inconsistency in committee members’ views.
The other sharding attack is the single-shard takeover attack. In this scheme, an attack takes over most block producers in a shard to create a malicious shard that is likely to submit invalid transactions. Sharding is also stress-free to implement on a proof-of-stake chain instead of a proof-of-work chain where a miner can be stopped from contributing hash power to a particular shard.
For sharding to be widely adopted, blockchain and crypto developers need to work on a crucial part where communication between nodes within a shard is smooth and trustable. Inter-shard communication should be handled through the development of a separate protocol.