[论文解读] Towards Safer Smart Contracts: A Survey of Languages and Verification Methods
对智能合约语言(高层、IR 和低层)及验证方法的全面综述,聚焦安全属性、形式语义、计量与验证工具链。它分析了设计权衡并勾勒了未来更安全的智能合约的发展方向。
With a market capitalisation of over USD 205 billion in just under ten years, public distributed ledgers have experienced significant adoption. Apart from novel consensus mechanisms, their success is also accountable to smart contracts. These programs allow distrusting parties to enter agreements that are executed autonomously. However, implementation issues in smart contracts caused severe losses to the users of such contracts. Significant efforts are taken to improve their security by introducing new programming languages and advance verification methods. We provide a survey of those efforts in two parts. First, we introduce several smart contract languages focussing on security features. To that end, we present an overview concerning paradigm, type, instruction set, semantics, and metering. Second, we examine verification tools and methods for smart contract and distributed ledgers. Accordingly, we introduce their verification approach, level of automation, coverage, and supported languages. Last, we present future research directions including formal semantics, verified compilers, and automated verification.
研究动机与目标
- 对当前智能合约语言进行调查,重点关注安全特性与架构(范式、类型、指令集、语义、计量)。
- 调查面向低层、IR 和高层表示的智能合约验证工具与方法,包括自动化、覆盖率和语言支持。
- 分析与智能合约相关的安全属性(调用完整性、原子性、独立性、运行时正确性),并讨论未来研究方向,如形式语义和经验证的编译器。
提出的方法
- 将语言分为高层、中介表示(IR)和低层;讨论它们的范式、指令集、语义和计量。
- 回顾安全属性及语言设计如何应对重入、原子性和外部调用。
- 调查验证方法:基于模型的(自动化)与基于证明(半自动化),并讨论自动化程度、覆盖率和所支持的语言。
- 总结验证工具(Securify, Mythril, Oyente, ZEUS, ECF, Maian, K frameworks, Lem, Coq, F*)并将它们映射到低层、IR 或高层输入。
- 讨论形式语义方面的努力及其对经验证编译器和安全语言设计的影响。
实验结果
研究问题
- RQ1在高层、IR 和低层表示中,哪些关键的语言设计选择影响智能合约的安全性?
- RQ2用于确保智能合约安全性的验证方法有哪些,不同工具在自动化、覆盖率和语言支持方面有何差异?
- RQ3在形式语义和经验证编译器方面,哪些未来方向最有前景以提升智能合约的安全性?
主要发现
- 高层语言(如 Solidity、Vyper)越来越限制指令集并鼓励显式的状态转移以提高安全性。
- 中介表示(IR)如 Scilla、Simplicity 等强调形式语义和验证就绪性;低层语言则优先考虑确定性执行和计量策略(gas、脚本大小)。
- 多种验证工具针对不同输入(低层字节码、IR 或高层代码)工作,自动化程度和覆盖率各不相同;基于模型的工具实现全自动化,而基于证明的工具则是部分自动化。
- 形式语义的努力(K 框架、Coq、Isabelle/HOL、F*)支持严格的验证;正推动经验证编译器和将虚拟机语义与账本语义分离的方向。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。