The goal for blockchains is to be 1) decentralized 2) secure and 3) scalable. But most blockchains are only able to achieve any 2 of the 3 goals simultaneously. This is the “The Scalability Trilemma.”
Sharding offers a possible solution by splitting blockchains into smaller pieces, known as shards.
As each shard acts like a standalone blockchain; it can have its own database, contracts, and computation. A single node is not responsible for maintaining the entire blockchain, but only its specific shard.
It is faster/cheaper/easier to maintain these shards separately and then sync with the main blockchain for security and decentralization. In theory, this structure could make blockchains scale linearly as additional shards would add additional capacity.
Sharded blockchains do come with some unique challenges: data availability and validity, shard takeovers, and cross-shard communication.
As the peer-to-peer network of blockchains gets larger, the efficiency of the network inevitably goes down, so innovations like sharding are necessary to scale blockchains to global use cases.
Examples: NEAR and Polkadot
More Resources:
- Sharding explained by Vitalik
- Definition by Consensys: “Sharding refers to splitting the entire network into multiple portions called “shards.” Each shard would contain its own independent state, meaning a unique set of account balances and smart contracts. Usually, shards must be tightly coupled and side-chains must be loosely coupled.”
