Formally Verified EVM Block-Optimizations

No Thumbnail Available
Kirchner, Daniel
Genaim, Samir
Albert, Elvira
Martin-Martin, Enrique
Journal Title
Journal ISSN
Volume Title
Springer Nature Switzerland
Research Projects
Organizational Units
Journal Issue
The efficiency and the security of smart contracts are their two fundamental properties, but might come at odds: the use of optimizers to enhance efficiency may introduce bugs and compromise security. Our focus is on EVM (Ethereum Virtual Machine) block-optimizations, which enhance the efficiency of jump-free blocks of opcodes by eliminating, reordering and even changing the original opcodes. We reconcile efficiency and security by providing the verification technology to formally prove the correctness of EVM block-optimizations on smart contracts using the Coq proof assistant. This amounts to the challenging problem of proving semantic equivalence of two blocks of EVM instructions, which is realized by means of three novel Coq components: a symbolic execution engine which can execute an EVM block and produce a symbolic state; a number of simplification lemmas which transform a symbolic state into an equivalent one; and a checker of symbolic states to compare the symbolic states produced for the two EVM blocks under comparison.
Coq, Ethereum Virtual Machine, Smart Contracts, Optimization, Theorem Proving