Труды Института системного программирования РАН (Dec 2018)

Verifying functional properties of smart contracts using symbolic model-checking

  • E. S. Shishkin

Journal volume & issue
Vol. 30, no. 5
pp. 265 – 288

Abstract

Read online

We describe our efforts towards building a tool that automatically verify high-level functional properties of Ethereum smart contracts against its formal specification that can be given using four different methods: an invariant over contract state or three different types of trace properties. A model of runtime system, the source code of smart contract together with its specification is translated into SMT-solver formula and checked for counter example. We tested the method on simplified version of notorious TheDAO smart-contract, called MiniDAO. Our proof-of-concept tool was able to find a functional property violation of MiniDAO in just several seconds. We believe that the proposed method is indeed useful and deserves deeper investigation.

Keywords