MEV:抢跑、三明治与闪电贷攻击
2026/8/24大约 2 分钟
Web3 区块链系列 · 阶段 6 · 安全攻防 · 第 37/57 篇 · 🚧 占位待学
上一篇:《算术漏洞与预言机操纵》
下一篇:《工具链:Slither、fuzz 与形式化验证》
学习大纲:《Web3 区块链学习总纲》
状态:待学习。 本文为占位文档:知识点清单、实验与验收标准已就绪,正文待按「先学习、先实验、再撰写」补全。
对应总纲单元:阶段 6 · 单元 6.5
一、本文要解决的问题
你的交易在内存池里是明文的,搜索者会抢在你前面买、再跟在你后面卖。MEV 是链的「物理规律」,不懂它就理解不了 Gas、滑点与交易为何总在区块顶部。
二、知识点清单
- MEV 定义与三类:套利 / 清算(普遍被视为良性)、三明治(对用户有害)
- 抢跑(front-run):approve 与加流动性场景的抢跑损失
- 三明治攻击:监视内存池 → 前买 → 受害者买 → 后卖
- 闪电贷:无本攻击的资金来源,逐层拆解一次完整攻击的资金流
- 私有内存池(Flashbots Protect)与 MEV-Share:把 MEV 主导权拿回来
- 用户侧防御:滑点容忍、拆单、私有提交(了解批量拍卖等协议侧方案)
三、动手实验(学习时必须真跑)
- 在 anvil 上手工复现三明治:构造 victim / frontrun / backrun 三笔交易并按序执行,计算受害者损失
- 用本地主网分叉 + 闪电贷完成一次无本套利(借 → 换 → 换回 → 还)
四、验收标准(全部通过才进入下一篇)
五、写作提示(补正文时遵守)
- 开篇问题驱动;结构走「是什么 → 为什么 → 怎么做 → 背景知识」
- 所有代码、命令、输出必须先在本机跑通再写入,不得杜撰
- 版本口径以总纲环境清单为准(以太坊 Fusaka / Solidity 0.8.36 / Foundry v1.0 / OpenZeppelin Contracts 5.x)
- 涉及版本敏感结论时标注出处与时间
本篇完成后,把文首导航块的「🚧 占位待学」去掉,并在总纲处打卡。