文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
patrickalphac
文章
专栏
问答
视频
课程
集市作品
活动
招聘
TA的视频
TA的合集
汇编与 EVM 课程 - 形式化验证与 Halmos 和 Certora 工具
视频 AI 总结: 该视频是关于使用形式化验证和符号执行来审计智能合约,特别是针对一个名为 "Math Master" 的代码库。该代码库包含用于定点数运算的算术库,包括 `molwod`、`molwodUp` 和 `sqrt` 函数,这些函数都大量使用了汇编代码。视频强调了形式化验证在发现模糊测试无法找到的 bug 方面的作用,并介绍了 Halmos 和 Certora 等工具。 关键信息: * **核心内容:** 介绍使用形式化验证工具 Halmos 和 Certora 审计 Math Master 代码库,寻找汇编代码中的 bug。 * **关键信息:** * Math Master 代码库包含 `molwod`、`molwodUp` 和 `sqrt` 三个函数,用于定点数运算。 * 形式化验证可以发现模糊测试无法找到的 bug。 * 介绍了 Halmos 和 Certora 两种形式化验证工具。 * 强调了理解代码库属性和编写正确断言的重要性。 * 演示了如何使用 Halmos 和 Certora 查找 Math Master 代码库中的 bug,包括版本问题、内存指针覆盖和函数选择器错误。 * 讨论了形式化验证的局限性,例如路径爆炸问题。 * 介绍了模块化验证的概念,将复杂问题分解为更简单的子问题。 * 强调了代码审计中手动审查和工具辅助相结合的重要性。
8
0
0
4小时前
汇编与 EVM 课程 - YUL 与 Huff
视频 AI 总结: 该视频主要讲解了以太坊虚拟机(EVM)的底层编程,包括 YUL 语言和 Huff 语言,以及如何使用它们来编写更高效的智能合约。视频通过一个 HorseStore 合约的例子,展示了如何将 Solidity 代码转换为 YUL 和 Huff 代码,并进行测试。强调了理解 EVM 底层原理对于优化智能合约和进行安全分析的重要性。 关键信息: 1. YUL 是一种内置于 Solidity 的低级语言,可以实现对 EVM 的细粒度控制。 2. Huff 是一种更底层的语言,直接操作 EVM 的操作码,可以实现更高的 gas 效率。 3. 可以使用 HuffMate 工具来简化 Huff 编程,例如处理映射(mapping)的存储和读取。 4. 通过将 Solidity 代码转换为 YUL 和 Huff 代码,可以更好地理解 EVM 的工作原理。 5. 可以使用 Foundry 的 forge snapshot 命令来比较不同语言编写的智能合约的 gas 消耗。 6. 强调了理解 EVM 底层原理对于优化智能合约和进行安全分析的重要性。 7. 介绍了 Metadeck 工具,可以帮助分析以太坊上的智能合约。
14
0
0
18小时前
汇编与 EVM 课程 #3 - EVM 操作码及编译器工作原理
视频 AI 总结: 本视频的核心内容是深入解析 Solidity 智能合约在二进制层面的运作方式,通过逐行分析 Solidity 代码编译后的 EVM 操作码,揭示编译器背后的工作原理。视频旨在帮助开发者理解 Solidity 编译器的行为,掌握智能合约底层运作机制,从而编写更高效、更优化的智能合约代码。 视频中提出的关键信息: 1. Solidity 智能合约编译后包含三个主要部分:合约创建代码、运行时代码和元数据。 2. 合约创建代码负责将运行时代码部署到区块链上。 3. 运行时代码是合约实际执行的逻辑,是所有外部调用的入口点。 4. Solidity 使用“空闲内存指针”来管理内存,确保变量存储在未使用的内存区域。 5. Solidity 编译器会自动添加一些安全检查,例如检查消息值(msg.value)和调用数据大小(calldata size),以防止潜在的安全问题。 6. 函数分发器(function dispatcher)负责根据调用数据中的函数选择器(function selector)来执行相应的函数。 7. 可以通过反编译器将智能合约的字节码转换回 Solidity 代码,尽管反编译的结果可能不完全准确。 8. 预编译合约(precompiles)是 EVM 中预先部署在特定地址的特殊合约,用于执行特定的操作,例如椭圆曲线恢复(EC recover)。
23
0
0
2天前
汇编与EVM 课程 #2 -通过 HorseStore 学习 Huff & Opcodes
视频 AI 总结: 本视频主要讲解了以太坊虚拟机(EVM)和操作码(Opcodes)的基础知识,并通过使用 Huff 语言重写一个简单的存储合约(HorseStore)来深入理解智能合约在最低层面的工作原理。视频强调了理解操作码对于优化智能合约和进行形式化验证的重要性,并介绍了如何使用 Foundry 进行测试和调试。 关键信息: 1. **核心内容:** 智能合约本质上是一系列操作码的组合,EVM 通过执行这些操作码来处理交易和存储数据。 2. **操作码(Opcodes):** EVM 的基本指令,每个操作码由一个字节表示,用于执行特定的操作,如数据存储、算术运算等。 3. **Huff 语言:** 一种低级语言,允许开发者直接编写操作码,从而更好地理解智能合约的底层机制。 4. **数据存储位置:** EVM 中有三种主要的数据存储位置:栈(Stack)、内存(Memory)和存储(Storage),栈用于临时计算,内存用于临时存储,存储用于持久化数据。 5. **Calldata:** 发送到智能合约的数据,包括函数选择器和参数。 6. **函数分发(Function Dispatching):** 智能合约根据 Calldata 中的函数选择器来确定要调用的函数。 7. **测试和调试:** 使用 Foundry 框架进行智能合约的测试和调试,包括使用调试器逐行查看操作码的执行过程。 8. **Differential Testing:** 通过比较 Solidity 和 Huff 编写的合约的输出来验证它们的行为是否一致。 9. **Gas 优化:** 通过直接编写操作码,可以实现更高效的 Gas 消耗。
66
0
0
3天前
汇编与形式化验证 EVM #1 课程介绍
视频 AI 总结: 本视频是关于 EVM 汇编操作码和形式化验证智能合约的课程介绍,旨在帮助开发者和安全研究人员达到区块链知识的顶尖水平。课程内容包括反汇编智能合约、学习字节码、优化合约 Gas 消耗、使用 Yul 和 Huff 编写智能合约,以及形式化验证。通过三个项目实践,深入学习 Halmos 和 Certora 等工具,掌握形式化验证和 Fuzzing 的使用场景,提升智能合约开发和安全能力。 关键信息: * 课程目标:成为区块链知识顶尖的开发者和安全研究人员。 * 课程内容: * 智能合约反汇编和字节码学习。 * 使用 Yul 和 Huff 编写 Gas 优化合约。 * 形式化验证工具 Halmos 和 Certora 的使用。 * Fuzzing 和形式化验证的结合应用。 * 目标学员:已经熟悉 Solidity 或 Vyper 的开发者,希望提升到更高水平。 * 课程特点:深入、高级、项目驱动,强调实践和工具使用。 * Vyper 和 Solidity 的比较:Vyper 和 Solidity 都是高级语言,可以保护开发者免于出错,例如 calldata 大小和意外发送 E 以及安全数学。而且它们都是很棒的语言。所以选择任何一个并享受乐趣。Huff 和 Yul 是很棒的语言,如果你需要非常具体的性能代码,或者你希望了解更多关于 EVM 的信息。我不建议将这些语言用于所有生产代码。但我认为它们对于学习和理解来说非常棒。
62
0
0
3天前
智能合约审计、DeFi安全课程 | Tswap 重新审计(续)
视频 AI 总结: 该视频主要讲解了在智能合约安全审计中如何利用模糊测试(Fuzzing)和不变性测试(Invariant Testing)来发现漏洞,并以 TSWAP 协议为例,展示了从无到有构建测试套件的过程。视频强调了理解协议核心不变性的重要性,并介绍了无状态模糊测试、有状态模糊测试(包括 open 方法和 handler 方法)等不同测试策略。通过实例演示,说明了如何编写测试代码,以及如何解读测试结果,最终成功发现 TSWAP 协议中的一个漏洞。 视频中提出的关键信息包括: 1. **模糊测试(Fuzzing)**:通过向系统输入随机数据来尝试破坏它,分为无状态和有状态两种。 2. **不变性测试(Invariant Testing)**:验证系统中的某些属性是否始终成立,即使在随机输入下。 3. **无状态模糊测试**:每次测试都从头开始,不保留之前的状态。 4. **有状态模糊测试**:每次测试都基于前一次测试的状态,模拟更复杂的交互场景。 5. **Handler 方法**:通过创建一个 Handler 合约来限制模糊测试的范围,使其更贴近实际使用场景。 6. **核心不变性**:协议中必须始终保持的属性,例如 TSWAP 协议中的 x * y = k。 7. **WEIRD ERC20s**:具有非标准行为的 ERC20 代币,可能导致协议出现漏洞。 8. **代码覆盖率**:使用 Foundry 提供的工具来检查测试覆盖率,确保测试充分。 9. **工具链**:Slither、Adarin 等静态分析工具可以辅助发现潜在问题。 10. **手动代码审查**:即使有自动化工具,也需要进行手动代码审查,以发现逻辑错误和潜在风险。 11. **报告撰写**:清晰地描述漏洞、影响、复现步骤和修复建议。
350
0
0
2025-09-07 16:50
智能合约审计、DeFi安全课程 | AMM 是如何运作的 ?
视频 AI 总结: 该视频主要讲解了去中心化交易所(DEX)中自动做市商(AMM)的工作原理,并将其与传统的订单簿模式进行对比。AMM 通过资金池和池中资产的比例来确定价格,用户通过向一个池子放入相应比例的资产来从另一个池子取出资产,从而完成交易。视频还提到了 Uniswap 的不同版本,并强调了安全研究员在理解新协议时应积极提问和实践的重要性。 关键信息: * 传统订单簿模式的交易需要在订单簿中匹配买卖双方,DeFi 中交易成本高昂。 * AMM 使用资金池和池中资产的比例来确定价格,降低了交易成本。 * 用户通过向一个池子放入相应比例的资产来从另一个池子取出资产,从而完成交易。 * 流动性提供者通过提供资金池来赚取交易手续费。 * 安全研究员应积极提问、查阅资料、甚至亲自测试来理解新协议。
335
0
0
2025-09-07 16:43
智能合约审计、DeFi安全课程 | 流动性提供者
视频 AI 总结: 该视频解释了自动化做市商(AMM)中流动性提供者(LP)如何通过交易手续费获得收益。视频详细讲解了LP如何将资金存入资金池,获得LP代币作为所有权凭证,并根据其在资金池中的份额获得交易手续费。通过一个具体的交易示例,展示了手续费的累积如何使LP在提取资金时获得略高于初始投资的回报。视频强调了LP通过提供流动性来赚取收益的机制,以及手续费在其中的作用。 关键信息: 1. **交易手续费:** 每次在AMM中进行交易时,都会收取一定比例的手续费(例如0.03%),这些费用不会被“无限套娃”利用,而是用于奖励流动性提供者。 2. **流动性提供者(LP):** LP将资金(例如USDC和WEF)存入资金池,以提供交易所需的流动性。 3. **LP代币:** 作为回报,LP会收到LP代币,代表其在资金池中的所有权份额。 4. **收益机制:** LP通过交易手续费获得收益,手续费会累积在资金池中,LP在提取资金时可以获得略高于初始投资的回报。 5. **资金池价值累积:** 交易手续费会使资金池的价值缓慢增加,LP可以根据其LP代币的份额分享这些收益。
325
0
0
2025-09-07 16:38
智能合约审计、DeFi安全课程 | DeFi 介绍
视频 AI 总结: 该视频是安全审计课程的一部分,重点讲解如何进行 DeFi 项目(特别是 AMM 类型的 DEX,如 TSWAP)的安全审计。核心内容是学习如何通过理解项目的运作方式和不变性(invariants)来发现漏洞,甚至在不看代码的情况下也能找到潜在问题。本节课将深入探讨 DeFi 的概念,包括 AMM、Uniswap 等,并介绍使用 Fuzzing、Echidna 等工具进行安全审计的方法。 关键信息: 1. 本课程将进行 TSWAP 协议的安全审计,TSWAP 是 Uniswap 协议的修改版本。 2. 强调了理解协议不变性的重要性,可以通过理解项目的功能和不变性来发现漏洞,即使不查看代码。 3. 将学习使用各种工具,如 Stateful Fuzzing、Fuzzing Invariance 和 FreePi。 4. 将深入了解 DeFi 的概念,包括 AMM(Automated Market Maker)、Uniswap、Curve Finance 以及恒定乘积公式。 5. 强调了与协议团队沟通的重要性,以便更好地理解项目和潜在风险。 6. 介绍了如何使用 `make scope` 和 `make scope file` 命令来确定审计范围。 7. 将学习各种攻击和漏洞利用,如 ERC-20 漏洞、回调、回扣、重入以及核心不变性破坏。 8. 将审计 Uniswap V1 的第一个 Vyper 实现,其中包含一些已植入的漏洞。 9. 强调了在安全审查过程中提问的重要性,因为协议的开发者通常比审计人员更了解代码库。
381
0
0
2025-09-07 16:35
合约审计、DeFi安全课程 | MEV & 治理
**视频 AI 总结:** 该视频主要讲解了 Web3 安全中常见的 MEV(矿工可提取价值)攻击,以及 DAO 治理攻击。视频强调了在智能合约安全审计中,需要重视 MEV 漏洞,并介绍了如何通过改进合约设计和使用私有 RPC 等方式来防范 MEV 攻击。此外,视频还深入分析了 Beanstalk 协议遭受治理攻击的案例,强调了 DAO 治理安全的重要性。 **视频中提出的关键信息:** * **MEV 攻击:** 攻击者通过观察 mempool 中的交易信息,抢先或滞后执行交易,从而获取利益。常见的 MEV 攻击类型包括抢跑交易、三明治攻击等。 * **MEV 防御:** 可以通过改进合约设计,例如增加状态变量来限制某些操作,或者使用私有 RPC 服务,避免交易信息暴露在公共 mempool 中。 * **DAO 治理攻击:** 攻击者通过购买治理代币,控制 DAO 的投票权,从而通过恶意提案,转移 DAO 的资产。 * **Beanstalk 攻击案例:** 攻击者通过闪电贷获取大量资金,购买治理代币,控制投票权,最终盗取了协议中的大量资金。 * **治理攻击防御:** 可以通过限制治理权限,或者引入多重签名机制,防止恶意提案通过。 * **审计重点:** 审计智能合约时,需要关注 MEV 漏洞和治理安全,避免协议遭受攻击。
319
0
0
2025-09-07 16:26
‹
1
2
›
patrickalphac
关注
贡献值: 45
学分: 541
江湖只有他的大名,没有他的介绍。
0 关注
6 粉丝
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容:
提醒
检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
×
编辑封面图
封面预览
取消
确认