Ethereum (ETH) Sharding: Is It Even Needed Anymore?

Ethereum (ETH) Sharding: Is It Even Needed Anymore?

By Michael @ CryptoEQ | CryptoEQ | 21 Dec 2021


da4399cd972c67faf3cc0e2fb57ad7897c08b543fee38517c44bd55155217df5.png

If you want more cryptocurrency analysis including full-length research reports, trading signals, and social media sentiment analysis, use the code "Publish0x" when subscribing to CryptoEQ.io to make your first month of CryptoEQ just $10!  Or just click the button above!

 

The Issue

Demand for Ethereum transactions and smart contracts has skyrocketed over the last ~2 years. Without the ability to process more transactions, users must pay more to have their transaction executed. This has led to extremely high (>$40) transaction fees for users and is due to the high demand for limited blockspace on the Ethereum blockchain. Essentially, blockspace is the commodity many users, creators, and builders fight for, and is the pulse of all cryptocurrency networks.

High network fees are a product of how blockchains process transactions. There is a cost associated with a global, decentralized, censorship-resistant financial settlement layer! For a transaction to be executed, all of the nodes across the decentralized network must agree. All nodes on the network keep a full copy of the transactions to validate the transactions on the network. 

Ethereum’s ability to process transactions is (partially) constrained by the amount of computing power, bandwidth, and storage on the network. The scalability trilemma is a well-known issue among all blockchains.

 

e253c34f45a603378894ca087f595b5826363d5c0efbca0dd75e8d42e3e40333.png

The scalability trilemma, illustrated. Credits: Vitalik Buterin

 

A blockchain can achieve two of these traits, but at the expense of the third. Many alternative layer 1 (L1) chains have chosen to sacrifice decentralization for scalability and security. However, it’s important to remember why decentralization is important. It provides the chain anti-fragility, robustness, reliability, and censorship resistance. 

The goal is to increase the number of transactions while retaining sufficient decentralization. What are the decentralization sacrifices (tradeoffs) other smart contract L1s have made? Other chains typically make two sacrifices. They either increase the requirements to run a node so that you have more high-powered machines, which reduces the amount of people that may participate in network consensus by pricing them out. Obviously, a network that can only be verified if you have X amount of dollars in computing budget is not an ideal, permissionless system. To use a crude analogy, it would be like making it harder for the average person to vote in an election. 

The other tradeoff normally conceded is for the network to use fewer nodes to achieve consensus faster and quicker. This makes the chain more vulnerable and centralized. It’s easy to corrupt/destroy 10 nodes all in one location rather than 10,000 all over the globe. 

Although often discussed as such, blockchain scalability does not just pertain to TPS. Many L1s, like Binance Smart Chain (BSC), currently boast high TPS numbers but suffer from “chain bloat” and ever increasing hardware requirements just to keep the chain running. L1s must be able to process more transactions without creating more problems down the road. A node in a technically sustainable blockchain has to do three things:

  1. Keep up with the tip of the chain (most recent block) while syncing with other nodes.
  2. Be able to sync from genesis in a reasonable time (days as opposed to weeks).
  3. Avoid state bloat. 

Requirement 1 above is a physical limitation based on computing power (RAM, CPU, etc.) and bandwidth. These are bottlenecks for every node which means there are upper, finite limits to how far you can push the network.

One way for Ethereum to increase its workload could be to increase the size of the computers participating in the Ethereum network (participating computers are called “nodes”). But larger, more expensive, and fewer computers in the network is clearly a form of centralization. Having a small number of bigger players involved in maintaining Ethereum is not Ethereum’s goal. 

Fewer computers in the network also creates security issues. A hacker attacking just a few computers, or a single central computer, will have an easier time than attacking a huge number of computers all in agreement about the data they are using and creating. Just as with Bitcoin, more computers participating in the Ethereum network enhances the security and permanence of the data on the Ethereum blockchain.

 

Sharding

 

​​After the switch to Proof-of-Stake, sharding is the next significant hard fork upgrade on Ethereum’s roadmap. Just like the Merge, the sharding plan has evolved over time and may continue to change between now and implementation.

Data sharding will be released in multiple steps to provide urgent scalability for rollups before introducing the more complicated improvements.The basic design of data shards can be implemented on a small scale (e.g. 4 shards) before the final design to keep complexity low. This is expected to increase the max data capacity to ~2MB per slot.

In computer science, there are two main approaches to scaling:

  1. Scaling vertically: basically, make nodes more and more powerful.
  2. Scaling horizontally: basically, add more nodes.

Sharding is the term for horizontally partitioning a database. In this sharding model, validators are assigned to specific shards and only process and validate transactions in that shard.

In Ethereum's planned sharding model, validators are randomly selected. Every shard has a (pseudo) randomly-chosen committee of validators that ensures it is (nearly) impossible for an attacker controlling less than ⅓ of all validators to attack a single shard. 

To increase Ethereum’s workload capacity without resorting to centralization, Ethereum developers have proposed to make the work that nodes do more efficient by breaking up the data moving through the Ethereum blockchain into many smaller bite-sized units. These smaller data units are called “shards”. 

Shards will be divided among nodes so that every individual node is doing less work. But collectively, all of the necessary work is getting done—and done more quickly. 

More than one node will process each individual data unit, but no single node has to process all of the data anymore. 

Imagine breaking up a massive, congested highway filled with eighteen-wheelers into ten separate smaller roads with smaller, faster trucks running alongside the highway—that is comparable to Ethereum sharding.

Shards will serve as data storage “buckets” for new network data storage demand from rollups. This enables tremendous scalability gains on the rollup execution layer. Just as significant, shards will also help avoid putting overly-onerous demand on full nodes, enabling the network to maintain decentralization.

Sharding refers to data sharding which will give L2s more space to store the chain’s data. They will not handle transactions or smart contracts; they will instead offer additional data capacity for rollups.

cd9bdfa9d78af3faa6bada59d44e511c73ee08db4858409c6a48a6804b0f5420.jpg

Original diagram by Hsiao-wei Wang, design by Quantstamp

 

Earlier, we outlined one reason why Ethereum transaction fees were so high was due to all nodes in the network having to process all transactions and reach consensus. Sharding is the answer to the question, “What if each node did not have to process every operation at the same time?” What if, instead, the network was divided into subsections (shards), that operated semi-independently until finally reaching consensus through a central hub (Beacon Chain)?

Shard 1 could process one batch of transactions, while Shard B processes another batch. This would effectively double the transaction throughput of a blockchain, since our limit is now what can be processed by two nodes at the same time. If we can split a blockchain into many different sections, then we can increase the throughput of a blockchain by many multiples.

Ethereum will be split into different shards, each one independently processing transactions. Sharding is often referred to as a Layer 1 scaling solution because it’s implemented at the base-level protocol of Ethereum itself.

How do you rate this article?

56


Michael @ CryptoEQ
Michael @ CryptoEQ

I am a Co-Founder and Lead Analyst at CryptoEQ. Gain the market insights you need to grow your cryptocurrency portfolio. Our team's supportive and interactive approach helps you refine your crypto investing and trading strategies.


CryptoEQ
CryptoEQ

Gain the market insights you need to grow your cryptocurrency portfolio. Our team's supportive and interactive approach helps you refine your crypto investing and trading strategies.

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.

Page not displaying correctly?