DeepAI AI Chat
Log In Sign Up

Formal Process Virtual Machine for Smart Contracts Verification

by   Zheng Yang, et al.

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, completely 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 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.


page 3

page 6

page 7


Optimization of Executable Formal Interpreters developed in Higher-order Theorem Proving Systems

In recent publications, we presented a novel formal symbolic process vir...

FEther: An Extensible Definitional Interpreter for Smart-contract Verifications in Coq

Blockchain technology adds records to a list using cryptographic links. ...

Security-Hardening Software Libraries with Ada and SPARK – A TCP Stack Use Case

This white paper demonstrates how the assurance, reliability, and securi...

Formal Verification of Solidity contracts in Event-B

Smart contracts are the artifact of the blockchain that provide immutabl...

Fast and Reliable Formal Verification of Smart Contracts with the Move Prover

The Move Prover (MVP) is a formal verifier for smart contracts written i...