“Verifereum logo”

Formal semantics of the Ethereum Virtual Machine in HOL4

Verifereum is an executable formal semantics of the Ethereum Execution Layer’s EVM, mechanised in the HOL4 theorem prover. The semantics runs inside the logic, which is how it is checked against Ethereum’s conformance tests, and it is the foundation for machine-checked proofs about EVM bytecode: theorems about the semantics itself, a program logic for contracts, and compiler verification targeting the EVM. Audits find bugs; proofs rule out whole classes of them, and Ethereum’s small, deterministic programs are a good fit for that.

Status

Verifereum v1.2.0 targets Osaka and is tested against all 17,441 Osaka blockchain cases in the Ethereum Execution Spec Tests (EEST) v21.0.2.

The checked runner evaluates the semantics inside HOL4: a Passed result is backed by a kernel-checked theorem. The latest full run passed 17,386 cases (99.7%) in 5h22m on 16 cores; 55 cases timed out, with no other failures (checked results). The unchecked runner compiles the same definitions to native code and runs them without producing proofs. It passed all 17,441 cases (100%) in 38 minutes on CI, including every case that timed out in the checked run (unchecked results).

Block processing executes the deployed beacon-roots, block-history, withdrawal-request and consolidation-request contracts. For their canonical bytecode, HOL4 correspondence proofs relate both return bytes and final account state to the high-level models, under documented bounds.

What’s in the repository

The repository is GPLv3. It contains:

News

Talks

Get involved