文章 视频 课程 百科图谱 集训营
更多
  • 问答
  • 提问
  • 发表文章
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 发现
  • 首页
  • 文章
  • 视频
  • 课程
  • 集训营
  • 工作
    • 工作
    • 问答
    • 活动
    • 文档
    • 集市
搜索
  • 登录/注册
RareSkills
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的文章 TA购买的 TA喜欢的 TA收藏的
约束规则中的幽灵变量

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

Certora  形式化验证  幽灵变量  havocing  require语句  CVL 
发布于 2026-02-14 20:37 阅读(132) 点赞(0) ( 5 )
分享
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 阅读(107) 点赞(0) ( 2 )
分享
Twitter分享
微信扫码分享
存储 Hooks 和 Ghosts 介绍

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

形式化验证  Certora  存储钩子  幽灵变量  Solidity  智能合约 
发布于 2026-02-14 19:31 阅读(113) 点赞(0) ( 6 )
分享
Twitter分享
微信扫码分享
Certora 中的不变量介绍

文章详细介绍了使用 Certora 进行智能合约形式化验证中的核心概念:不变量(Invariants)。它解释了不变量与规则(Rules)的区别,深入探讨了如何使用 Certora Verification Language (CVL) 定义、设置和验证智能合约中的不变量,并阐述了Certora Prover基于数学归纳法的验证原理和优化机制。

形式化验证  Certora  不变量  智能合约  CVL  数学归纳法 
发布于 2026-02-14 18:23 阅读(118) 点赞(0) ( 6 )
分享
Twitter分享
微信扫码分享
理解 Certora CVL 中的 Spec 文件

本文介绍了使用Certora Prover进行智能合约形式化验证的核心组件——规范文件(.spec)。文章详细解释了规范文件中规则(Rule)的构成,包括前置条件、操作和后置期望,并阐述了方法块(Methods Block)的作用及其envfree标签的使用,最后通过一个Counter合约示例指导读者如何编写和运行验证。

Certora  形式化验证  CVL  智能合约  规范文件  方法块 
发布于 2026-02-14 17:27 阅读(109) 点赞(0) ( 2 )
分享
Twitter分享
微信扫码分享
蕴涵(Implication)运算符

本文详细介绍了在 Certora 形式化验证中使用蕴涵运算符 (=>)。它解释了该运算符如何简洁地表达条件,避免 if 语句在 CVL 中的编译问题,并通过 Solidity 示例深入探讨了蕴涵的逻辑特性、等价性(如反证法)以及常见陷阱(如空泛真理和同义反复),最后通过对 Solmate 的 mulDivUp() 函数进行形式化验证来展示实际应用。

形式化验证  Certora  蕴涵运算符  CVL  智能合约  Solidity 
发布于 2026-02-14 17:19 阅读(126) 点赞(0) ( 6 )
分享
Twitter分享
微信扫码分享
ERC-721 的转移与授权规则

本文详细介绍了如何使用Certora Prover对ERC-721代币的transferFrom()、approve()、setApprovalForAll()以及balanceOf(0)等核心功能进行形式化验证。文章通过具体的Certora验证语言(CVL)代码示例,深入解析了每个规则的前置条件、状态记录、方法调用以及活性、效果和无副作用断言,旨在确保代币操作的正确性和安全性。

形式化验证  Certora  ERC-721  智能合约  CVL  不变量 
发布于 2026-02-14 17:16 阅读(114) 点赞(0) ( 3 )
分享
Twitter分享
微信扫码分享
方法属性介绍

本文深入介绍了Certora形式化验证工具中的方法属性(Method Properties),详细阐述了如何在Certora验证语言(CVL)的参数化规则中使用这些属性,例如函数选择器f.selector,来实现函数特有的断言检查。文章还讲解了如何利用filtered块排除不相关的视图(view)函数,以优化验证过程,提高效率。

形式化验证  Certora  CVL  方法属性  参数化规则  函数选择器 
发布于 2026-02-14 16:56 阅读(128) 点赞(0) ( 4 )
分享
Twitter分享
微信扫码分享
在 Certora 中测试 Revert 调用

文章详细介绍了如何使用Certora形式化验证工具中的@withrevert方法标签和lastReverted特殊变量来验证智能合约中的预期revert行为。它解释了Certora Prover默认忽略revert的原因,以及如何显式地处理revert路径,从而确保合约在所有情况下(包括溢出等异常情况)的行为符合预期。

形式化验证  Certora  CVL  智能合约  revert  lastReverted 
发布于 2026-02-14 16:51 阅读(124) 点赞(0) ( 4 )
分享
Twitter分享
微信扫码分享
持久化幽灵变量

文章详细介绍了 Certora 形式化验证工具中的“持久化幽灵变量”(persistent ghost),阐述了其与普通幽灵变量在外部调用和回滚时的行为差异。通过具体案例展示了持久化幽灵变量如何在追踪底层 ETH 转移失败等场景中解决普通幽灵变量遇到的数据重置问题,并强调了何时不应滥用持久化幽灵变量,以避免掩盖真实的合约漏洞。

Certora  形式化验证  持久化幽灵变量  幽灵变量  回滚  外部调用 
发布于 2026-02-14 16:18 阅读(103) 点赞(0) ( 2 )
分享
Twitter分享
微信扫码分享
  • ‹
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • ...
  • 33
  • 34
  • ›
文章删除后将不可恢复 !
删除 取消
一键转载
转载文章不用复制粘贴和编辑,输入原文链接,交给后台发布!
暂只支持: 微信公众号、Mirror、Medium的文章链接
提交后可在个人主页查看文章发布状态
提交
提交成功!
系统处理完成后将直接进入审核发布流程,可在个人主页关注文章状态。
RareSkills
RareSkills
贡献值: 3355 学分: 12604
https://www.rareskills.io/
0 关注 94 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
UpChain
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

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

发送私信

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

提醒

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

创建课程

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