“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

The semantics targets the live fork, Osaka. At the last full run it passed 17249 of the 17550 Osaka blockchain tests in the Ethereum Execution Spec Tests (EEST) v21.0.1 (98.3%); the results table lists every test and is where the current numbers are. The remaining tests are mostly timeouts in our evaluation (the semantics is not built for speed), plus the tests that use modified system contracts.

What’s in the repository

The repository is GPLv3. It contains:

News

Talks

Get involved