Sharding is a method of partitioning data in a database. It breaks the database into pieces named shards. When formed together, the shards make the original database whole. It is a process that is much older than blockchain platform technologies and has been in different systems that include business optimizations of database and Google’s global Spanner database.
Blockchains: Secure, But Slow
A blockchain network, meanwhile, uses a peer to peer format and connects the transactions through a series of nodes. A blockchain has no central authority, and each node contains all states of the blockchain network and transactions. While it provides a high level of security with its decentralization, blockchain technology comes with scaling problems.
When using Ethereum, a node in the network contains the entire state of the blockchain. The system will grow in size at a fast rate the more data it stores. This process will mean that there will be substantial gas costs and more extended transaction confirmation periods when the network gets strained. Sharding helps provide a solution for this problem by grouping nodes into shards to process specific transactions instead of letting all nodes work at all transactions. Sharding offers the system with a way to process transactions in a more organized form, increasing throughput.
Ethereum co-founder Vitalik Buterin shares his simple interpretation of his company’s plan on sharding. He reveals that Ethereum gets split into different islands and that they all have various features and laws. These islands will work on their functions, but they work for one country, which in this case is Ethereum.
The scaling concept gives the network the chance to complete work efficiently as the sum of its parts rather than relying on the speed of a single node.