Growth of Shard Chain Ecosystems
Growth of Shard Chain Ecosystems
Sharding in blockchain represents a database partitioning technique used by various projects within the sector to achieve scalability, thus attaining the ability to process more transactions per second (TPS). The sharding process splits the project’s network into smaller partitions known as shards, with each shard composed of its own data, which makes it distinctive and independent compared to other shards. To understand sharding, you need to understand the scalability trilemma that stipulates the three properties blockchains try to have; however, most networks may most like only achieve two out of three at best.
The properties include scalability, decentralization, and security. Scalability allows the chain to process more transactions as the network grows. Decentralization means the chain can run without any trust dependencies on a small group of large centralized actors. Finally, security allows the chain to resist most conventional actors, ensuring that the network is safe and secure for use.
Traditionally, achieving all three simultaneously has not been possible, with most projects managing to get only two of the three. For example, traditional blockchains such as Bitcoin, Ethereum, and Litecoin require every node to store a full copy of all transactions within the network, which severely affects their scalability.
High TPS chains, including those that are utilizing the dPoS consensus mechanism, rely on a small number of nodes, often between 10 to 100, to maintain consensus. This results in scalability, though it now lacks in the decentralization front.
Then there are multi-chain ecosystems that represent the general concept of “scaling out”, by having different applications live on different chains, and using cross-chain communication protocols to “talk” between them. This makes them decentralized and scalable, albeit not secure, since all an attacker needs is to gain a majority of a consensus node in one of the many chains to break that chain, and possibly cause ripple effects that cause significant damage to applications in other chains.
How Does Shards Achieve All Three Properties?
The easiest version of sharding is through random sampling. However, it has weaker trust properties than the forms of sharding than those used by projects such as Ethereum. The core idea revolves around this concept; “Suppose that you have a proof of stake chain with a large number (e.g., 10000) validators, and you have a large number (e.g., 100) blocks that need to be verified. No single computer is powerful enough to validate all of these blocks before the next set of blocks comes in.”
In Ethereum’s case, the protocol splits up the verification work by randomly shuffling the validator list and assigning the first 100 validators in this shuffled list to verify the first block, the second 100 validators in the shuffled list to verify the second block, etc. The randomly selected group of validators is known as a committee. When a validator verifies a block, they publish the signature attesting that they did so. This splits up the work between validators, making it so that validation can be much more efficient, especially with BLS signature aggregation.
Shard Chain Evolution
The first version of shard chains caters to data availability. When the first shard chains are shipped, they only provide extra data to the network. They are not capable of handling transactions or smart contracts. However, they offer incredible improvement to TPS when combined with rollups.
Rollups represent “layer 2” technology that exists today, and allow dApps to bundle or “roll-up” transactions into a single transaction off-chain, generate cryptographic proof, then submitting it to the chain. This reduces the data needed for a transaction. When this is combined with all the extra data availed by shards, you get 100,000 transactions per second.
“Given recent progress in layer 2 scaling solution research and development, this has prompted the prioritization of the merge upgrade ahead of shard chains. These will be the focus following the mainnet transition to proof-of-stake.”
The second version of shard chains is focused on code execution. Using Ethereum as an example, the plan was to add extra functionality to shards, thus making them more like the Ethereum mainnet. This allows them to store and execute smart contracts, as well as handle accounts. However, according to Vitalik Buterin, state execution is not needed. Therefore, there is no need to give shards the capability to handle smart contracts and leave them as data depots. Though it is still possible to have a few execution shards which can speed up delivery.
We welcome relevant and respectful comments. Off-topic comments and spamming links may be removed.
Please read our Comment Policy before commenting.