Deductive Verification of Smart Contracts with Dafny

被引:7
|
作者
Cassez, Franck [1 ]
Fuller, Joanne [1 ]
Quiles, Horacio Mijail Anton [1 ]
机构
[1] ConsenSys, New York, NY 11206 USA
关键词
D O I
10.1007/978-3-031-15008-1_5
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
We present a methodology to develop verified smart contracts. We write smart contracts, their specifications and implementations in the verification-friendly language Dafny. In our methodology the ability to write specifications, implementations and to reason about correctness is a primary concern. We propose a simple, concise yet powerful solution to reasoning about contracts that have external calls. This includes arbitrary re-entrancy which is a major source of bugs and attacks in smart contracts. Although we do not yet have a compiler from Dafny to EVM bytecode, the results we obtain on the Dafny code can reasonably be assumed to hold on Solidity code: the translation of the Dafny code to Solidity is straightforward. As a result our approach can readily be used to develop and deploy safer contracts.
引用
收藏
页码:50 / 66
页数:17
相关论文
共 50 条
  • [1] Deductive verification of smart contracts with Dafny
    Cassez, Franck
    Fuller, Joanne
    Quiles, Horacio Mijail Anton
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2024, 26 (02) : 131 - 145
  • [2] Deductive verification of smart contracts with Dafny
    Franck Cassez
    Joanne Fuller
    Horacio Mijail Antón Quiles
    [J]. International Journal on Software Tools for Technology Transfer, 2024, 26 : 131 - 145
  • [3] Mechanised Verification Patterns for Dafny
    Grov, Gudmund
    Lin, Yuhui
    Tumas, Vytautas
    [J]. FM 2016: FORMAL METHODS, 2016, 9995 : 326 - 343
  • [4] On the Formal Verification of Smart Contracts
    Davila, Rene
    Aldeco-Perez, Rocio
    Barcenas, Everardo
    [J]. 2023 11TH INTERNATIONAL CONFERENCE IN SOFTWARE ENGINEERING RESEARCH AND INNOVATION, CONISOFT 2023, 2023, : 18 - 24
  • [5] Verification of smart contracts: A survey
    Almakhour, Mouhamad
    Sliman, Layth
    Samhat, Abed Ellatif
    Mellouk, Abdelhamid
    [J]. PERVASIVE AND MOBILE COMPUTING, 2020, 67
  • [6] Runtime Verification of Ethereum Smart Contracts
    Ellul, Joshua
    Pace, Gordon
    [J]. 2018 14TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC 2018), 2018, : 158 - 163
  • [7] VerX: Safety Verification of Smart Contracts
    Permenev, Anton
    Dimitrov, Dimitar
    Tsankov, Petar
    Drachsler-Cohen, Dana
    Vechev, Martin
    [J]. 2020 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2020), 2020, : 1661 - 1677
  • [8] Optimal Smart Contracts with Costly Verification
    Mamageishvili, Akaki
    Schlegel, Jan Christoph
    [J]. 2020 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN AND CRYPTOCURRENCY (IEEE ICBC), 2020,
  • [9] Formal Modeling and Verification of Smart Contracts
    Bai, Xiaomin
    Cheng, Zijing
    Duan, Zhangbo
    Hu, Kai
    [J]. PROCEEDINGS OF 2018 7TH INTERNATIONAL CONFERENCE ON SOFTWARE AND COMPUTER APPLICATIONS (ICSCA 2018), 2018, : 322 - 326
  • [10] Accessible Software Verification with Dafny
    Leino, K. Rustan M.
    [J]. IEEE SOFTWARE, 2017, 34 (06) : 94 - 97