Scaling

The cost of using the network is incremented as more people are using it, creating the need for scaling solutions.

Main goal is to increase transaction speed (faster finality), and transaction throughput (high transactions per second), without sacrificing decentralization or security.

Scaling is categorized as on-chain scaling or off-chain scaling.

On-chain Scaling

This method of scaling requires changes to the Ethereum protocol (layer 1 Mainnet). Sharding is currently the main focus for this method of scaling.

Sharding is the process of splitting a database horizontally to spread the load. In an Ethereum context, sharding will reduce network congestion and increase transactions per second by creating new chains, known as “shards.” This will also lighten the load for each validator who will no longer be required to process the entirety of all transactions across the network.

Off-chain Scaling

Off-chain solutions are implemented separately from layer 1 Mainnet - they require no changes to the existing Ethereum protocol.

  • Some solutions, known as “layer 2” solutions, derive their security directly from layer 1 Ethereum consensus, such as optimistic rollups, zero-knowledge rollups or state channels.
  • Other solutions involve the creation of new chains in various forms that derive their security separately from Mainnet, such as sidechains, validiums, or plasma chains. These solutions communicate with Mainnet, but derive their security differently to obtain a variety of goals.
    • A sidechain is an independent EVM-compatible blockchain which runs in parallel to Mainnet. These are compatible with Ethereum via two-way bridges, and run under their own chosen rules of consensus, and block parameters.
    • A plasma chain is a separate blockchain that is anchored to the main Ethereum chain, and uses fraud proofs (like optimistic rollups) to arbitrate disputes.
    • A Validium chain uses validity proofs like zero-knowledge rollups but data is not stored on the main layer 1 Ethereum chain. This can lead to 10k transactions per second per Validium chain and multiple chains can be run in parallel.

Layer 2 Scaling

Layer 2 is a collective term for solutions designed to help scale your application by handling transactions off the Ethereum Mainnet while taking advantage of the robust decentralized security model of Mainnet.

  • Most layer 2 solutions are centered around a server or cluster of servers, each of which may be referred to as a node, validator, operator, sequencer, block producer, or similar term.

Generally speaking, transactions are submitted to these layer 2 nodes instead of being submitted directly to layer 1.

For some solutions the layer 2 instance then batches them into groups before anchoring them to layer 1, after which they are secured by layer 1 and cannot be altered.

Transactions are rolled up into a single transaction to Mainnet Ethereum, reducing gas fees for users.

There are two types of rollups with different security models:

  • Optimistic rollups: assumes transactions are valid by default and only runs computation, via a fraud proof, in the event of a challenge.
  • Zero-knowledge rollups: runs computation off-chain and submits a validity proof to the chain.
    • A cryptographic proof, also known as a SNARK (Succinct Non-Interactive Argument of Knowledge), is generated and submitted to layer 1.

State channels utilize multisig contracts to enable participants to transact quickly and freely off-chain, then settle finality with Mainnet. The two types of channels are currently state channels and payment channels.

  • Participants have to be known upfront.
  • Users have to lock up their funds in a multisig contract.
  • This solution is application-specific.

References