Sharding is a popular layer-1 scaling solution used to increase transaction throughput. The technique is a form of database partitioning that can be applied to blockchain distributed ledgers. A network and its nodes are divided into different shards to spread the workload and improve transaction speed. Each shard manages a subset of the whole network's activity, meaning it has its own transactions, nodes, and separate blocks.
With sharding, there is no need for each node to maintain a full copy of the entire blockchain. Instead, each node reports back the work completed to the main chain to share the state of their local data, including addresses’ balance and other key metrics.
