Sharding is the process of breaking a blockchain’s consensus mechanism(total no. of validators) into smaller units called “Shards”. Each shard has its own unique set of validators. This increases the capacity of a blockchain by the same multiple as the number of shards.
Table of Contents
Definition of Sharding
Sharding can be defined as dividing the entire set of validators of the blockchain into smaller units. These smaller units are called as shards. Each shard has its own unique set of validators.
The Need for Sharding
The current methods of scaling poses the risk of off-chain tampering in ZK rollups as well as inclusion of undetected tampering in OP rollups.
Currently, these two scaling methods are at work to scale Ethereum.
- Scaling methods like Optimistic Rollups use call-data to store transaction records on Ethereum blocks. Call data is a empty space in a block that is not verified through consensus mechanism. However it makes the block heavier.
- Zero Knowledge Rollups, another scaling solution verifies transactions on a second blockchain and stores the summary of these transactions as a single transaction on Ethereum. If the final state change after the transaction is as expected, the summary is considered as valid.
However, these methods are not the final solution as Ethereum will forever depend on them to scale up. Also there is a possibility that someday one of them might ultimately replace ethereum.
Also, the number of validators on Ethereum (more than 900k) will not be efficiently utilized. Dividing them into independent groups make much more sense as blockchains even with small groups work fine in Proof of Stake systems.
- Algorand has 110 validators
- Shibarium has 100 slots for validators
- Polygon has 100 validators
How Sharding Works?
In a blockchain, consensus is achieved after all or maximum number of validators verify the transaction.
Now, for big blockchains, like Ethereum, which has over 900k validators, running each transaction through all the validators does not make much sense. Blockchains can be even secured with lesser number of validators.
So, what sharding proposes is dividing these 900k validators into 64 groups (via the Danksharding Proposal). Each group will have more than 14k validators which is enough to secure transactions and prevent 51% attacks.
Since each shard will be able to act independently, each of them can add blocks to the blockchain. Therefore, now the speed of Ethereum can be 64 times higher (theoretically) than the current speed of 10-15 transactions per second.
Sharding vs Proto-Dank Sharding
In sharding the total no of validators are divided into independent groups each of which is able to add blocks to the blockchain.
However, this is not easy to implement in Ethereum considering its security and size. Therefore, the Ethereum Improvement Proposal (EIP-4844) seeks to implement another technique called as proto-dank sharding.
Proto Dank Sharding
Proto-Dank sharding is the implementation of Sharding on the Ethereum blockchain but in a way which is feasible right now.
It was named after two Ethereum researchers Protolambda and Dankrad Feist.
It proposes to add “blobs” to the Ethereum blocks which can store transactions similar to call data in optimistic rollups. Unlike call data which stays on the blockchain forever, these blobs can be deleted after 3 months which is enough for finality of transactions.
Since, they are not processed by the EVM, their
The current number of validators are not split in Proto-Dank sharding.