Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of 2018
DOI: 10.1145/3236024.3264591
|View full text |Cite
|
Sign up to set email alerts
|

A formal verification tool for Ethereum VM bytecode

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 Kframework's reachability logic theorem prover to generate a correctby-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 v… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
70
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
4
2

Relationship

0
10

Authors

Journals

citations
Cited by 97 publications
(73 citation statements)
references
References 10 publications
0
70
0
Order By: Relevance
“…For this reason, the applications are illustrative only, not meant to serve as a comprehensive evaluation or make any claim of scalability. Moreover, the reported performance of the applications is not optimized 14 , and there is room for improvement, e.g., by providing custom abstractions and lemmas specific to x86-64, similarly to [189]. However, we believe that each application has the potential to be leveraged into a standalone tool, with its own user interface and case studies, but this is not our goal here.…”
Section: Applicationsmentioning
confidence: 99%
“…For this reason, the applications are illustrative only, not meant to serve as a comprehensive evaluation or make any claim of scalability. Moreover, the reported performance of the applications is not optimized 14 , and there is room for improvement, e.g., by providing custom abstractions and lemmas specific to x86-64, similarly to [189]. However, we believe that each application has the potential to be leveraged into a standalone tool, with its own user interface and case studies, but this is not our goal here.…”
Section: Applicationsmentioning
confidence: 99%
“…Based on F * , Grishchenko et al presented the first complete small-step semantics of EVM bytecode [25]. Hildenbrandt et al presented an executable formal semantics for the Ethereum platform, named KEVM [27], based on which, Park et al [46] presented a deductive verification tool, capable of verifying various high-profile and safety-critical contracts. Jiao et al developed the operational formal semantics for the Solidity programming language, named K-Solidity [32,33].…”
Section: Smart Contract Analysis and Verificationmentioning
confidence: 99%
“…The smart contract language Michelson, used by Tezos, has also been formalised in Coq [30]. EVM, the virtual machine of Ethereum, has been formalised in K [32], in Isabelle/HOL [24,7], and in F * [21]. For a more complete account of blockchain projects involving formal methods see [22].…”
Section: For Fun and Profitmentioning
confidence: 99%