1. Introduction

Ethereum has limited resources, these being:
  • Bandwidth
  • Computation (bottleneck)
  • Storage (bottleneck)
 
Optimistic Rollups → Submit transaction data on-chain, but execute transactions off-chain.
  • If an error occurs in off-chain execution → Fault proofs can be submitted on-chain.
    • You only execute transactions on-chain if their is a ‘fault’.
 
EVM Equivalence
This describes a complete compliance with the state transition function described by the Ethereum specification.
 
Protocol Guarantees
  1. Liveness
    1. Anyone can update the rollup chain.
      • By submitting to sequencer (low latency, cheaper).
      • By submitting directly to L1 (censorship-resistant).
  1. Availability
    1. Anyone is able to download and reconstruct the rollup chain.
      • Data required to derive the chain is available on L1.
  1. Validity
    1. All transactions are executed correctly and withdrawals are processed correctly.
      • Rollup state and withdrawals are managed by the L2 State Oracle contract.
        • This contract only finalises valid rollup block hashes (under single honest verifier assumption).
        • If an invalid block hash is asserted on L1, an honest verifier will prove it is invalid and win a bond.
       
notion image
 
Users
  • Can deposit/withdraw on L2 by interacting with an L1 contract.
  • Use L2 contracts by submitting transactions to sequencers.
  • Check transaction status by communicating with a verifier. Verifiers can power services such as block explorers.
 
Sequencers (primary block producer)
  1. Accepts off-chain transactions (L2 transactions).
  1. Observes on-chain transactions (deposit events coming from L1).
  1. Consolidates both off and on-chain transactions into L2 blocks (ordering them as well).
  1. Propagates L2 blocks to L1 (by submitting calldata to L1), this involves including:
      • Pending off-chain transactions
      • Information about the ordering of on-chain transactions to construct L2 blocks.
       
💡
Sequencer also gossips the L2 blocks that it creates (for the use of soft finality).
 
Verifiers
Have 2 purposes:
  1. Serving rollup data to users.
  1. Verifying rollup integrity and disputing invalid assertions.
 
notion image
 
Important components
  • Rollup Node
  • Execution Engine
  • L2 Output Oracle
  • L2 Output Submitter
 
Withdrawals
Withdrawals are initiated by L2 transactions and then completed by L1 transaction after dispute period has elapsed.
notion image
 

1. Introduction

Ethereum has limited resources, these being:
  • Bandwidth
  • Computation (bottleneck)
  • Storage (bottleneck)
 
Optimistic Rollups → Submit transaction data on-chain, but execute transactions off-chain.
  • If an error occurs in off-chain execution → Fault proofs can be submitted on-chain.
    • You only execute transactions on-chain if their is a ‘fault’.
 
EVM Equivalence
This describes a complete compliance with the state transition function described by the Ethereum specification.
 
Protocol Guarantees
  1. Liveness
    1. Anyone can update the rollup chain.
      • By submitting to sequencer (low latency, cheaper).
      • By submitting directly to L1 (censorship-resistant).
  1. Availability
    1. Anyone is able to download and reconstruct the rollup chain.
      • Data required to derive the chain is available on L1.
  1. Validity
    1. All transactions are executed correctly and withdrawals are processed correctly.
      • Rollup state and withdrawals are managed by the L2 State Oracle contract.
        • This contract only finalises valid rollup block hashes (under single honest verifier assumption).
        • If an invalid block hash is asserted on L1, an honest verifier will prove it is invalid and win a bond.
       
notion image
 
Users
  • Can deposit/withdraw on L2 by interacting with an L1 contract.
  • Use L2 contracts by submitting transactions to sequencers.
  • Check transaction status by communicating with a verifier. Verifiers can power services such as block explorers.
 
Sequencers (primary block producer)
  1. Accepts off-chain transactions (L2 transactions).
  1. Observes on-chain transactions (deposit events coming from L1).
  1. Consolidates both off and on-chain transactions into L2 blocks (ordering them as well).
  1. Propagates L2 blocks to L1 (by submitting calldata to L1), this involves including:
      • Pending off-chain transactions
      • Information about the ordering of on-chain transactions to construct L2 blocks.
       
💡
Sequencer also gossips the L2 blocks that it creates (for the use of soft finality).
 
Verifiers
Have 2 purposes:
  1. Serving rollup data to users.
  1. Verifying rollup integrity and disputing invalid assertions.
 
notion image
 
Important components
  • Rollup Node
  • Execution Engine
  • L2 Output Oracle
  • L2 Output Submitter
 
Withdrawals
Withdrawals are initiated by L2 transactions and then completed by L1 transaction after dispute period has elapsed.
notion image
Â