Smart contracts manage a large number of digital assets nowadays. Bugs in these contracts have led to significant financial loss. Verifying the correctness of smart contracts is therefore an important task. This paper presents a safety verification tool DCV that targets declarative smart contracts written in DeCon, a logic-based domain-specific language for smart contract implementation and specification. DCV is sound and fully automatic. It proves safety properties by mathematical induction and can automatically infer inductive invariants without annotations from the developer. Our evaluation shows that DCV is effective in verifying smart contracts adapted from public repositories, and can verify contracts not supported by other tools. Furthermore, DCV significantly outperforms baseline tools in verification time.
翻译:如今,智能合同管理着大量的数字资产。 这些合同中的错误导致了巨大的财务损失。 因此,核实智能合同的正确性是一项重要任务。 本文展示了一种安全核查工具DCV, 其对象是在DeCon(一种基于逻辑的域名语言,用于智能合同的执行和规格)中书写的声明智能合同。 DCV是健全和完全自动的。 它通过数学感应来证明安全特性,并且可以在没有开发者说明的情况下自动推断诱导变量。 我们的评估表明,DCV在核查从公共储存库改编的智能合同方面是有效的,并且可以核查没有其他工具支持的合同。 此外,DCV在核查时间里大大超过了基线工具。