論文

査読有り
2022年7月

Helmholtz: A Verifier for Tezos Smart Contracts Based on Refinement Types

New Generation Computing
  • Yuki Nishida
  • ,
  • Hiromasa Saito
  • ,
  • Ran Chen
  • ,
  • Akira Kawata
  • ,
  • Jun Furuse
  • ,
  • Kohei Suenaga
  • ,
  • Atsushi Igarashi

40
2
開始ページ
507
終了ページ
540
記述言語
英語
掲載種別
研究論文(学術雑誌)
DOI
10.1007/s00354-022-00167-1
出版者・発行元
Springer Science and Business Media LLC

Abstract

A smart contract is a program executed on a blockchain, based on which many cryptocurrencies are implemented, and is being used for automating transactions. Due to the large amount of money that smart contracts deal with, there is a surging demand for a method that can statically and formally verify them. This article describes our type-based static verification tool Helmholtz for Michelson, which is a statically typed stack-based language for writing smart contracts that are executed on the blockchain platform Tezos. Helmholtz is designed on top of our extension of Michelson’s type system with refinement types. Helmholtz takes a Michelson program annotated with a user-defined specification written in the form of a refinement type as input; it then typechecks the program against the specification based on the refinement type system, discharging the generated verification conditions with the SMT solver Z3. We briefly introduce our refinement type system for the core calculus Mini-Michelson of Michelson, which incorporates the characteristic features such as compound datatypes (e.g., lists and pairs), higher-order functions, and invocation of another contract. Helmholtz successfully verifies several practical Michelson programs, including one that transfers money to an account and that checks a digital signature.

リンク情報
DOI
https://doi.org/10.1007/s00354-022-00167-1
DBLP
https://dblp.uni-trier.de/rec/journals/ngc/NishidaSCKFSI22
URL
https://link.springer.com/content/pdf/10.1007/s00354-022-00167-1.pdf
URL
https://link.springer.com/article/10.1007/s00354-022-00167-1/fulltext.html
ID情報
  • DOI : 10.1007/s00354-022-00167-1
  • ISSN : 0288-3635
  • eISSN : 1882-7055
  • DBLP ID : journals/ngc/NishidaSCKFSI22

エクスポート
BibTeX RIS