本文中使用的数据来自以太坊区块 11834049 (2月11日挖出) 和 12196601 (4月8日挖出) 之间的区块,由 Etherscan & Flashbots 整理。
自 2019 年 4 月 Phil Daian 等人的开创性论文《Flash Boys 2.0》[1]发布以来,MEV (即“Maximal Extractable Value”,最大可提取价值,旧称为“Miner Extractable Value”(矿工可提取价值))在以太坊和其他智能合约区块链上投下了一层理论上的阴影。接着 2020 年 8 月,Paradigm 研究合伙人 Dan Robinson 发布了一篇题为《以太坊是一个黑暗森林》[2] 的博文,揭示了该理论是如何在区块链上变成现实的。
虽然这被视为一个可怕的现实,但之前MEV活动的程度不太清晰。这催生出了 Flashbots[3],Flashbots 是一个致力于增加以太坊黑暗森林的透明度和民主化的团队。自 2020 年末以来,他们一直在稳步扩大社区对 MEV 的认识,包括发布 MEV-Geth。
编者注:MEV-Geth 是一种特殊定制的以太坊节点客户端,由以太坊矿池运行,Flashbots的机制是能够对抗以太坊网络上的套利机器人 (比如抢跑机器人),从而导致大量该类机器人被关闭,使 MEV 活动更加“民主化”。矿工 (矿池) 可以运行 MEV-Geth 来挖 MEV 区块,从而获取收益。
下方节选自 Flashbots 发布的公告[4]:
“MEV-Geth 是我们 (即Flashbots团队) 推动 MEV 民主化的初步努力。它是对 go-ethereum 客户端的升级,使得密封竞价的区块空间拍卖机制能够在交易顺序偏好方面进行沟通。从根本上说,MEV-Geth 为矿工和竞价交易者提供了一个更有效的沟通渠道。虽然 MEV-Geth 的概念证明在信任模型上是不完备的,但我们相信它是对现状的重大改进。MEV-Geth 的采用可以在很大程度上缓解由抢跑机器人 (front-running bots) 和尾随机器人 (back-running bots) 造成的大量区块链拥堵问题。”
编者注:
抢跑 (front-running):指通过让特定交易在同一个区块中排在目标交易 (被攻击交易) 前而获利,主要针对清算和套利交易;
尾随 (back-running):指通过让特定交易在同一个区块中排在目标交易后而获利,典型的针对对象是信息输入机制 (Oracle) 交易或大单交易;
三明治攻击 (sandwich attack):上述两种攻击形式的结合,让目标交易恰好夹在两笔特定构造交易中间,从而获利。三明治攻击大大拓宽了可攻击的范围,攻击者的第一笔构造交易制造更大的交易价格波动,待目标交易执行完之后紧接着执行第二笔构造交易,兑换回发动攻击的代币完成获益。
——来自以太坊爱好者
此后,随着有关 EIP-1559 的辩论在2月份达到高潮,2月底的一场围绕此提案的社区电话会议[5]让以太坊矿工群体更加关注 MEV。由于 EIP-1559 (通过销毁BASEFEE) 将会把丰厚的交易费从矿工收入中移除,再加上 MEV-Geth 提供了简单的升级选项,这已经使得 MEV 对许多矿工极具吸引力(注:MEV活动为矿工产生了“非常规”收入流),导致了近几周参与 MEV 活动的矿池激增。
上图:2015年以来,交易费 (红色部分) 占以太坊矿工每月总收入的百分比变化情况。
在我们开始讨论 MEV 的快速增长之前,有必要先了解一下 MEV 交易到底是什么样的。大多数 MEV 涉及操纵交易顺序。这可以通过以下方式实现:
Gas费竞价,也即你 (比如套利机器人) 通过使 Gas 费出价刚好高于或低于目标交易,以确保你的交易正好在目标交易之前或之后被 (矿工) 打包确认;或者
“贿赂”矿工,从而使矿工直接在你选定的区块中对交易进行排列。
就上述第1种情况而言,如果你看到一笔或多笔失败的交易,其交易费与另一笔在它之前被成功打包的交易的交易费相同,或略低于这笔成功的交易,则可能就是发生了上述第1种情况 (具体来说,就是发生了所谓的“抢跑交易”)。这些失败的交易就是 MEV 活动的“受害者”,或者表明其他套利机器人在竞争中失利 (套利机器人之间也在相互竞争)。
上图:以太坊区块 11737990 中包含的一笔被抢跑的失败交易,这笔失败的交易的 Gas 价格仅比另外两笔成功抢跑的交易低了 0.000000001 Gwei。(点击图片放大)
就上述第2种情况而言,当某个被挖出的区块中包含了一笔或多笔有着非常低的 Gas 价格 (比如 0 gwei 或者 1 gwei) 的交易时,则很可能发生了第2种情况。
上图:以太坊区块 12209917 中发生了针对一笔转移 30 ETH 的交易发起的三明治攻击。(点击图片放大)
虽然在许多情况下,上述交易的确切运作方式可能并不明确 (比如上述第2种情况的具体“贿赂”金额),但对于 Flashbots 交易来说,这些运作方式是透明的,可以通过对一组交易的相关地址的资产流入 & 流出情况进行总结,以此来查看这些 MEV 交易。
例如,通过列出以太坊区块 12165347 中的前3笔交易中转移的 Token 和 ETH 确切数量……
上图:地址 0x000..241 “贿赂” F2Pool (鱼池) 的情况在交易#3中很明显地显示出来。
…并总结每个地址和 Token 的净流入 & 流出情况,我们可以看到,套利机器人 0x000..241 和 F2Pool (鱼池) 平分了 0.04 ETH 的套利利润。
使用来自 Etherscan、Flashbots 和一个被识别为 Ethermine 矿池的地址 [6] 的数据,我们看到了包含「捆绑交易」(bundled transactions) 的区块数量在过去一个月时间里大幅增长。
注:「捆绑交易」(bundled transactions) 是指在某个区块中以非常规的方式被排序的一些交易,通常是作为抢跑交易、尾随交易或者三明治攻击的一部分。
上图:包含「捆绑交易」的区块数量在过去一个月中激增。来源:Etherscan.io
换句话说,包含了「捆绑交易」的区块占到了4月份第一周被挖出的区块总数的 30%!
上图:在过去一个月时间里,包含「捆绑交易」的区块数占每周挖出的总区块数的百分比从 1% 激增到了 30%。来源:Etherscan.io
参与其中的矿池有哪些呢?数据表明,包括了所有顶级的以太坊矿池。在今年3月份之前,UUPool 矿池是唯一活跃地参与「捆绑交易」的矿池;最近几周,其他最大的以太坊矿池也加入其中,使前者黯然失色。
上图:自2月份以来,各大以太坊矿池每周挖出的包含「捆绑交易」的区块数量增长趋势。来源:Etherscan.io
其中,Ethermine 是目前唯一没有采用 MEV-Geth 的矿池,他们运行自己的 MEV beta (见下图)。
上图:3月18日,Ethermine矿池母公司Bitfly官方推特表示该矿池已经启动了自己的 MEV beta 计划,以补偿即将到来的由于采用 EIP-1559 而导致的挖矿奖励的减少。
从这些被挖出的区块,我们可以看到“贿赂”给矿工的 ETH 总量:截止撰文时,累计有 3404 ETH (相当于740万美元) 被支付给矿工。虽然相比于 2-3 月份以太坊全网支付的累计约 797,000 ETH 的交易费来说,这笔费用仅占了约 0.4%。以太坊矿工可提取的 MEV 价值还有更大的增长空间。
注:由于 Ethermine 并不在使用 MEV-Geth,因此他们的“贿赂”收益在链上不可见,因此并未包含在该数据中。
上图:以太坊各大矿池的“贿赂”收益增长情况,其中 Spark Pool (星火矿池) 的“贿赂”收益在一周内从0变成1,并快速增长。来源:Etherscan.io
Flashbots 的 MEV-Inspect 显示,当前以太坊网络中累计被提取的 MEV 价值 (不仅仅是那些使用了 Flashbots MEV-Geth 的用户) 已经超过了 3.6 亿美元(注:MEV-Inspect 是 Flashbots创建的可监视以太坊区块的可视化MEV指标)。
上图:自2020年1月1日以来以太坊网络中累计被提取的MEV价值增长趋势。来源:https://explore.flashbots.net
最后,我们来看看单个以太坊区块中包含的 Flashbots 交易的数量。截至目前,单个区块中最常出现的是包含 3 笔 Flashbots 交易,这表明三明治攻击 (sandwich attacks) 是最受欢迎 MEV 活动类型 (这种MEV活动的典型方式是:第1笔交易和第3笔交易是套利交易,夹在二者中间的第2笔交易是目标被攻击交易)。
上图:单个区块中包含 Flashbots 交易笔数的频率,其中包含3笔Flashbots交易的频率最高。来源:Etherscan.io
其中,最高纪录是单个区块中包含了高达 15 笔 MEV 交易,是在 Uniswap 上发起的 5 次三明治攻击。见下图:
截图来源:https://etherscan.io/txs?block=12096766&ps=10&p=23
有趣的是,“三明治攻击者”自己可能也会被“三明治攻击”(见下图),这为黑暗森林中聪明的捕食者提供了无尽的可能性。
来源:推特@fifikobabyashi
需要注意的是,上面显示的所有 MEV 数据可能仅是 MEV 总价值的一小部分,实际数字可能远比目前发现的要大。
图源:Flashbots
对于普通用户来说,MEV 不太可能是一个比当前高昂的 Gas 价格更严重的问题。一笔高价值的 AMM (自动做市商,比如Uniswap) 交易可能会吸引 MEV 捕食者的注意——在这种情况下,限制滑点可能有助于阻止或限制遭遇 MEV 攻击。使用诸如 Taichi Network [7] 等隐私交易服务网络可能也有帮助,尽管用户需要相信这些服务的运营商不会也进行抢跑交易。
在 Etherscan 方面,我们希望通过在区块浏览器上显示更多的细节信息来增加 MEV 的透明度。敬请期待!
感谢 Alex Obadia 对撰写本文的帮助。
正文中涉及的超链接:
[1]:https://arxiv.org/abs/1904.05234
[2]:https://medium.com/@danrobinson/ethereum-is-a-dark-forest-ecc5f0505dff
[3]:https://medium.com/flashbots
[4]:https://medium.com/flashbots/frontrunning-the-mev-crisis-40629a613752
[5]:https://www.youtube.com/watch?v=EdXhL6VR0mU
[6]:https://github.com/Defi-Cartel/salmonella
[7]:https://taichi.network/
撰文:Harith Kamarul @etherscan
编辑:南风