SolCMC:Solidity编译器的模型检查器
1. 引言
在过去60天内,以太坊基金会用于以太坊平台最常用语言Solidity的编译器下载量接近400万次。自2019年起,该编译器内置了一个强大、易用的符号模型检查器SolCMC(以前称为SMTChecker)。
1.1 SolCMC的作用
- 对智能合约开发者 :让他们能轻松使用形式化验证技术。
- 对Horn求解器开发者 :作为一个测试平台。目前,该系统与Spacer和Eldarica接口,使相关技术能被广大用户使用。未来,还计划通过类似机制集成更多技术,例如它有一个有界模型检查引擎,可向z3和cvc5等求解器发出SMT查询来查找漏洞。
1.2 智能合约安全的重要性
运行在以太坊平台上的智能合约通过其不可变逻辑持有和控制着数十亿美元,因此漏洞可能导致巨大损失。虽然有很多工具可在部署前检测智能合约漏洞,但Solidity语言发展迅速,很难让工具与语言保持同步。将模型检查器直接集成到编译器中是确保其可持续性的最佳方式,这样做有两个主要优点:
- 精确建模 :能精确且稳健地模拟Solidity及其应用的特定功能,如重入回调和全局存储处理,可合成反例合约并计算归纳不变量。
- 便于展示结果 :源代码与模型之间的短管道允许以对开发者有意义的词汇将反例和不变量作为编译器警告和注释呈现。
1.3 SolCMC的目标
以最少的用户输入验
超级会员免费看
订阅专栏 解锁全文
818

被折叠的 条评论
为什么被折叠?



