Chinese Journal of Network and Information Security ›› 2022, Vol. 8 ›› Issue (4): 12-28.doi: 10.11959/j.issn.2096-109x.2022041

• Topic: Blockchain System, Smart Contract and Application Security • Previous Articles     Next Articles

State-of-the-art survey of smart contract verification based on formal methods

Wenbo ZHANG1,2, Simin CHEN1, Lifei WEI1, Wei SONG1, Dongmei HUANG3   

  1. 1 College of Information Technology, Shanghai Ocean University, Shanghai 201306, China
    2 Shanghai Key Laboratory of Trustworthy Computing, Shanghai 200062, China
    3 Shanghai University of Electric Power, Shanghai 201306, China
  • Revised:2022-07-04 Online:2022-08-15 Published:2022-08-01
  • Supported by:
    The National Natural Science Foundation of China(61872142);Shanghai Sailing Program(21YF1417000);The Open Project of Shanghai Key Laboratory of Trustworthy Computing;Shanghai Natural Science Foundation(18ZR1417300);The Program for the Capacity Development of Shanghai Local Colleges(20050501900);Startup Foundation for Young Teachers of Shanghai Ocean University

Abstract:

Smart contract represents an essential application scenario of blockchain technology.Smart contract technology improves programmability and scalability of blockchain, and has broad development prospects.However, a series of security incidents caused a great number of economic losses and weakened users’ confidence in the Ethereum platform.The security of smart contract has become a critical problem that restricts the further development of smart contract.Defects in smart contract code may cause serious consequences and cannot be modified once deployed, it is especially important to verify the correctness of smart contract in advance.In recent years, researchers have obtained many achievements in verification of smart contract, but there is a lack of systematic summary of these research results.Therefore, some basic principles of Ethereum were introduced, including the transaction, gas mechanism, storage and programming language.Eight common types of vulnerabilities in smart contract were summarized and their causes were explained.Some real security events were reviewed and some examples of vulnerability codes were presented.Then, the research work on automatic verification of smart contract based on symbolic execution, model checking and theorem proving was classified and summarized.Three open-source automated tools were selected, including Mythril, Slither and Oyente.And experiments were implemented to evaluate and compare the three tools from the aspects of efficiency, accuracy and the types of vulnerability can be detected.Furthermore, related review articles were surveyed, and the advantages of this paper compared with these works were summarized.The critical problems in the vulnerability detection technology of smart contract were also summarized and the direction of future research was proposed at last.

Key words: smart contract, formal methods, blockchain, Ethereum, program verification

CLC Number: 

No Suggested Reading articles found!