中文

声明式智能合约

软件工程 2022-07-29 v1

摘要

本文提出 DeCon,一种用于实现智能合约并指定合约级属性的声明式编程语言。基于智能合约操作与合约级属性可自然表达为关系约束这一观察,DeCon 将每个智能合约建模为存储交易记录的一组关系表。这种智能合约的关系表示便于合约属性的规范说明,促进对潜在属性违规的运行时监控,并通过数据溯源使合约调试更为清晰。具体而言,一个 DeCon 程序由一组针对关系表示的声明式规则和违规查询规则组成,分别描述智能合约实现与合约级属性。我们已开发一款工具,可将 DeCon 程序编译为可执行的 Solidity 程序,并植入运行时属性监控机制。案例研究表明,DeCon 能够实现如 ERC20 与 ERC721 数字代币等现实智能合约。评估结果揭示,相较于开源参考实现,DeCon 带来的开销微乎其微:执行中位 gas 开销为 14%,运行时验证另增 16% 中位 gas 开销。

关键词

引用

@article{arxiv.2207.13827,
  title  = {Declarative Smart Contracts},
  author = {Haoxian Chen and Gerald Whitters and Mohammad Javad Amiri and Yuepeng Wang and Boon Thau Loo},
  journal= {arXiv preprint arXiv:2207.13827},
  year   = {2022}
}