You may have heard of Ethereum's Layer 2 Scaling Solutions. I had heard about such solutions, but had no idea what they meant and there were just too many buzzwords.
I did have a good sense of why we needed some solutions on the Ethereum Blockchain. I had been using Ethereum applications and facing incredibly unreasonable transaction costs. So, over the past few weeks (even months), I've been spending a lot of time on scaling solutions.
In this post, I want to talk about Ethereum Scaling Solutions, why we need them, what they are and the examples. With all the buzz words it seems like a very complicated topic, but rest assured that they are easier than sounds. ๐
Why do we need scaling solutions?
If you are a user or developer of web3 applications, you may have seen the high costs for Ethereum transactions. The transaction fee is called the gas fee.
In times of high demand, scaling discussions are a hot topic. Over the past year, due to the high demand for Ethereum, gas fees have been very high, and the transactions are slow. As we see more people getting into the NFT's and increased usage of Decentralized Finance(DeFi), scaling solutions have become increasingly popular.
Don't take my word for it, instead here's a cool dashboard by Hildobby on Dune Analytics. You'll see the dashboard that shows the Gas Limit and Usage
The Ethereum team and different teams are working to solve these issues. This is where scaling solutions come into play. Before moving on to various scaling solutions, let's talk about something called "The Scalability Trilemma", which explains why we can't scale the base layer just yet.
The Scalability Trilemma
A blockchain has three properties referred to in the scalability Trilemma: scalability, decentralization and security. The Scalability Trilemma describes that it is possible to get 2 out of the three properties with the current techniques and technologies and that one feature can not be improved without sacrificing another without going into detail.The Scalability Trilema, also known as the Blockchain Trilemma, represents significant challenges against mass adoption.
Scalability has been one of the top priority topics for the Ethereum community. Today, we are seeing new technologies and advanced research to address the scalability challenges of the Ethereum Blockchain. Here is an article by Vitalik on the topic.
Ethereum has both on-chain and off-chain solutions to address the scalability challenges.
What's a scaling solution?
The goal of the scaling solutions is to increase the speed and lower the cost without giving away the security and the security or decentralization of the main blockchain, also known as the L1 base chain.
There are various kinds of scaling solutions for Ethereum that are being used and researched.
At a high level, scaling solutions are categorized in two ways: on-chain and off-chain scaling solutions.
On-Chain Scaling: such a solution that changes the base layer (also called the Layer 1). When changes are made to the Ethereum blockchain itself, this is an on-chain scaling.
Off-Chain Scaling: solutions that outsource the work to a new layer (also called Layer 2). These don't require any change to the base chain. There are different types of off-chain scaling solutions which are also called L2 Scaling, including rollups, sidechains, state channels. Here's an animated video to explain L2 scaling solutions.
On-Chain Scaling
Sharding is the primary on-chain solution. It refers to splitting the network into multiple chains called "shards." Sharding is planned for 2023. For this post we will not be going into detail on sharding.
Worth mentioning that Sharding will not solve all the issues with scalability. Ethereum will still need Layer 2 scaling solutions on top of the blockchain. Here's a post by Vitalik on the topic.
Many off-chain solutions gained massive popularity over the past year. They are ways to solve the scalability challenge without changing the base layer.
Off-Chain Scaling
Off-chain scaling aims to solve the pain points of Ethereum, which are the transaction speeds and the high costs, without making changes to the base layer. There are multiple options available for off-chain scaling. Some of the scaling solutions are app-specific others are multi-purpose.
Solutions that get the security features from Ethereum are known as Layer-2 Scaling Solutions. They are built on the bases chain and add extra features to solve the pain points without sacrificing security and decentralization. Other options involve creating new chains with their own consensus mechanism and then communicating it back to the base chain.
Here is a high-level overview on the most popular off-chain scaling solutions:
1. Rollups
A rollup combines a bunch of transactions into one, and it will only submit that one transaction to the Layer 1 blockchain. This way, it avoids congestion on the main chain. It basically takes some transactions and rolls them up to one, hence the name "rollups." This is considered a layer 2 scaling solution.
There are two types of rollups:
2. State Channels
State Channels allow to have transactions off-chain and only submit a certain amount of transactions to the main chain. Since it does not need to submit everything to the main chain, high throughput is achieved. It is considered a layer 2 scaling solution.
An example is Connext Network.
3. Plasma
Plasma Chains refers to a separate set of chains which are connected to the main layer. The separate chains (aka plasma chains) can create their own child chains & so on. This is considered as a layer 2 scaling solution.
Multiple projects provide plasma such as Polygon.
4. Sidechains
Sidechains are independent blockchains that run parallel to the main chain and use its features. Has its own consensus mechanism. This is technically not a Layer 2 scaling solution as per the Ethereum Documentation since it has it's own consensus mechanism.
An example is Gnosis(xDai).
I hope this post helps to give an introduction to Ethereum Scaling Solutions. We'll surely be hearing and seeing a lot more of them!
If you have any questions or comments, drop them below, or reach out to me on Twitter! I'd love to hear from you! See you in the next post ๐