Ethereum has been the go-to blockchain for users and developers, with more than $55B TVL across DeFi and NFTs. However, such a high network adoption also brings forth major issues for the Ethereum network especially on its scalability, as the current network can only process an average of 13.5 TPS while maintaining the desired degree of decentralization.
To increase the scalability of Ethereum, multiple approaches were developed in the past and many more are currently under research. These solutions include State Channels, Plasmas, Validiums, Rollups, and Sidechains.
While they may be classified into different categories, in fact, they are not completely different. Some of the underlying ideas are inherently the same and are often built on top of the previous ones.
So, the rest of the article aims to provide an overview of how these Ethereum scaling solutions have actually evolved over time.
Ethereum Scaling Solutions
State channel is the earliest and the simplest approach to scale Ethereum. The key idea is to process transactions off-chain and only post the net result back to the network. This would reduce unnecessary intermediate transactions to the Mainnet and thus reduce the potential network congestion.
Here's how the off-chain transactions work behind the scenes. Imagine 2 users A & B want to transfer money between themselves. If A sends $10 to B, B sends $5 to A, and finally A sends $20 to B. Instead of sending these 3 transactions separately on-chain, the result would be the same if they agree that A should just send B a total of 10-5+20=$25 in a single transaction.
To generalize the idea, a group of participants can open a state channel and lock funds in the channel’s multi-sig smart contract on Mainnet. They can then settle transactions off-chain among themselves and only update the final state to Ethereum upon agreement to unlock the funds and close the channel.
State channels are mainly built for microtransactions and payments between two parties who need to agree on each other’s actions. They do not scale well to support smart contracts as
- dApps often involve a large number of end-users, which makes the agreement between parties much more complex.
- Smart contract dApps can often be interacted permissionlessly by anyone whether on Ethereum or state channel, creating different truths on each network.
Like what you’ve read so far?
Fill out this form here to get free access to exclusive resources from Alpha Academy that will help you kickstart your Web3 project!
Whether it's comprehensive research pieces, company-building guide podcast series, or special masterclass episodes curated by the best minds in Web3 from the Alpha Network, we have it all for you!
Be a part of Alpha Academician now to receive insightful resources before anyone else!
Plasma chain is simply a separate blockchain run by an operator that regularly saves checkpoints to the Ethereum network. These checkpoints are stored as Merkle root state hashes for gas efficiency. This means any transaction computation can then be offloaded to the Plasma chain for scalability, while utilizing Ethereum layer for verifying the Plasma chain’s state updates correctness.
To ensure state transitions are correct, Plasma adopts the fraud-proof mechanism. Each transition is deemed as correct until someone challenges it within the time period (by providing proof to invalidate the transition). Any incorrect state transitions will simply be dropped, and newer transitions will just build on top of the previously correct ones.
Plasma chains could work well in normal scenarios. However, one of the problems is when the operator is down or malicious. If the operator stops providing transaction info, then no one will be able to generate proof to invalidate the state transitions. Hence, any malicious action by the operator (e.g. the operator stealing funds from another account) will eventually be accepted in the Mainnet.
In such cases, a 'mass exit' scheme is implemented for all the users to exit the Plasma ecosystem using the latest valid state. However, the entire state data would be dumped onto Ethereum which can potentially trigger network congestion.
Another problem is non-EVM compatibility. General smart contracts do not have a clear ownership-like structure for their states, which means anyone can potentially progress on state transitions, making the exit game impossible for these contracts.
Validium also runs its own blockchain and posts Merkle root state hashes onto Ethereum, similar to Plasma. Their key difference is in the state update validation mechanism. While Plasma relies on a fraud-proof mechanism, Validium utilizes zero-knowledge (ZK) proofs such as ZK-SNARKs and ZK-STARKs.
ZK proofs are generated computations submitted to Ethereum along with the state updates to ensure the state transitions are valid. Even though the complex generation process for ZK proof can be computed off-chain, the on-chain verification is fairly easy. This allows Validium to have instant finality as soon as the states and proofs are updated on Ethereum.
Yet, due to their complex cryptographic computations, ZK proofs have compatibility limitations with EVM bytecodes. As a result, currently available Validium’s applications are restricted to simple usages such as token transfers, which involve only simple add and subtract arithmetics.
Apart from the EVM incompatibility, data availability still remains a problem. Validium still relies on off-chain data storage (via Data Availability Committee, or DAC) to ensure the transaction data can always be reconstructed to the full blockchain states. However, this adds another layer of trust to the security model as it requires trusting another party to always be available and function properly, even if the said party is decentralized.
Rollups solve data availability. They can be thought of as the next generation of Plasma chains and Validiums. Transactions info is posted as calldata on Ethereum in addition to the state updates (plus ZK proofs in the case of ZK rollups). This means that given all calldata submitted on Ethereum, it is always possible to reconstruct the current state of the blockchain from scratch. Thus, we don’t need to solely rely on any third party like DAC to store the state tree.
There are two main types of rollups: optimistic rollups and zero-knowledge rollups.
Similar to how Plasma chains work, Optimistic rollups deem a state transition as valid until a challenge happens. Anyone can challenge and claim that the state update is incorrect through the fraud-proof mechanism implemented on the “verifier contract” on the Ethereum network.
There are multiple approaches to fraud-proof mechanisms:
- Optimism utilizes a single-round interactive proof where Ethereum must execute the whole L2 transactions on-chain for verification. This approach makes the fraud-proof instant but comes with a large amount of computational gas.
- Arbitrum uses multi-round fraud-proof that performs an off-chain binary search to find the ‘opcode’ that invalidly transitions the state update. Only a single opcode is executed on-chain, which means the required gas is much lower here.
Ultimately, fraud-proof ensures that the posted states on Ethereum are valid and fully reconstructable without needing to trust external parties. Optimistic rollups are also EVM-compatible, which means any dApps running on Ethereum can be easily ported without any code change. This makes the optimistic rollups highly adopted as Ethereum scaling solution.
ZK rollup is simply a combination of Validium and data availability. The chain regularly submits its hashed states on Ethereum along with the compressed transaction data and uses validity proof for verification of state transitions.
Similar to Validium, ZK rollups are not effectively compatible with EVM yet as generating proof for fully integrate EVM environments can take hours to complete. Projects that pursue the development of ZK rollup with EVM, or ZK-EVM, are balancing the tradeoffs between EVM compatibility and performance. In fact, Vitalik classifies ZK-EVM into 4 types, ranging from being fully Ethereum equivalent to partial EVM-compatible as shown in Figure 1.
Currently, only Type 4 (e.g. zkSync and Warp) and Type 3 (e.g. Scroll and Polygon Hermez), which are not yet EVM-equivalent, are feasible for usage as more workaround has to be made to fully function EVM with ZK proofs. But as Ethereum becomes more ZK-SNARK-friendly and more research and development are being done, we should be able to see Type 2 and Type 1 ZK-EVMs becoming prevalent in the future.
Sidechains are separate blockchains, running their own block parameters and consensus mechanism. They can communicate with Ethereum through a two-way bridge. However, unlike any other scaling solution, sidechains do not post any transaction or state data to Ethereum; and therefore do not inherit Ethereum’s security.
Since sidechains have their own block parameters, they can easily support higher throughput than what Ethereum is offering by adjusting certain parameters such as reducing the block time or increasing the block size. However, they achieve these targets by sacrificing security and decentralization e.g. having centralized validators or requiring high-end computation hardware.
(*) As Ethereum's vision is to focus on decentralization and security, sidechains are not the focus of the Ethereum foundation as a scaling solution even though they are considered to be one of the most effective approaches to reducing transaction traffic on Ethereum.
The Future of Scaling Solutions
The past scaling solutions have evolved over time – solving key problems in the previous scaling designs, e.g. state transition verification and data availability. At the current stage, rollups are considered to be state-of-the-art solutions for scaling Ethereum due to their utilization of Ethereum security and EVM compatibility to be suitable for general-purpose use. Yet, there are still many possible areas of improvement on rollups to achieve even further security, decentralization, and scalability:
- Decentralized rollup sequencer – rollups can utilize PoS-like mechanisms for choosing sequencers to reduce centralization and censorship risks.
- Direct Communication Channel between rollups – bridging and message passing between rollups without Ethereum as the medium can enhance UX and reduce transaction costs.
While off-chain scaling solutions like rollups can already offer scalability in multiple folds, Ethereum also has its own plan to scale on the base layer through the ETH Upgrades. Ethereum sharding, as one of the major milestone upgrades, will be able to synergetically boost Ethereum scalability even further with the integration with rollups.
- Sharding as data availability layer for rollups – some of the 64 Ethereum 2.0 shard chains can serve as ‘data depot’ for rollups to post hashed roots on. Theoretically, sharding and rollups combined can increase Ethereum throughput up to 100,000 TPS.
- Code-executable shards – other shard chains will be able to run EVM bytecodes and smart contracts like Ethereum. However, due to the large throughput offered in the prior shard chain usage, the actual need for such implementation is to be decided.
With sufficient scalability, Ethereum can then support the high transaction throughput from current usages in web2 services like Visa. A significant step closer to the Future of France.
About Alpha Venture DAO (Previously Alpha Finance Lab)
A Builders’ DAO. We explore and innovate at the fringes of Web3 and drive significant value to Web3 users, and ultimately, alpha returns to the Alpha community.