Visible to the public A Formal Verification Tool for Ethereum VM Bytecode

TitleA Formal Verification Tool for Ethereum VM Bytecode
Publication TypeConference Paper
Year of Publication2018
AuthorsPark, Daejun, Zhang, Yi, Saxena, Manasvi, Daian, Philip, Ro\c su, Grigore
Conference NameProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
PublisherACM
ISBN Number978-1-4503-5573-5
Keywordscompositionality, ethereum, formal verification, K framework, Metrics, pubcrawl, resilience, Resiliency, Scalability, scalable verification, smart contracts
Abstract

In this paper, we present a formal verification tool for the Ethereum Virtual Machine (EVM) bytecode. To precisely reason about all possible behaviors of the EVM bytecode, we adopted KEVM, a complete formal semantics of the EVM, and instantiated the K-framework's reachability logic theorem prover to generate a correct-by-construction deductive verifier for the EVM. We further optimized the verifier by introducing EVM-specific abstractions and lemmas to improve its scalability. Our EVM verifier has been used to verify various high-profile smart contracts including the ERC20 token, Ethereum Casper, and DappHub MakerDAO contracts.

URLhttps://dl.acm.org/citation.cfm?doid=3236024.3264591
DOI10.1145/3236024.3264591
Citation Keypark_formal_2018