Model Checking of Solidity Smart Contracts Adopted for Business Processes

被引:2
|
作者
Garfatta, Ikram [1 ]
Klai, Kais [2 ]
Graiet, Mohamed [3 ]
Gaaloul, Walid [4 ]
机构
[1] Univ Tunis El Manar, Natl Engn Sch Tunis, OASIS, Tunis, Tunisia
[2] Univ Sorbonne Paris North, LIPN, CNRS, UMR 7030, Villetaneuse, France
[3] Univ Monastir, Higher Inst Comp Sci & Math, Monastir, Tunisia
[4] Inst Mines Telecom, Telecom SudParis, Samovar, UMR 5157, Ervy, France
来源
关键词
Blockchain; Business process management; Model checking; Solidity; Smart contracts; Hierarchical coloured petri nets; Temporal properties; PETRI-NETS;
D O I
10.1007/978-3-030-91431-8_8
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Several features of the Blockchain technology are well aligned with critical issues in the Business Process Management (BPM) field, and yet adopting Blockchain for BPM should not be taken lightly. In fact, the security of smart contracts, which are one of the main elements of the Blockchain that make the integration with BPM possible, has proved to be vulnerable. It is therefore crucial for the protection of the designed business processes to prove the correctness of the smart contracts to be deployed on a blockchain. In this paper we propose a formal approach based on the transformation of Solidity smart contracts, with consideration of the BPM context in which they are used, into a Hierarchical Coloured Petri net. We express a set of smart contract vulnerabilities as temporal logic formulae and use the Helena model checker to, not only detect such vulnerabilities while discerning their exploitability, but also check other temporal-based contract-specific properties.
引用
收藏
页码:116 / 132
页数:17
相关论文
共 50 条
  • [1] Model Checking of Vulnerabilities in Smart Contracts: A Solidity-to-CPN Approach
    Garfatta, Ikram
    Klai, Kais
    Graiet, Mohamed
    Gaaloul, Walid
    [J]. 37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, : 316 - 325
  • [2] Compliance checking between business processes and business contracts
    Governatori, Guido
    Milosevic, Zoran
    Sadiq, Shazia
    [J]. 10TH IEEE INTERNATIONAL ENTERPRISE DISTRIBUTED OBJECT COMPUTING CONFERENCE, PROCEEDINGS, 2006, : 221 - 230
  • [3] Statically Checking Missing Input Validations in Solidity Smart Contracts - A Case Study
    Munir, Sundas
    Baig, Mirza Samna Iqbal
    Noor, Mali
    Murad, Syeda Nina
    [J]. 2023 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN, BLOCKCHAIN, 2023, : 47 - 54
  • [4] Model-Checking of Smart Contracts
    Nehai, Zeinab
    Piriou, Pierre-Yves
    Daumas, Frederic
    [J]. IEEE 2018 INTERNATIONAL CONGRESS ON CYBERMATICS / 2018 IEEE CONFERENCES ON INTERNET OF THINGS, GREEN COMPUTING AND COMMUNICATIONS, CYBER, PHYSICAL AND SOCIAL COMPUTING, SMART DATA, BLOCKCHAIN, COMPUTER AND INFORMATION TECHNOLOGY, 2018, : 980 - 987
  • [5] Model checking smart contracts for Ethereum
    Osterland, Thomas
    Rose, Thomas
    [J]. PERVASIVE AND MOBILE COMPUTING, 2020, 63
  • [6] ESBMC-Solidity: An SMT-Based Model Checker for Solidity Smart Contracts
    Song, Kunjian
    Matulevicius, Nedas
    de Lima Filho, Eddie B.
    Cordeiro, Lucas C.
    [J]. 2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2022), 2022, : 65 - 69
  • [7] SSCalc: A Calculus for Solidity Smart Contracts
    Marmsoler, Diego
    Thornton, Billy
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2023, 2023, 14323 : 184 - 204
  • [8] On Verification of Smart Contracts via Model Checking
    Bao, Yulong
    Zhu, Xue-Yang
    Zhang, Wenhui
    Shen, Wuwei
    Sun, Pengfei
    Zhao, Yingqi
    [J]. THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, TASE 2022, 2022, 13299 : 92 - 112
  • [9] Profiling gas consumption in solidity smart contracts
    Di Sorbo, Andrea
    Laudanna, Sonia
    Vacca, Anna
    Visaggio, Corrado A.
    Canfora, Gerardo
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 186
  • [10] Characterizing Efficiency Optimizations in Solidity Smart Contracts
    Brandstaetter, Tamara
    Schulte, Stefan
    Cito, Juergen
    Borkowski, Michael
    [J]. 2020 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN 2020), 2020, : 281 - 290