文章 课程 首页 集训营
更多
  • 视频
  • 百科图谱
  • 问答
  • 提问
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 首页
  • 文章
  • 视频
  • 课程
  • 集训营
  • 工作
    • 工作
    • 问答
    • 活动
    • 文档
    • 集市
搜索
  • 登录/注册
RareSkills
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的文章 TA购买的 TA喜欢的 TA收藏的
CVL 中的循环:路径爆炸与循环展开

本文探讨了Certora Prover在形式化验证中处理循环(包括显式和隐式循环)时遇到的路径爆炸问题。文章详细解释了Prover如何通过有界循环展开来缓解这一问题,并介绍了--loop_iter和--optimistic_loop两个配置标志,同时指出了这些方法的局限性(不完整性或不健全性)。

形式化验证  Certora  循环展开  路径爆炸  Solidity  符号执行 
发布于 2026-02-14 22:31 阅读(812) 点赞(0) ( 52 )
分享
Twitter分享
微信扫码分享
在规则和不变式中使用 “requireInvariant”

本文详细介绍了 Certora 形式化验证工具中 requireInvariant 语句的用法。它通过在规则和不变式中引入已证明的不变式作为假设,避免了在不切实际的合约状态下进行验证,从而提高了验证的效率和准确性。文章以 ERC20 代币的 transfer 函数为例进行了实践演示。

形式化验证  Certora  requireInvariant  不变式  智能合约  ERC20 
发布于 2026-02-14 22:22 阅读(811) 点赞(0) ( 54 )
分享
Twitter分享
微信扫码分享
参数化规则介绍

这篇文章详细介绍了使用 Certora 工具进行形式化验证中的参数化规则(Parametric Rules)。它解释了如何通过定义通用规则来验证智能合约在任何函数调用后都应保持不变的属性,例如 ERC-20 代币的总供应量不变性,并深入探讨了参数化规则的作用范围和执行机制。

形式化验证  Certora  参数化规则  智能合约  不变式  ERC-20 
发布于 2026-02-14 22:10 阅读(749) 点赞(0) ( 40 )
分享
Twitter分享
微信扫码分享
形式化验证一个计数器

本文详细介绍了如何设置环境并使用Certora Prover对Solidity智能合约进行形式化验证。内容涵盖了前置工具安装、项目目录配置、获取Certora访问密钥、编写并运行第一个规范文件,以及如何使用配置文件简化验证流程,并展示了验证结果。

形式化验证  Certora  Solidity  智能合约  Certora Prover  CVL 
发布于 2026-02-14 21:50 阅读(695) 点赞(0) ( 27 )
分享
Twitter分享
微信扫码分享
保留块及其在不变量验证中的作用

这篇文章详细介绍了 Certora 形式化验证中“保留块”(preserved blocks)的作用和用法。它解释了如何利用保留块来指导 Certora Prover 避免在探索不切实际的符号状态时产生虚假告警,从而确保对智能合约不变量(invariants)的验证更加准确和有效。文章以 WETH 合约为案例,逐步演示了如何通过添加保留块来解决验证失败的问题。

形式化验证  Certora  智能合约  不变量  保留块  虚假告警 
发布于 2026-02-14 21:35 阅读(753) 点赞(0) ( 44 )
分享
Twitter分享
微信扫码分享
形式化验证介绍

文章介绍了形式化验证,阐明了规范的定义,并将其与模糊测试进行了比较,分析了形式化验证的优点和局限性。文中以Certora Prover为例,探讨了如何通过数学方法来证明智能合约符合预设规范,特别强调了其在DeFi应用中的重要性及核心原理。

形式化验证  Certora Prover  智能合约  DeFi  规范  模糊测试 
发布于 2026-02-14 20:56 阅读(1113) 点赞(0) ( 36 )
分享
Twitter分享
微信扫码分享
CVL 中的条件语句以及形式化验证 Solady 和 Solmate 的部分

本文介绍了如何在 Certora Verification Language (CVL) 中使用 if/else 语句和三元运算符进行形式化验证。通过实例展示了对 Solidity 合约中条件行为(如溢出处理、max 函数)的验证,并强调了优化 CVL 规则以提高验证效率的重要性。文章还讨论了 if/else 的局限性及三元运算符的适用场景。

形式化验证  Certora  CVL  Solidity  条件语句  三元运算符 
发布于 2026-02-14 20:52 阅读(670) 点赞(0) ( 35 )
分享
Twitter分享
微信扫码分享
约束规则中的幽灵变量

本文深入探讨了Certora形式化验证中幽灵变量(Ghost Variables)未受约束可能导致验证失败的问题。文章通过Counter合约示例,详细解释了Prover的havocing机制如何产生“假阳性”的验证结果,并提出了使用CVL中的require语句来约束幽灵变量的初始值,从而确保验证过程的逻辑一致性和有效性。

Certora  形式化验证  幽灵变量  havocing  require语句  CVL 
发布于 2026-02-14 20:37 阅读(639) 点赞(0) ( 39 )
分享
Twitter分享
微信扫码分享
在CVL中测试msg.sender和msg.value

这篇文章详细介绍了如何在Certora Prover的CVL规则中处理Solidity的msg.sender和msg.value等环境变量。通过一个计数器合约的例子,它解释了env变量的使用,如何编写访问控制规则,并展示了在验证过程中可能遇到的非预期revert情况,以及如何通过添加前置条件来完善验证规则。文章还比较了使用<=>和=>运算符在规则中表达条件的不同。

形式化验证  Certora  CVL  msg.sender  msg.value  Solidity 
发布于 2026-02-14 20:11 阅读(606) 点赞(0) ( 15 )
分享
Twitter分享
微信扫码分享
存储 Hooks 和 Ghosts 介绍

本文深入探讨了如何使用Certora的存储Hook(Storage Hooks)和幽灵变量(Ghost Variables)进行智能合约的形式化验证。文章通过具体案例,详细阐述了如何观察合约内部私有状态的变化,并克服了规则无法直接访问Hook局部变量的限制,最终实现了对合约关键属性的精确验证。

形式化验证  Certora  存储钩子  幽灵变量  Solidity  智能合约 
发布于 2026-02-14 19:31 阅读(658) 点赞(0) ( 34 )
分享
Twitter分享
微信扫码分享
  • ‹
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • ...
  • 34
  • 35
  • ›
文章删除后将不可恢复 !
删除 取消
提交成功!
系统处理完成后将直接进入审核发布流程,可在个人主页关注文章状态。
RareSkills
RareSkills
贡献值: 3525 学分: 14757
https://www.rareskills.io/
0 关注 99 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
UpChain
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2026 登链社区 版权所有
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览

创建课程

编辑封面图
建议尺寸: 1920*1080
编辑封面图
封面预览