Ethereum’s emphasis on decentralization and security means transactions are processed slowly. this affects network performance and affects the ability of decentralized applications (dapps) to scale.
Many designs have been proposed to solve ethereum’s scalability problems, each offering different benefits. This guide will introduce ethereum scaling solutions and explain how they work and why they are important.
Reading: Ethereum scaling solutions
Scalability refers to the ability of a system to handle exponential increases in usage without sacrificing functionality. In the context of blockchain technology, scalability means the ability of a blockchain to support an increase in transactions without any effect on functionality.
currently, ethereum’s ability to handle transactions is limited to processing 7 to 15 transactions per second (tps). By contrast, traditional centralized databases, such as Oracle Database and Microsoft SQL Server, can process thousands of transactions per second.
two ways ethereum’s design affects scalability
ethereum has poor performance and slow processing speeds because it prioritizes decentralization and security over scalability (scalability trilemma).
here are some ways ethereum’s design affects scalability:
1. ethereum’s consensus algorithm processes transactions sequentially
Ethereum uses proof of work (pow), which means that transactions on the network must be accepted and validated by all nodes. this encourages decentralization and, more importantly, security.
the disadvantage is that the sequential execution of transactions affects the finality of the transaction (the time it takes to confirm a transaction). this further contributes to ethereum’s inability to support high tps rates.
2. ethereum limits block size to 1mb
ethereum limits the amount of data a mined block can contain (1mb) because limiting block size improves decentralization by allowing nodes to more effectively store blockchain history. larger block sizes make it harder for people to run full nodes, which hurts decentralization.
However, the 1mb block size limit reduces the transaction data that miners can include in a block, which affects network performance. Small block sizes also affect the cost of gas, the computational resource required to run operations on the Ethereum virtual machine.
Because miners have finite computational power, they are often forced to prioritize transactions with higher fees. this creates a kind of bidding war between ethereum users and forces astronomical increases in transaction fees.
ethereum scaling solutions are platforms specifically designed to improve transaction execution on the ethereum network. ethereum scaling solutions such as layer 2 rollups and sidechains , are protocols that use different mechanisms to increase network performance.
layer 1 vs. layer 2 scaling solutions
Scaling solutions can be broadly divided into two categories, “on-chain” and “off-chain” solutions, differentiated based on their point of execution.
layer 1 scaling solutions
Layer 1 scaling involves making changes to the blockchain network and rewriting the base layer. the description “on chain” means that scaling updates to ethereum are executed on the blockchain itself.
layer 1 can scale by increasing the size of the blocks
One possible improvement to layer 1 scaling is to increase the block size. If ethereum’s 1mb block size were to increase, miners would have more space to include additional transaction data in blocks.
while increasing the ethereum block size would lead to an increase in tps rates, the side effect is a slow progression towards centralization because as the size of the blocks grows, the size of the blockchain increases, making it difficult to run a full node (except if you have a supercomputer). for this reason, the ethereum community has ruled out larger block sizes as a scaling solution.
Layer 1 can scale by processing transactions in parallel with blockchain sharding
Blockchain sharding is a scalability enhancement that introduces parallel execution of transactions instead of the default sequential execution model that ethereum uses. In sharding, the blockchain is broken into smaller chains (shards) that validate and process separate transactions.
Consider how ethereum currently works:
transactions are broadcast throughout the network until they can be validated. sharding does not require transactions to be approved by all nodes. instead, each shard has validators (called collators) to approve transactions.
each collection (a collection of transactions in the shard chains) must be signed by ⅔ of the collators. furthermore, the proposed collation must be added to the parent string before the purpose is achieved. Together, these measures help ensure system security.
With sharding, ethereum can increase tps without sacrificing decentralization or security. As the shard chains process different transactions at the same time, the overall processing capacity of the network increases. furthermore, network participants can still prove the validity of shard collations through cryptographic proofs.
layer 2 scaling solutions
Layer 2 (l2) scaling enhancements are so named because they run off of the main chain (Layer 1). Also called “off-chain” solutions, Layer 2 scaling involves transaction processing on a separate network that relies on the main chain for security.
l2 solutions are often designed with an emphasis on transaction speed and scalability; decentralization and security are minor concerns here. Because they post transaction data to the main ethereum layer, l2s can benefit from the decentralization and security of the mainnet. Also, because l2 solutions are built on top of ethereum, they don’t need their own native token.
These off-chain protocols can aggregate multiple transactions into a single transaction and add themselves to the main chain. this reduces pressure on the network and improves the potential for dapps to scale as usage grows.
Examples of Layer 2 scaling solutions include:
- state channels
layer 2 vs sidechains
A sidechain is a separate blockchain that interacts with the main ethereum network but does not depend on it for security. sidechains connect with ethereum via an interchain bridge, allowing for the transfer of assets between the two chains.
sidechains are good for scalability because they are designed with a different set of qualities that enable high performance. for example, the polygon sidechain uses a proof-of-stake (pos) consensus algorithm for faster transactions.
The main difference between layer 2 solutions and sidechains lies in their security guarantees. while l2 networks enjoy the security guarantees of ethereum, sidechains do not.
a sidechain is secured by its consensus mechanism, while l2’s benefit from ethereum’s consensus. that is why many consider l2s to be more secure than sidechains.
Good ethereum scaling solutions help provide web3 developers and users with lower gas fees and faster transactions, while keeping transactions secure.
this is why scaling solutions are needed for ethereum:
1. lower transaction fees
The ethereum gas fee issue has become a source of widespread criticism. scaling improvements can reduce network congestion and lead to significant reductions in transaction costs.
Lower gas prices translate to a better user experience and higher adoption of dapps. users won’t have to deal with failed transactions or pay exorbitant gas fees.
2. faster transactions
many scaling solutions were created specifically to improve ethereum’s ability to handle more transactions in a shorter period of time.
for example, rollups can bundle thousands of off-chain transactions into a single on-chain transaction. similarly, fragmentation increases by encouraging parallel processing of transactions.
The net result of these improvements is an increase in transaction rates per second (tps). Though estimates vary, many expect l2s and sharding to push ethereum’s tps into the thousands.
3. enhanced security
l2s are great for scaling ethereum without lowering network security. Unlike on-chain scaling, off-chain scaling projects do not affect ethereum decentralization.
although these l2 are independent chains, their security is closely tied to the ethereum blockchain. this means that users can safely interact with these projects, enjoying the benefits of scalability, without risking their assets.
The five most popular ethereum scaling solutions are stacks, sidechains, state channels, plasma chains, and validium.
rollups combine or “roll up” multiple executed off-chain transactions into one batch and pass it onto the main chain. a single digest can contain hundreds, if not thousands, of transactions compressed to reduce transaction volumes that the main chain has to process.
Beyond improving scalability, rollups offer similar levels of security to ethereum because transactions in rollups are anchored to the l1 chain, which guarantees the finality of the transaction.
There are two main types of summaries: optimistic summaries and zero-knowledge summaries. each type differs based on how transactions are calculated and posted on ethereum:
zero-knowledge rollups or zk-rollups perform off-chain calculations and generate a cryptographic proof called a non-interactive succinct knowledge argument (snark) or a succinct transparent knowledge argument (stark). these “validity tests” assure the nodes of the main chain of the validity of the batches of transactions.
optimistic summaries assume that transactions are valid by default and do not generate validity tests for each packet of transactions. however, the validity of optimistic summary transactions can be challenged through a fraud test.
so how do both cumulative schemes compare? zk summaries are more secure as they generate proofs of validity, however this makes them slower than optimistic summaries.
zk-rollups are complex mechanisms, which makes it difficult to program them for evm compatibility. as a result, zk rollups have limited functionality compared to optimistic rollups.
polygon is working on a zero knowledge evm (zkevm) to increase the functionality of zero knowledge rollups on the ethereum network with its plans for hermez 2.0.
ethereum l2s using optimistic summaries
- red boba
- immutable x
ethereum l2s using zk stacks
As a developer, you can integrate rollups into your dapp to improve scalability and transaction robustness. This way, your users don’t have to experience high fuel fees, canceled transactions, and slow processing speeds, which often happens on Ethereum.
2. side chains
A sidechain is a type of layer 2 solution that is an independent blockchain that works in parallel with the main ethereum network. these differences could be cryptoeconomic incentives, consensus mechanisms, etc.
Sidechains specifically designed for ethereum have ethereum virtual machine (evm) compatibility and can support smart contracts. this means you can implement projects on sidechains and take advantage of their scalability improvements for dapps.
Cross-chain bridges are required to connect sidechains to the ethereum smart contract platform. Just as the name suggests, a blockchain bridge provides a gateway for users to move between the mainchain and the sidechain.
To use a bridge, you need to block some assets (eth in this case) in the source chain. then an equal number of assets are produced on the sidechain and deposited into your wallet.
then you can freely transact on the sidechain, taking advantage of its superior transaction processing capabilities. As explained above, sidechains are designed to provide scalability and employ different mechanisms to achieve this.
examples of ethereum sidechains:
Other alternative layer 1 (l1) blockchains can also function as ethereum sidechains, especially evm-compatible blockchains. these alt l1s often offer benefits such as lower gas rates, better transaction finality, and richer functionality in certain cases.
examples of evm-compatible l1s:
- binance smart chain
3. state channels
State channels are scalable off-chain solutions that allow two parties to transact without the parent chain having to validate each transaction. a state channel is essentially a multi-signature smart contract that is executed only with the approval of the required parties.
how state channels work
1. Alice wants to open a state canal with Bob, who sells her coffee every morning. Let’s say you deposit 0.4 eth to the channel and this transaction is posted to the mainnet.
2. After this opening transaction, Alice and Bob can execute off-chain transactions for as long as they like. The only caveat is that they must both sign transactions, which means that Alice and Bob must approve each payment for coffee.
3. if alice runs out of her deposit, she can post an exit transaction to the main chain. this transaction will reflect the last known state of the channel, which is then recorded as final. alice and bob may have transacted a dozen times, but the ethereum network records only two transactions: the inbound and outbound transactions.
A state-owned channel allows parties to conduct secure off-chain transactions without experiencing long wait times and high transaction fees. it also improves scalability because miners have fewer transactions to process and can work faster.
ethereum scaling solutions using state channels:
- red raiden
- red connext
- red celer
4. plasma chains
the plasma whitepaper introduces the concept of “child chains”, which originate from the main blockchain or “root chain”. while plasma chains can validate transactions, they rely on the security of the root chain. To prove the validity of transactions, child chains send cryptographic proofs to the root chain.
Plasma chains are similar to sidechains in that they connect to the ethereum blockchain through smart contracts. using a plasma chain requires locking eth in a smart contract on the root chain before getting tokens on the child chain.
Plasma is considered an l2 scaling solution because it derives security directly from the ethereum base layer. this is what makes them more secure than, say, sidechains.
plasma publishes merkle roots for each block on the ethereum mainchain. block roots are small pieces of information that we can use to verify information about transactions. If an attack occurs on a plasma chain, users can safely exit to the main chain and withdraw their funds using the appropriate tests.
ethereum scaling solutions using plasma
- my god plasma
- gluon lattice
validiums are similar to zk-rollups, they perform calculations outside of the main ethereum layer, but the main difference is that validiums use “off-chain data availability” instead of posting compressed data on-chain main as zk-rollups.
validiums stores data off-chain with a data provider, making it custodial to some extent. however, some solutions like starkware use data availability committees (dacs) to ensure that data providers behave honestly.
validiums has very low fees and fast transactions (up to 100,000 tps). however, they have more reliable assumptions than other scaling solutions, such as zk-rollups.
ethical escalation solutions using validium:
- immutable x
Two disadvantages of ethereum scaling solutions include that they are complex to implement and potentially have lower security guarantees.
many scaling solutions are complex to implement, which can affect their functionality. for example, the ethereum development team has been constantly pushing back the shard release date due to the amount of work the upgrade requires.
2. fewer security guarantees
While many l2 and l1 scaling solutions rely on ethereum for security, they may not be as secure as the former. each scaling solution trades off some elements (such as decentralization and security) for speed. users should be well aware of these risks before using these platforms.
The scaling projects covered in this guide are likely to play a significant role in pushing ethereum towards scalability. however, it remains to be seen whether this will be enough to ensure long-term scale.
plan to scale your next dapp on an l2?
sign up for a free account with alchemy, the world’s largest blockchain development platform, supporting popular l2’s including arbitrage, optimism, polygon, and starknet.