It’s an upgrade to improve the scalability of the Ethereum network. Before diving into how the number one blockchain will realize it, let’s unravel some basics of blockchain sharding.
The blockchain trilemma
There are three elements a blockchain must have: decentralization, security, and scalability.
Decentralization refers to shifting the control from central authorities to people around the world who can use their computer nodes to govern.
The security is related to the fact that blockchain is not necessarily 100% secure. Anyone who controls at least 51% of the network can manipulate transactions.
The scalability of a blockchain indicates how much a network can grow while keeping the same level of transaction speed.
The blockchain trilemma states that we can only have two of these three elements simultaneously. In any case, we’ll have to forgo one of them.
In the case of Bitcoin, for example, network participants run a full node that verifies every transaction; as a result, we have a secure and decentralized blockchain. But, since transactions run linearly and require confirmation by a large number of nodes, it’s not scalable.
On the other hand, the high transaction per speed (TPS) chains depend on a small number of nodes that must reach a consensus among themselves. An example is the delegated proof-of-work consensus used by the WAX blockchain. This method is secure and scalable; however, it’s not decentralized.
So, what’s scalable and decentralized at the same time? A multi-chain ecosystem can be a solution to this. Here, cross-chain protocols communicate with each other to increase scalability; however, bridges used for communication are prone to hacks. So, this method may be insecure.
Ethereum’s founder Vitalik Buterin claims that sharding can achieve all three simultaneously.
Sharding means splitting a blockchain’s computational load into smaller chains, or shards. Each shard chain stores specific blockchain data segments and processes its own transactions.
Shard chains operate independently, and each submits its transaction records to the mainnet at regular intervals. In other words, since they can work simultaneously, nodes validate transactions in parallel; consequently, the network speed increases.
Sharding can increase the efficiency of rollups
Another commonly used method to increase blockchain scalability is the application of rollups. They increase the network speed by bundling many transactions into a single transaction. Unlike sharding, where the mainnet is altered, it’s a layer 2 scaling solution. An example is Immutable X which deploys zk rollups in its operations.
Even though they seem to be two competing solutions for the same problem, rollups can actually become more efficient when they’re combined with shards.
How will Ethereum go about sharding?
Ethereum will deploy a sharding strategy that centers around the use of rollups. This way, layer 2 solutions can also offer lower transaction fees while being supported by Ethereum’s security.
Ethereum will apply a special form of sharding, namely danksharding, and will do the upgrade in two main steps.
The first step will introduce “data blobs” to increase the capacity of rollups. Shard chains will add extra data to the network without dealing with transactions or codes. They’ll increase the TPS through a combination with rollups.
It’ll be the second step that integrates full sharding. Although we don’t have all the details, shards are expected to include code execution in this step. Each shard will store individual codes, execute them, and carry out transactions. Cross-shard communication will be implemented to enable transactions between shards.
It’s debated that the first step can be enough to reach 100,000 TPS. Therefore, the second step may turn out to be unnecessary.