Foundations and Tools for the Static Analysis of Ethereum Smart Contracts

论文作者:Ilya Grishchenko; Matteo Maffei; Clara Schneidewind

论文发表刊物:CAV 2018


摘要: The recent growth of the blockchain technology market puts its main cryptocurrencies in the spotlight. Among them, Ethereum stands out due to its virtual machine (EVM) supporting smart contracts, i.e., distributed programs that control the flow of the digital currency Ether. Being written in a Turing complete language, Ethereum smart contracts allow for expressing a broad spectrum of financial applications. The price for this expressiveness, however, is a significant semantic complexity, which increases the risk of programming errors. Recent attacks exploiting bugs in smart contract implementations call for the design of formal verification techniques for smart contracts. This, however, requires rigorous semantic foundations, a formal characterization of the expected security properties, and dedicated abstraction techniques tailored to the specific EVM semantics. This work will overview the state-of-the-art in smart contract verification, covering formal semantics, security definitions, and verification tools. We will then focus on EtherTrust [1], a framework for the static analysis of Ethereum smart contracts which includes the first complete small-step semantics of EVM bytecode, the first formal characterization of a large class of security properties for smart contracts, and the first static analysis for EVM bytecode that comes with a proof of soundness.

推荐人: TH

推荐理由: This paper focuses on the smart contract of Ethereum, which indirectly controls ETH. Ethereum smart contracts are written in a Turing complete language, so it's complex at the semantic level. This paper discussed in detail the foundations of EtherTrust, it’s the first sound static analyzer for EVM bytecode. In my opinion, this paper plays an important role in learning the security of smart contracts.