Sharding is a type of scaling that splits a database’s load horizontally across multiple machines in parallel. This is in contrast to vertical scaling, which enhances a database’s capacity via increased hardware requirements. For more color on horizontal vs vertical scaling, check out our earlier report on Avalanche subnets.
In basic sharding, each shard acts as its own parallel blockchain and has its own set of validators. From a security angle, this gets complicated when trying to determine which validators participate in which shards. Validator selection, snapshots of shard states, processing stakes, and determining validator penalties is something that is normally outsourced to a separate chain, such as a Beacon chain, due to the need for computation. What exactly is separated when a network is divided into shards? Normally, nodes in a blockchain perform three tasks:
These processes place a growing requirement on nodes that are operating the network. Processing transactions requires more compute power as transaction loads increase. Relaying transactions and blocks requires more network bandwidth. Storing data as state grows requires more storage. Think of the term “State Sharding” as sharding storage itself. Each shard stores its own local state as part of the global state of an entire network and only relays transactions that concern its own local state. In State Sharding, the network scales, but introduces new problems, such as data availability and cross-shard interoperability.
Pibblez leads coverage on emerging L1s, infrastructure, and stablecoins. Previously worked as a Research Analyst at Kraken.