ERC-4626 金库标准与通胀攻击
2026/8/24大约 2 分钟
Web3 区块链系列 · 阶段 4 · 代币标准 · 第 25/57 篇 · 🚧 占位待学
上一篇:《ERC-721 / ERC-1155:NFT 与元数据》
下一篇:《可升级合约:代理模式与存储槽》
学习大纲:《Web3 区块链学习总纲》
状态:待学习。 本文为占位文档:知识点清单、实验与验收标准已就绪,正文待按「先学习、先实验、再撰写」补全。
对应总纲单元:阶段 4 · 单元 4.3
一、本文要解决的问题
所有「存币生息」产品(yearn、Pendle……)都长一个样——ERC-4626 把金库接口标准化了。它也是「通胀攻击」这个经典漏洞的策源地:攻击者如何用第一笔存款偷走后续存款人的资产?
二、知识点清单
- ERC-4626 接口:asset / totalAssets / totalShares、deposit/mint/withdraw/redeem、preview 系列
- 份额价格 = totalAssets / totalShares 的会计模型
- 通胀攻击(捐赠攻击)完整时序:先捐资产抬高价格 → 首个受害者份额被抹零
- 防御方案:虚拟份额/虚拟资产偏移(OZ 默认)、死份额、最小存款额
- 4626 与 DeFi 乐高的关系:可替换的金库组件
三、动手实验(学习时必须真跑)
- 基于 OZ 实现一个 Vault(存入某种 ERC-20 赚份额)
- 不用 OZ 防御时亲手复现一次通胀攻击(偷走受害者份额),再开启防御验证攻击失效
四、验收标准(全部通过才进入下一篇)
五、写作提示(补正文时遵守)
- 开篇问题驱动;结构走「是什么 → 为什么 → 怎么做 → 背景知识」
- 所有代码、命令、输出必须先在本机跑通再写入,不得杜撰
- 版本口径以总纲环境清单为准(以太坊 Fusaka / Solidity 0.8.36 / Foundry v1.0 / OpenZeppelin Contracts 5.x)
- 涉及版本敏感结论时标注出处与时间
本篇完成后,把文首导航块的「🚧 占位待学」去掉,并在总纲处打卡。