Int J Performability Eng ›› 2018, Vol. 14 ›› Issue (8): 1726-1734.doi: 10.23940/ijpe.18.08.p9.17261734

• Original articles • Previous Articles     Next Articles

Formal Process Virtual Machine for Smart Contracts Verification

Zheng Yang and Hang Lei   

  1. School of Information and Software Engineering, University of Electronic Science and Technology of China, Chengdu, 610054, China

Abstract:

This paper reports on the development and verification of a novel formal symbolic process virtual machine (FSPVM) for verifying the reliability and security of Ethereum smart contracts, denoted as FSPVM-E, in Coq proof assistant. It adopts execution-verification isomorphism (EVI), an extension of Curry-Howard isomorphism (CHI), as its fundamental theoretical framework. The current version of FSPVM-E is constructed on a general, extensible, and reusable formal memory (GERM) framework, an extensible and universal formal intermediate programming language Lolisa, which is a large subset of the Solidity programming language using generalized algebraic datatypes, and the corresponding formally verified interpreter of Lolisa, denoted as FEther. It supports the ERC20 standard and can automatically, simultaneously, and symbolically execute the smart contract programs of Ethereum and verify their reliability and security properties using Hoare logic in Coq. In addition, this work contributes to solving the problems of automation, inconsistency, and reusability in higher-order logic theorem proving.


Submitted on May 20, 2018; Revised on June 19, 2018; Accepted on July 16, 2018
References: 20