Tables

Our EVM statements are decomposed into several STARK tables, each corresponding to some coprocessor capable of handling specific operations, orchestrated by a Central Processing Unit.

Each coprocessor execution can be proven independently and concurrently, and a global check (via our cross-table lookups) enforces consistency of values being shared across multiple coprocessors.

Below is a depiction of the current decomposition of EVM statements execution1:

%%{init: {'theme':'dark'}}%%
flowchart TB
    A[Arithmetic]
    BP[BytePacking]
    C[CPU]

    subgraph KK [ Keccak Hash ]
    direction LR
        K[Keccak]
        KS[KeccakSponge]
        K --- KS
    end

    L[Logic]
    M[Memory]

    subgraph MM [ zk-continuations ]
        MB[MemBefore]
        MA[MemAfter]
        MB --- MA
    end

    C --- A
    C --- BP
    C --- KK
    C --- L
    C --- M
    M --- MM
1

This diagram is simplified, and does not represent all interactions between co-processors.