Skip to main content

Introduction

Zesu is a stateless EVM block executor, written in Zig and designed to run as a zkVM guest program. It re-executes blocks without holding local chain state and runs inside a zkVM that produces block-validation proofs that verifiers can use to confirm correct block execution without re-processing any transactions.

Why Zesu exists

The Ethereum roadmap is moving towards zkEVM-based block verification, where a single prover generates a cryptographic proof of block execution that any node can verify cheaply, without re-executing transactions.

Re-executing every transaction in a block is computationally expensive. Block-validation proofs offer an alternative: a verifier can confirm correct block execution by checking a compact cryptographic proof, without re-processing any transactions.

Zesu runs inside a zkVM that produces those proofs. The same proving capability applies to other networks that require EVM execution proofs.

How Zesu works

Zesu receives an SSZ-encoded block bundle (execution payload and witness) from an execution client that holds the full chain state, then re-executes the block inside a zkVM, which then produces a proof that the execution was correct.

Zesu also builds as a native binary that runs the same execution logic on your host CPU without a zkVM, useful for debugging and validating zkVM integrations.

See Architecture for how Zesu fits into the broader pipeline, and Witness retrieval for how Zesu obtains the data it needs.

Use cases

  • Ethereum L1 zkEVM proving: Provers run Zesu to prove Ethereum mainnet block execution. Provers are a distinct role in the network, separate from validators and block builders.

  • L2 rollups: L2 networks that require EVM execution proofs can use Zesu as their stateless execution client inside a zkVM.

Next steps