The sharding concept
Analogous to database sharding: split a large dataset across multiple servers so each handles a fraction of total load.
For a blockchain:
- Execution sharding — different shards execute different subsets of transactions in parallel. Each shard is effectively its own mini-blockchain coordinated by a beacon chain.
- Data sharding — shards don’t execute transactions but instead make data available for use by other chains (typically rollups). This is what Ethereum actually implemented.
The canonical challenge: cross-shard communication. If Alice’s tokens live on Shard 1 and Bob’s contract lives on Shard 2, transferring from Alice to Bob requires coordinated state changes across shards — which is hard to get right without reintroducing bottlenecks.
Ethereum’s evolution
Originally, Ethereum’s roadmap (circa 2018-2020) featured 64 execution shards, each a fully-capable EVM. This plan shifted around 2021 for several reasons:
- Rollups were emerging faster than native sharding could ship.
- Cross-shard smart contracts turned out to be hard and UX-disruptive.
- The “rollup-centric roadmap” let Ethereum scale execution horizontally while the base chain specialized as a settlement + DA layer.
EIP-4844 (March 2024, “proto-danksharding”) introduced blob-carrying transactions — a limited form of data sharding where each block can contain extra “blob” data optimized for rollup use. Full danksharding, expected in a future hard fork, will extend this with cross-shard data availability sampling.
Other chains’ approaches
- Near Protocol — native execution sharding; launched with 4 shards, scaling to more.
- Polkadot — parachain model where different sharded chains run in parallel, coordinated by a relay chain.
- Cosmos — “sovereign chain” model where each chain is independent but IBC protocol enables cross-chain messaging. Not strictly sharding but fills the same role for the ecosystem.
Risks and considerations
Sharding is architecturally hard. The failure modes are specific:
- Data availability attacks — a malicious set of validators could produce a shard block without publishing the data, preventing anyone from verifying it.
- Cross-shard atomicity — transactions spanning multiple shards can partially succeed, leaving state inconsistent.
- Validator subset security — per-shard validator committees must be randomly rotated to prevent capture; randomness quality matters.
- Developer UX — smart contracts that assume single-shard execution break in subtle ways on sharded chains.
For users, sharding is mostly behind the scenes. The practical impact on Ethereum is the blob-based cost reduction for L2s (5-10x cheaper per rollup transaction post-4844). On chains that use execution sharding natively (Near), application developers need to think about which shard their contract lives on.