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 goat guns nz 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 pixar ball keychain 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.