Title
KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine
Abstract
A developing field of interest for the distributed systems and applied cryptography communities is that of smart contracts: self-executing financial instruments that synchronize their state, often through a blockchain. One such smart contract system that has seen widespread practical adoption is Ethereum, which has grown to a market capacity of 100 billion USD and clears an excess of 500,000 daily transactions. Unfortunately, the rise of these technologies has been marred by a series of costly bugs and exploits. Increasingly, the Ethereum community has turned to formal methods and rigorous program analysis tools. This trend holds great promise due to the relative simplicity of smart contracts and bounded-time deterministic execution inherent to the Ethereum Virtual Machine (EVM). Here we present KEVM, an executable formal specification of the EVM's bytecode stack-based language built with the K Framework, designed to serve as a solid foundation for further formal analyses. We empirically evaluate the correctness and performance of KEVM using the official Ethereum test suite. To demonstrate the usability, several extensions of the semantics are presented. and two different-language implementations of the ERC20 Standard Token are verified against the ERC20 specification. These results are encouraging for the executable semantics approach to language prototyping and specification.
Year
DOI
Venue
2018
10.1109/CSF.2018.00022
2018 IEEE 31st Computer Security Foundations Symposium (CSF)
Keywords
Field
DocType
kevm,evm,ethereum,blockchain,k-framework,verification,smart-contract,semantics,ethereum-virtual-machine,formal-methods
Virtual machine,Software engineering,Computer science,Correctness,Formal specification,Implementation,Formal methods,Bytecode,Smart contract,Executable,Distributed computing
Conference
ISSN
ISBN
Citations 
1940-1434
978-1-5386-6681-4
13
PageRank 
References 
Authors
0.78
9
11
Name
Order
Citations
PageRank
Everett Hildenbrandt1130.78
Manasvi Saxena2221.33
Nishant Rodrigues3130.78
Xiaoran Zhu4173.22
Philip Daian5130.78
Dwight Guth6151.21
Brandon M. Moore7513.60
Daejun Park8746.20
Yi Zhang940077.93
Andrei Ştefănescu102169.89
Grigore Rosu113173183.45