Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

the ethereum blockchain






tl; drs


evm execution
  • in native execution, evm will load the bytecode and execute the opcodes in the bytecodes one by one from the beginning.
  • each opcode can be thought as doing the following steps:
    1. read elements from stack, memory, or storage
    2. perform some computation on these elements
    3. write back results to stack, memory, or storage

light clients
  • light clients receive the block headers, which contain a merkle root (more on this later) that can be used to query full nodes to verify if a transaction is included in a particular block.

scalability

rollups
  • rollups move computation (and state storage) off-chain, but keep some data per tx on-chain, using compression tricks to replace data with computation wherever possible (but scalability is still limited by the data bandwidth of the underlying blockchain).
  • an onchain smart contract maintains a state root (the merkle root) of the state of the rollup.
  • anyone can publish a batch (collection of txs, compressed to form the previous state root and the new state root).
  • the contract checks that the previous state root in the batch matches the current state root - if not, it switches the state root to the new state root.
  • for depositing and withdrawing, txs can have input or output outside the rollup state (processed within the batches).
  • optimistic (fraud proof) or zk (validity proof) rollups are solutions to know that the post-state roots in the batches are correct.


  • optimistic l2s

    • arbitrum one
      • started rollups
      • largest TVL
    • optimism
      • rollup from optimism collective, with a rich ecosystem of l2
      • tool to create l2 part of the superchain
    • mantle
      • l2 from bitdao
  • zk-rollups l2s

    • zksync era
      • the leading zk-rollup and a zkevm (zk-rollups that use ethereum virtual machine to execute transactions are called zkevms)
      • the only zkevm that supports native account abstraction in the consensus layer of the chain
  • starknet

    • zk-rollups from starkware
    • not a zkevm
    • used the cairo language
    • has recently open-souced their STARK prover
  • polygon zkevm

    • part of polygon 2.0, an ecosystem of zk-rollups
    • converting polygon pos into a zk-validum
    • has their prover open-sourced
  • linea

    • another recent zkevm from consensys

proposer-builder separation

inclusion lists


cool resources