Sharding is a database partitioning technology developed to solve the scalability problem of blockchain. According to Ethereum’s official announcement, sharding is the next major update being rolled out by Ethereum to increase its capacity and scalability. Ethereum sharding is planned to launch around 2023-2024.
Sharding divides the blockchain network into multiple small areas, namely "sharding" piece". Each shard contains only the state and transaction history of a specific type of address, and these transaction records are separated from other shards. When sharding is activated, each node of the blockchain network only stores and processes transactions within its own shard, rather than processing and recording transactions across the entire network.
In other words, sharding allows transactions to be processed in a parallel manner (simultaneously) to reduce network congestion, thereby increasing the scalability of the network. In addition, sharding increases the storage capacity of a network by distributing the entire network's storage workload across multiple regions.
Sharding improves network scalability through partitioning technology. However, based on the "Blockchain Impossible Triangle" theory, as scalability increases, the decentralization and security of the network will decrease relatively.
What is the "Blockchain Impossible Triangle" theory? What does it have to do with blockchain development? Please refer to the entry: What is the Impossible Triangle of Blockchain?
As mentioned before, sharding allows nodes to only process transactions within their own shard. Therefore, fewer nodes are involved in processing the same transaction compared to mainnet. Generally speaking, the number of nodes processing transactions affects the decentralization of the network. The degree of network decentralization increases with the number of nodes. Therefore, sharding relatively increases the degree of centralization of the network.
In terms of security, sharding may be subject to single-shard attacks. A single-shard attack refers to a malicious node (attacker) taking over a shard and tampering with the transaction data in it. Compared to the mainnet, individual shards are obviously more vulnerable to attacks. Because the computing power used to attack a single shard is much lower than the computing power used to attack the entire blockchain.
You may be interested in the following:
- What is a Layer 2 network?
- What is a 51% attack?