Section 1 — introduction. Provisional 30-minute technical talk, excluding Q&A.
I'm a zkEVM research engineer at the Ethereum Foundation, and I'm interested
in formally verifying the EVM. This talk is about building a formal specification
in Sail: what worked, what proved difficult, and how that experience is shaping
the next version.
Draft based on evm-sail adc44afd21ef6d5a45c96046f0d23f527acbf54e, inspected 2026-10-15.
Follow the execution pipeline: the EVM RV64 guest program is transpiled to the
zkVM ISA guest program, which runs on the zkVM. The zkVM feeds the proof system.
This is the architecture motivating verification, not a claim of completed proofs.
Nesting illustrates ordinary transaction execution. Block system operations can
also invoke the machine. The key point is scope, not the detailed call graph.
Sail is a language for describing instruction-set semantics, with executable
and proof-assistant outputs. Walk the diagram from ISA models to Sail, then
follow only the executable-emulator and theorem-prover paths.
The figure includes Coq, Isabelle and HOL4; EVM Sail's inspected proof targets
are Lean and Rocq. Do not imply every pictured integration is implemented here.
Distinguish execution, differential testing, and proof. These are different kinds
of evidence. Do not claim full test-suite conformance or complete EVM correctness.
Frame these as lessons from building the workflow. The next slides explain
their consequences, without descending into instruction implementations.
There are narrow existing proof examples, but no complete EVM correctness result.
Do not present extraction as a verified source-to-binary compilation pipeline.
Semantic types express what values mean in the model; machine types determine
how execution stores and manipulates them. Type-driven lowering connects the two.
The optimized EVM-word representation uses four 64-bit limbs. This is a compiler
design choice, not an end-to-end correctness proof or a measured speedup claim.
These are proposed priorities for discussion, not a committed implementation plan.
The actual refactor and its proof milestones still need presenter confirmation.