Deductive Verification of Smart Contracts with Dafny. Cassez, F., Fuller, J., & Quiles, H. M. A. CoRR, 2022.
Deductive Verification of Smart Contracts with Dafny [link]Paper  doi  abstract   bibtex   5 downloads  
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.
@article{DBLP:journals/corr/abs-2208-02920,
  author    = {Franck Cassez and
               Joanne Fuller and
               Horacio Mijail Anton Quiles},
  title     = {Deductive Verification of Smart Contracts with Dafny},
  journal   = {CoRR},
  volume    = {abs/2208.02920},
  year      = {2022},
  url       = {https://doi.org/10.48550/arXiv.2208.02920},
  doi       = {10.48550/arXiv.2208.02920},
  eprinttype = {arXiv},
  eprint    = {2208.02920},
  timestamp = {Wed, 10 Aug 2022 14:49:54 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-2208-02920.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org},
  abstract = {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.}
}

Downloads: 5