合约测试 - 如何定义不变性 本文深入探讨了不变性(invariants)在智能合约安全中的重要性,特别是如何在ERC4626金库中定义不变性。作者详细阐述了不变性定义的过程,并介绍了四种属性类型,帮助开发者理解如何构建安全的智能合约。文章结构清晰,包含丰富的示例和图示,适合有一定基础的开发者阅读。 不变性 智能合约 ERC4626 安全性测试 属性定义 正式验证 Recon 发布于 2025-03-05 2418 0 0
合约测试指南:实现第一个智能合约不变性测试 本文详细介绍了如何在Solidity中实现和测试智能合约的不变性,通过定义有效状态、状态转移和变量转移等属性,并使用Echidna、Medusa和Foundry等工具进行模糊测试。文章分为明确的部分,讲解了不变性质的代码实现过程,并提供了丰富的示例和解释,适合对Solidity和智能合约分析有一定了解的开发者阅读。 智能合约 不变性 Echidna 模糊测试 Solidity ERC4626 Recon 发布于 2025-03-05 3077 0 0
将失败的属性测试导入 Foundry 本文探讨了如何通过Foundry单元测试来调试和修复Echidna/Medusa测试中的不变性问题。介绍了如何使用Foundry模板创建Counter合约,并定义基本的不变性,接着描述了如何运行Echidna和Medusa进行测试,生成相应的单元测试,最后展示了如何修复合约中的bug以维护不变性。通过这种方法,开发者能够更快速有效地定位和解决合约问题,这是在生产环境中极为重要的。 Echidna Medusa Foundry 区块链测试 不变性 智能合约 Recon 发布于 2024-05-04 2034 0 0
研究Aave市场中的余额完整性 本文详细探讨了在Aave协议更新过程中遇到的平衡不稳定问题,强调了在去中心化金融(DeFi)系统中维护不变性的重要性。通过数学模型和对事务的全面分析,定位了两个主要问题:闪电贷款计算错误和储备因子的调整失误,进而提出了改进措施。文章的结论强调了持续监控和全面问题解决的重要性。 Aave DeFi 不变性 闪电贷款 储备因子 智能合约 mixbytes 发布于 2024-10-12 2034 0 0
使用Foundry进行智能合约模糊测试的完整指南 本指南详细阐述了如何使用Foundry框架进行Solidity智能合约的模糊测试(fuzz testing)。文章首先介绍了什么是不变性(invariant),然后分别讲解了无状态和有状态的模糊测试的实现,并通过代码示例展示了相关实现步骤。最后强调了模糊测试在保证智能合约安全性方面的重要性。 模糊测试 Solidity Foundry 智能合约 不变性 代码安全 Cyfrin 发布于 2024-10-16 3374 0 0
保护SushiSwap的Trident:深入探讨DeFi漏洞与形式验证 本文介绍了SushiSwap的Trident协议在开发过程中发现的一个漏洞,以及修复这一漏洞的方法。文章详细描述了如何通过确定系统的不变性、使用自动化验证工具查找具体的违规场景,并利用这一场景实施攻击。最终,SushiSwap通过调整计算用户应得代币的方式来修复该漏洞。 流动性池 攻击 漏洞修复 不变性 自动化验证 Sushiswap Certora 发布于 2021-11-22 1611 0 0
使用幽灵变量和Hook验证不变性 本文介绍了如何使用Certora工具通过幽灵变量(ghost variables)和Hook(hooks)对ERC20代币合约进行形式化验证,确保“总供应量等于所有账户余额之和”这一核心不变性。文章详细阐述了在Sstore和SloadHook中放置约束条件的不同影响,并强调了SloadHook在排除不可能状态方面的优越性。 形式化验证 Certora ERC20 幽灵变量 存储钩子 不变性 RareSkills 发布于 2026-02-14 839 0 0
论文评审 - 在计算机科学中掌握并发性 - 一种新的教育方法 本文探讨了Leslie Lamport关于并发教学的全新视角,强调理解核心概念而非语言结构的重要性。文章深入分析了计算、问题理解和不变性的基础作用,并提出了通过A-Plus等工具将理论应用于实践的建议,以促进并发系统的教育和设计。 并发 计算 不变性 A-Plus 教学方法 系统设计 thogiti 发布于 2024-03-01 1409 0 0
Safeguard:一个强大的Geth扩展工具,用于实时监控关键智能合约不变性 本文介绍了Safeguard,一个新的开源Go以太坊扩展工具,旨在通过实时监控关键协议不变性和违规行为,帮助开发者及协议在去中心化金融(DeFi)领域防止智能合约漏洞及资金损失。文章讨论了Safeguard的优势、应用实例及未来的发展方向,强调了其在保障DeFi协议安全性方面的重要性。 智能合约 Safeguard 实时监控 不变性 去中心化金融 安全 Certora 发布于 2025-02-18 1882 0 0
不变性驱动开发的需求 本文介绍了不变性驱动开发(Invariant-Driven Development)在智能合约安全中的重要性。通过在软件开发生命周期的每个阶段嵌入不变性——必须始终保持的关键属性,从而显著提高智能合约的鲁棒性。文章阐述了不变性的定义、类型,以及如何在设计、实现、测试、验证和监控等阶段应用不变性驱动开发,以构建更安全的智能合约。 智能合约 不变性 安全 形式化验证 模糊测试 Invariant Trail of Bits 发布于 2025-02-13 1358 0 0
如何审计复杂的DeFi协议:分而治之方法论 本文介绍了Zealynx公司采用的“分而治之”方法来保障DeFi协议的安全,通过将系统分解为隔离的模块、定义不变性、局部验证以及组合分析,从而确保协议的偿付能力。文章以Uniswap V2为例,展示了如何通过隔离Pair逻辑来发现潜在的漏洞,并强调了在资产层和逻辑层之间进行严格的安全检查的重要性。 智能合约安全 DeFi 分而治之 Uniswap V2 不变性 重入攻击 zealynx 发布于 2025-12-10 1392 0 2