What is Sharding? Ethereum’s idea for scaling up

When it comes to crypto-economic protocols like Bitcoin and Ethereum, scalability, or the capacity to scale, is one of the most critical considerations. Indeed, in order to be relevant, these protocols must not allow their particular networks to experience excessive transactional strain and hence become excessively centralized. When discussing scaling up, the issue that must be posed is: How can the network grow its processing capacity while retaining appropriate decentralization?

The Bitcoin and Ethereum networks are now straining to keep up with demand, and congestion may occur, resulting in longer confirmation times and increased transaction costs. The most symbolic example of this problem for Ethereum is likely Cryptokitties, a decentralized application that allows users to collect and trade virtual kittens, which monopolized the network in December 2017.

Why sharding is great: demystifying the technical properties
What is Sharing? Source. Vitalik.ca

Ethereum developers are considering splitting, or sharding, as a solution to the problem. This method is not new and is commonly used in databases: it includes splitting data horizontally to disperse memory storage. Sharding would allow Ethereum, which aspires to be a global computer, to parallelize both the storing and execution of autonomous contracts without sacrificing security.

This sharding, along with Casper and eWASM, is one of the key components of Ethereum 2.0, Ethereum’s progression towards improved efficiency and scalability, which is set to debut with the Serenity update.

What’s the problem?

By definition, blockchain-based crypto-economic systems are inefficient. They must be sufficiently scattered to function without a central authority and to withstand external attacks.

This is why they are vulnerable to the “blockchain trilemma,” which was established by Vitalik Buterin. According to this trilemma, a blockchain system can only contain two of the following three properties:

  • Decentralization: the system can function even if each member has just a limited amount of computer resources ( such as a laptop or a small virtual server).
  • Scalability: the system can conduct transactions on a scale that is strictly bigger than a single participant’s resources allow.
  • Security: The system is protected against an attacker with fewer resources than those required at the network’s transactional level.

So-called “naive” remedies have been proposed to address the issue, although they do not totally solve it:

  • Differentiating across distinct chains (” altcoins”). This technique reduces the overall security of the system by dispersing validators over multiple networks.
  • Increase the maximum block size. This technique reduces network decentralization by raising the degree of computing resources required to maintain a node after a specific threshold (which would need to be defined).
  • Perform merged mining (combined mining) on many chains. According to Vitalik Buterin, this is a veiled attempt to raise the block size limit, which reduces decentralization by forcing validators to operate alternative chains in order to stay lucrative.

Other, more inventive, but more difficult, alternatives have been created. This is especially true in the case of “second layer” solutions. The Raiden Network, which is a state channel network based on the same concepts as the Lightning network, and Plasma, the side chain system, are the two options for Ethereum. These solutions have their own set of issues that will not be discussed in length here.

Detailed overview of Ethereum 2.0 shard chains: Committees, Proposers and  Attesters | by Alexander Skidanov | NEAR Protocol | Medium
Sharing on the Near Ecosystem – Source: Near Medium

This is where sharding comes in, which is the recommended method for developers to grow Ethereum while maintaining its decentralization and security.

What is partitioning, or sharding?

Ethereum is a decentralized global computer in which all nodes in the network update the global state. Transactions are continually changing this status (also called operations). The blockchain, which records all of these transactions since the system’s inception, allows the network’s nodes to synchronize.

Ethereum is thus defined by two factors: its current state and its history. In Ethereum, the state is the mapping that connects addresses (0x…) to their balance, nonce, and, if they’re independent contracts, code and data. The state is sufficient to assess whether or not a transaction is legitimate.

State and history have grown to 215 GB and 2.4 TB, respectively. Many network nodes are willing to keep simply the system’s status ( pruned mode ). Only “archiver” nodes go to the bother of storing the complete blockchain.

The goal of sharding is to divide Ethereum’s history and current state into several separate shards. Each of these parts is checked by a network component (variable), allowing the system to parallelize processes and disperse the overall burden. The number of shards is determined by the ratio of the minimum computational resources required by each participant to the average amount of network transactions.

On the one hand, each fragment acts as if it were its own chain, with its own local state, history, and validation based on a portion of the network. The collection of fragments, on the other hand, must operate in the same way as the global system, which makes the implementation of the concept problematic, as we shall see in the next section.

There are other suggestions that are similar to the Ethereum development teams’ partitioning proposal. Zilliqa is notable for its use of partitioning, which spreads computing activities across different subnets while maintaining a single state. Similarly, the adoption of a Merklix tree (also known as a Merkle-Patricia tree) on the Bitcoin Cash roadmap should allow for future block validation partitioning.

How it works?

The partitioning is based on the development of a primary chain called ” beacon chain ” (beacon chain), which enables for work distribution in Ethereum to be managed. Validators are picked at random for the privilege to create blocks on each shard in this chain. Similarly, for each fragment, about a hundred attesters are picked to confirm the block’s validity: at least 67 of them must post their signature on the beacon chain for the block to be legitimate and the reward to be delivered. As a result, the beacon chain serves as a link between the pieces and the global system.

On-chain sharding on Ethereum also necessitates a transition to proof-of-stake. It requires the Casper proof-of-stake algorithm, which is presently in development. Despite the fact that sharding may be employed in a proof-of-work system, it is preferred for two reasons:

  • A given shard may be more readily attackable under a proof-of-work scheme.
  • It is considerably easier to pick validators and distribute them across the different pieces in Casper, which enforces a list of validators who have made a security deposit.

Each transaction group is given to a single shard during system operation. A crude illustration of distribution would be 256 pieces sharing transactions based on their identification. All transactions with identifiers beginning with 0x00 would be handled by shard 1, those with identifiers beginning with 0x01 would be processed by shard 2, and so on.

Of course, a transaction in one shard can have an effect on a contract in another. As a result, sharding necessitates a communication system between the shards (cross-shard communication), which serves to harmonize Ethereum’s global state. This communication system uses receipts, which are objects that indicate the consequence of a transaction and are held in a separate location from the state. Ethereum already uses these receipts as event logs ( logs ).

Conclusion

Scaling blockchains is difficult, however, sharding appears to significantly increase Ethereum’s scalability. According to Vitalik Buterin, it would increase Ethereum’s transactional throughput by 100 times and by 10,000 when paired with the Plasma sidechain network!

Despite the fact that sharding is being developed (Prysmatic Labs has already constructed a functioning client), its deployment in Ethereum is unlikely to happen before 2020 or even 2021. This setup will need to be preceded by an update to construct the beacon chain and deploy Casper.

What Is Sharding? Ethereum’s Idea For Scaling Up – Summary

  • The Bitcoin and Ethereum networks are now straining to keep up with demand, and congestion may occur, resulting in longer confirmation times and increased transaction costs.
  • This is where sharding comes in, which is the recommended method for developers to grow Ethereum while maintaining its decentralization and security.
  • The goal of sharding is to divide Ethereum’s history and current state into several separate shards.
  • On-chain sharding on Ethereum also necessitates a transition to proof-of-stake.
  • As a result, sharding necessitates a communication system between the shards, which serves to harmonize Ethereum’s global state.
  • Scaling blockchains is difficult sharding appears to significantly increase Ethereum’s scalability.
  • Despite the fact that sharding is being developed, its deployment in Ethereum is unlikely to happen before 2020 or even 2021.
  • Open an account on Binance today >> Click here

We wish you all the best in your life as a cryptocurrency, stocks, or ETF investor. We also hope that you enjoy our Lifestyle section. Please keep in mind that I am no financial advisor and none of the above is guaranteed to be correct. I create the content above for education purposes only. Cryptocurrency investments are subject to high market risk. Surfer Investor is not responsible for your trading losses. The opinions and statements made above should not be construed as financial advice. All the best – Surferinvestor.com

Zeen is a next generation WordPress theme. It’s powerful, beautifully designed and comes with everything you need to engage your visitors and increase conversions.