Blockchain smart contracts formalization: Approaches and challenges to address vulnerabilities

被引:116
作者
Singh, Amritraj [1 ]
Parizi, Reza M. [1 ]
Zhang, Qi [2 ]
Choo, Kim-Kwang Raymond [3 ,4 ]
Dehghantanha, Ali [4 ]
机构
[1] Kennesaw State Univ, Dept Software Engn & Game Dev, Marietta, GA 30060 USA
[2] IBM Thomas J Watson Res Ctr, Yorktown Hts, NY 10598 USA
[3] Univ Texas San Antonio, Dept Informat Syst & Cyber Secur, San Antonio, TX 78249 USA
[4] Univ Guelph, Sch Comp Sci, Cyber Sci Lab, Guelph, ON, Canada
关键词
Blockchain; Smart contracts; Formal methods; Verification; Systematic review;
D O I
10.1016/j.cose.2019.101654
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Blockchain as a distributed computing platform enables users to deploy pieces of software (known as smart contracts) for a wealth of next-generation decentralized applications without involving a trusted third-party. The advantages of smart contracts do, however, come at a price. As with most technologies, there are potential security threats, vulnerabilities and various other issues associated with smart contracts. Writing secure and safe smart contracts can be extremely difficult due to various business logics, as well as platform vulnerabilities and limitations. Formal methods have recently been advocated to mitigate these vulnerabilities. This paper aims to provide a first-time study on current formalization research on all smart contract-related platforms on blockchains, which is scarce in the literature. To this end, a timely and rigorous systematic review to examine the state-of-the-art research and achievements published between 2015 and July 2019 is provided. This study is based on a comprehensive review of a set of 35 research papers that have been extracted from eight major online digital databases. The results indicate that the most common formalization technique is theorem proving, which is most often used to verify security properties relating to smart contracts, while other techniques such as symbolic execution and model checking were also frequently used. These techniques were most commonly used to verify the functional correctness of smart contracts. From the language and automation point of views, there were 12 languages (domain specific/specification/general purpose) proposed or used for the formalization of smart contracts on blockchains, while 15 formal method-specific automated tools/frameworks were identified for mitigating various vulnerabilities of smart contracts. From the results of this work, we further highlight three open issues for future research in this emerging domain including: formal testing, automated verification of smart contracts, and domain specific languages (DSLs) for Ethereum. These issues suggest the need for additional, in-depth research. Our study also provides possible future research directions. (C) 2019 Elsevier Ltd. All rights reserved.
引用
收藏
页数:16
相关论文
共 53 条
  • [11] Validation of Decentralised Smart Contracts Through Game Theory and Formal Methods
    Bigi, Giancarlo
    Bracciali, Andrea
    Meacci, Giovanni
    Tuosto, Emilio
    [J]. PROGRAMMING LANGUAGES WITH APPLICATIONS TO BIOLOGY AND SECURITY: ESSAYS DEDICATED TO PIERPAOLO DEGANO ON THE OCCASION OF HIS 65TH BIRTHDAY, 2015, 9465 : 142 - 161
  • [12] Biryukov Alex, 2017, Financial Cryptography and Data Security. FC 2017 International Workshops WAHC, BITCOIN, VOTING, WTSC, and TA. Revised Selected Papers: LNCS 10323, P453, DOI 10.1007/978-3-319-70278-0_28
  • [13] Breidenbach L, 2017, ENTER HYDRA PRINCIPL, V2017
  • [14] Modeling and Verification of the Bitcoin Protocol
    Chaudhary, Kaylash
    Fehnker, Ansgar
    van de Pol, Jaco
    Stoelinga, Marielle
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2015, (196): : 46 - 60
  • [15] Sanchiz DC, 2017, INT J EDUC RES INNOV, P1
  • [16] Conoscenti M, 2016, I C COMP SYST APPLIC
  • [17] Cuccuru P, 2017, INT J LAW INFORM TEC, V25, P179, DOI 10.1093/ijlit/eax003
  • [18] Dennis R, 2016, 2016 INTERNATIONAL CONFERENCE ON COLLABORATION TECHNOLOGIES AND SYSTEMS (CTS), P430, DOI [10.1109/CTS.2016.0082, 10.1109/CTS.2016.80]
  • [19] Destefanis G, 2018, 2018 IEEE 1ST INTERNATIONAL WORKSHOP ON BLOCKCHAIN ORIENTED SOFTWARE ENGINEERING (IWBOSE), P19, DOI 10.1109/IWBOSE.2018.8327567
  • [20] Runtime Verification of Ethereum Smart Contracts
    Ellul, Joshua
    Pace, Gordon
    [J]. 2018 14TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2018), 2018, : 158 - 163