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

本文详细阐述了如何使用Certora Prover对ERC-721代币合约进行形式化验证,重点介绍了5个关键不变式(invariants)的实现与验证。

形式化验证  Certora  CVL  ERC-721  不变式  智能合约安全 
发布于 2026-02-14 16:16 阅读(259) 点赞(0) ( 22 )
分享
Twitter分享
微信扫码分享
双向条件运算符

本文详细介绍了Certora形式化验证工具中双向条件运算符(<=>)的用法,并将其与蕴含运算符(=>)进行了比较。通过Solidity的setX()函数和Solmate的mulDivUp()函数为例,演示了如何使用双向条件运算符更简洁、明确地表达代码的逻辑关系和行为,特别是在验证函数成功条件、revert条件和舍入行为时的应用。

形式化验证  Certora  双向条件运算符  CVL  Solidity  智能合约 
发布于 2026-02-14 16:13 阅读(184) 点赞(0) ( 10 )
分享
Twitter分享
微信扫码分享
ERC-721 中的安全铸造和安全转移规则

本文深入探讨了使用Certora Prover对ERC-721代币中的_safeMint()和safeTransferFrom()功能进行形式化验证。文章详细解释了如何通过模拟合约和CVL(Certora验证语言)的辅助函数来处理外部回调,以确保验证的完整性,并阐述了活性、效果和无副作用断言。

形式化验证  Certora  ERC-721  safeMint  safeTransferFrom  CVL 
发布于 2026-02-14 14:48 阅读(252) 点赞(0) ( 12 )
分享
Twitter分享
微信扫码分享
溢出和Mathint

本文深入探讨了Certora形式化验证工具中CVL语言的mathint类型,该类型代表无界整数,能有效检测Solidity合约(尤其是在unchecked块和内联汇编中)可能发生的溢出或下溢问题。文章强调了mathint的默认行为及其在暴露潜在漏洞方面的优势,并警告了将mathint强制转换为uint256的危险性,因为这可能掩盖错误。

Certora  CVL  mathint  溢出  形式化验证  Solidity 
发布于 2026-02-14 14:35 阅读(172) 点赞(0) ( 10 )
分享
Twitter分享
微信扫码分享
形式化验证一个ERC-20代币

本文详细介绍了如何使用Certora Prover对Solmate的ERC-20代币进行形式化验证。内容涵盖了如何验证transfer、transferFrom、approve、mint和burn等函数的正确性(包括成功和回滚场景),确保没有意外的副作用,以及定义和验证如“总余额等于总供应量”等关键不变式。文章还探讨了如何防止未经授权的操作,并提供了具体的CVL规则示例。

形式化验证  Certora Prover  ERC-20  Solidity  不变式  unchecked块  智能合约安全 
发布于 2026-02-14 14:21 阅读(254) 点赞(0) ( 19 )
分享
Twitter分享
微信扫码分享
约束不变量中的幽灵变量

本文深入探讨了 Certora 形式化验证中,如何在不变量(invariants)内正确约束幽灵变量(ghost variables)。文章指出 require 语句不适用于不变量,并详细介绍了使用 init_state axiom 来设置幽灵变量的初始值,以及使用 global axiom 来定义在所有状态下都成立的属性,以解决验证失败的问题。

形式化验证  Certora  不变量  幽灵变量  公理  Solidity 
发布于 2026-02-14 13:45 阅读(178) 点赞(0) ( 10 )
分享
Twitter分享
微信扫码分享
使用幽灵变量和Hook验证不变性

本文介绍了如何使用Certora工具通过幽灵变量(ghost variables)和Hook(hooks)对ERC20代币合约进行形式化验证,确保“总供应量等于所有账户余额之和”这一核心不变性。文章详细阐述了在Sstore和SloadHook中放置约束条件的不同影响,并强调了SloadHook在排除不可能状态方面的优越性。

形式化验证  Certora  ERC20  幽灵变量  存储钩子  不变性 
发布于 2026-02-14 13:32 阅读(221) 点赞(0) ( 12 )
分享
Twitter分享
微信扫码分享
使用 Sload Hook与存储映射

这篇文章深入探讨了在使用Certora进行形式化验证时,Solidity合约中unchecked块可能引发的问题。它解释了Prover如何在这种情况下错误地假设溢出行为,并通过引入SloadHook来明确定义幽灵变量与存储变量之间的关系,从而修复验证中的假阳性问题。

形式化验证  Certora  Sload hook  Solidity  映射  溢出 
发布于 2026-02-14 13:25 阅读(210) 点赞(0) ( 12 )
分享
Twitter分享
微信扫码分享
形式化验证地址余额

这篇文章详细介绍了如何使用 Certora 形式化验证工具来验证 Solidity 合约中与支付(payable 函数)、交易金额(msg.value)和账户余额相关的属性。通过具体的合约示例和 CVL 规则,逐步展示了如何处理潜在的故障情况(如余额不足、自调用),并利用 Certora Prover 发现并修复反例,旨在确保智能合约的安全性。

形式化验证  Certora  CVL  Solidity  智能合约  账户余额 
发布于 2026-02-14 12:59 阅读(168) 点赞(0) ( 8 )
分享
Twitter分享
微信扫码分享
Certora require、assert 和 satisfy

本文详细介绍了 Certora 形式化验证中 CVL 语言的 require、assert 和 satisfy 语句。它解释了这些语句如何定义智能合约的预期行为、约束验证过程,并演示了它们在确保合约正确性及查找解决方案中的应用场景和区别。

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

关注不错过动态

微信群

加入技术圈子

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

发送私信

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

提醒

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

创建课程

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