原标题:《DragonflyResearch丨为什么说无需担忧以太坊MEV问题?》
在阅读之前,我强烈建议您查看我们上一篇关于最大可提取价值(MEV) 的文章、Flashbots 发布的文章,以及这个播客,了解 Flashbots 生态系统和 MEV 的背景知识。本文讨论了有关 Flashbots、MEV 提取以及它们与以太坊共识的相互作用的一些更复杂的细节。
2021 年 6 月 29 日,Flashbots Discord 中出现了一个有趣的想法:
Austin Williams:有一种可怕的想法,这是一种flashbots 功能——搜索者可以向矿工支付费用,以在给定块中不包含具有给定hash的 tx。如果该 tx 不在目标区块中,则矿工获得报酬。
使用 Flashbots 来激励审查的这种想法有点可怕。这也与 Flashbots 减轻 MEV 造成的负面外部性的使命背道而驰。尽管如此,正如另一位社区成员很快指出的那样,这种审查在经济上是不可行的,因为它需要支付比想要包含相同交易的搜索者或用户更多的费用:
危机解除!
嗯,不完全是。虽然Austin最初的想法不一定会引起恐慌,但几天后另一位社区成员内森·沃斯利 (Nathan Worsley) 提出的后续想法提出了一个更令人不安的问题。
与其在未来审查交易,不如去激励审查/取代过去的交易。
经过一番讨论,这个最初的想法很快演变成这样:
实施激励重组意味着在 Flashbots 的 MEV-Geth 之上构建必要的基础设施
这些帖子之后是一个故事,涉及混乱的 Twitter 愤怒、出色的独立黑客,以及为什么社会共识与加密货币中的算法共识一样重要的一些最好的例子。
让我们深入了解。
1
GHOST与穿越时空的叔块
在目前的状态下,以太坊是一个使用中本聪共识的工作量证明系统;这意味着保护网络的矿工之间的网络共识依赖于原始计算能力。这也意味着交易只有概率最终性;一个交易被包含在一个区块中的时间越长,该交易被恢复的可能性就越小。因此,通常建议工作量证明区块链上的用户在考虑“完成”交易之前等待。在以太坊上,假设交易在 7 个区块确认后完成通常是安全的。
在工作量证明系统中,两个矿工可能同时挖出有效区块并尝试将这些区块传播到网络。最终发生的事情是网络留下了两个有效区块,但在下一个挖矿竞赛开始之前,只能将一个添加到链上。这意味着其中一个人挖出的块必须变得“陈旧”或被丢弃。这不是很好,原因有两个。首先,生产陈旧区块的矿工白白浪费了他们的资源!其次,这使得网络容易出现中心化风险,因为矿工急于确保他们有足够的算力以避免生产过时的区块。有关这方面的更多信息,请查看此内容。
在比特币网络上,10 分钟的区块时间和分分钟的传播时间使得陈旧区块的概率相当低。然而,在以太坊上,区块时间要短得多——大约 12 到 13 秒——产生陈旧区块的可能性要高得多。这使得上述资源浪费和中心化的问题更加相关。以太坊通过使用 GHOST(最贪婪的重观测子树)协议的修改版本来解决这个问题。GHOST 协议是在 2013 年设计的,旨在解决快速区块时间链中陈旧区块的精确问题,基本前提很简单:矿工接受的“最长”链是具有最高累积工作量证明难度的链,包括作为当前区块祖先的后代的陈旧块。这样的区块被称为“叔块”。以太坊在 GHOST 上使用了一个变体,它使用相同的原则选择难度最长的链,但在难度计算中不包括叔块。它分配一些区块奖励给叔块,让这些区块中的交易可以访问,但不包括主链中的那些交易。采用新的“最长”链并忽略陈旧块的过程称为链重组。
那么这与 MEV 有什么关系呢?
有两种主要方式可以激励网络用户利用叔块和重组。第一个已经在实践中发生并且威胁性要小得多,它被称为“叔叔强盗(Uncle Bandits)”,由 Flashbots 独家启用。截至 2021 年 7 月中旬,Flashbots 使用其 MEV-Geth 客户端获得了约 86% 的以太坊算力支持;但是,Flashbots 捆绑包仍然有可能包含在叔块中,从而为Uncle Bandits创造机会。这最初是在罗伯特米勒的一个帖子中详细介绍的。由于包含在叔块中的交易不会改变以太坊状态,但对其他人仍然可见并且是有效交易,精明的 MEV 搜索者可以查看叔块 Flashbots 捆绑包并发布一个新捆绑包,其中包含原始捆绑包中的一些交易用自己的交易来捕捉主链上的套利机会,仅Uncle Bandits是没有协议威胁的;最终,它们是捆绑包被概率性地包含在叔块中的结果,而其他人则抓住了边缘化的机会。不过,Uncle Bandits的下流大表哥是时间匪徒(time bandit),更让人担忧。正如 MEV 的开创性研究论文中详述的那样,时间匪徒是一种理论攻击,当来自 MEV 的奖励开始超过区块奖励时就会发生。时间匪徒攻击的前提是,可以访问大量以太坊算力的矿工可以通过尝试重新挖掘以前的区块、捕获这些区块中的所有 MEV 并重组链来使以太坊的时间倒转。最简单的方法是租用 51% 的算力;在这样做时,攻击者将返回一定数量的区块,获取现在和过去这些区块之间的所有 MEV 利润,并使用该利润来补贴攻击。
作为 MEV 利润的交易费用的大约百分比。来源:Flashbots
如上图所示,MEV 的利润正成为矿工经济回报的越来越大的一部分,这使得时间匪徒攻击和重组的威胁越来越大。这也意味着理论上应该可以贿赂矿工来重组链。策略是等待其他用户提交有利可图的捆绑包,支付矿工重组链,然后进行叔叔或时间匪徒攻击牟利。这就是我们的戏剧开始的地方。
在 Nathan 最初提出修改 MEV-Geth 的想法后,该想法可以激励叔叔/时间匪徒的重组,搜索者立即着手开发该软件,而加密货币 Twitter 则陷入了激烈的辩论。这个模因准确地总结了社区的大部分情绪:
受欢迎的 Twitter用户 MEV Intern 对引入此类没有工具来防御它的软件表示担忧;毕竟,虽然这种激励重组在技术上是在共识范围内被允许的,但它们也确实破坏了协议的稳定性,并且可能通过创建围绕矿工行为的安全假设受到挑战的场景对以太坊进行了过多的压力测试。
尽管如此,潘多拉的盒子已经打开了。
不久之后,两位备受瞩目的 MEV 策略师和研究人员 — Edgar Arout 和 0xbunnygirl — 发布了他们自己的个人版本,以“请求重组”。
Edgar 的存储库是 Flashbots 创建的 MEV-Geth 客户端的一个分支。该库已被私有化,但代码库仍在进行中,这将使 MEV 搜索者能够请求重组一定数量的区块,省略某些交易并添加新的交易,包括向矿工付款。
这反过来又激发了 0xbunnygirl 在以太坊上启动一个智能合约,这将为此提供简单的支付渠道。Request for Reorg 合约将使用户能够附加一个请求,并为矿工和他们想要重组的区块提供相关的奖励。然后,矿工将执行一个时间匪徒并包括使他们能够在重组中要求奖励的交易以及所需的省略/包括的交易,并因不诚实的行为而惩罚矿工。当然,这个合约同样是一个概念验证;矿工可以决定不诚实并在回滚状态时审查惩罚交易,并且没有在实际合约中包含特定交易或审查另一笔交易的编码。
然后…
什么都没发生。
即使没有功能性工具,人们对这些发展也不满意。创建重组激励系统的努力引起了该领域许多著名研究人员、开发人员和领导者的愤怒。Edgar最终会搁置该协议。Flashbots 发布了一份官方声明,谴责重组为负和,强调它们导致了博弈论不稳定、系统性风险和矿工长期收入可能减少的情况。为了回应像 Ethermine 这样的矿池可能只是构建自己的重组系统请求的断言,他们回应如下:
社会共识,而不是算法共识,已经停止了似乎危害以太坊的工具的开发,仅此而已。
加密货币市场方面的一切都很安静。
2
我们都会成功的,Anon
虽然围绕重组请求的所有发展和争论声可能最终没有带来任何威胁,但问题仍然存在:我们现在和未来有多少时间/叔叔匪徒需要担心?
好吧,事实证明,也许不多。让我们看看为什么。
经济考虑
MEV 研究员 0x9116 对重组可能有意义的地方进行了一些很棒的粗略期望值数学计算。快速回顾该帖子内容,假设 30% 的算力(Ethermine 大约占有这么多)需要超过总费用的 3.3 倍,加上 0.58 ETH。
让我们进一步扩展这个例子。鉴于在工作量证明系统中控制 51% 的网络可以实现整个网络控制(从而实现最大 MEV),让我们看看当我们刚好低于这个或 50% 时微积分如何变化。在这种情况下,我们可以使用与上述线程相同的框架,并进行一些修改。我们没有像最初假设的那样假设我们(作为一个寻找时间匪徒的矿工)肯定可以从接下来的两个区块中获取奖励,而是放宽了假设,并对这些结果进行概率加权。基础区块奖励为 2 ETH。
假设存在一个我们尚未挖出的区块 A,我们拥有 50% 的算力,并将 A 的矿工支付表示为 X,将预期的 MEV 支付表示为 Y。我们希望挖出两个区块(要么用于时间匪徒)。如果我们在 A 之上挖出接下来的两个区块,我们有 50% 的机会独立挖出每个区块,因此预期收益为 0.5 * (4 ETH + 2Y) 或 2 ETH + Y。如果我们尝试一个时间匪徒(并且,正如最初假设的 0x9116,如果下一个区块 B 被挖 出,则退出):
以 0.5 的概率开采下一个区块 B,然后我们才能对 A 进行叔叔处理并将其替换为 A`。然后我们回到第一个块,我们只是希望公平地开采接下来的两个区块。在这种情况下,预期收益为 0.5 * (0.5 * (4 + 2Y)) 或 1 + 0.5Y。以0.5 *0.5 = 0.25 概率 A` 被挖掘,但 B 在我们可以挖掘 B` 之前被挖掘。A` 成为 B 的叔叔,获得 1.75 ETH 奖励,您希望在 B 之后挖掘区块。在这种情况下,预期收益为 0.25 * (1.75 + 0.5 * (2 + Y)) 或 0.6875 +0.125Y。以 0.25 的概率,我们挖出 A` 和 C`。在这种情况下,预期收益为 0.25 * (4 + X + Y) 或 1 + 0.25X + 0.25Y。
这导致预期收益为 2.6875 + 0.875Y + 0.25X,这必然大于诚实挖矿接下来两个区块的预期收益。这导致 X > 0.5Y — 2.875 ETH 的必要条件。这意味着即使算力接近 51%,X 也大于当前区块中捕获的 MEV 的一半减去 2.875 ETH。虽然这种情况偶尔会发生,但截至 2021 年 7 月中旬,租用 51% 的网络 1 小时的成本约为 110 万美元。这意味着租用 50% 的算力(在不完全劫持共识的情况下最大化时间匪徒的可能性) ) 将花费大约 100 万美元。因此,重组是值得的,X > 100 万美元,或者在撰写本文时,大约 550 ETH。如下图所示,每天提取的 MEV 总额通常在几百万美元,因此尝试租用 50% 来启动时间匪徒的成本很可能远远超过收益。
当然,这并不是说没有单个区块可以证明这种成本是合理的。诸如 Justin Sun 在 Liquity 的10亿美元仓位差点被清算,不得不支付 3 亿美元以避免失去头寸的事件将阻止在链末端进行重组的机会,该重组的利润足以补贴租借 50% 算力。然而,单个攻击者也不太可能租到 50% 的算力——就目前而言,NiceHash 上任何给定时间可供出租的以太坊算力数量通常低于 10%。
如果你想在这里进行参数化,我制作了一个工具,可以让你确定诚实挖出两个区块的预期收益与在最近的区块上尝试时间匪徒攻击的预期收益,使用可用网络算力的份额,总的矿工付款是按时间划分的,以及未来区块的预期矿工支付:
另一方面,如果有可能在经济上激励重组,那么它也应该同样可以抑制重组。
开发人员 Daniel Goldman将 0xbunnygirl 最初的 Request for Reorg 合约颠倒了过来;称为 Deorg,它将允许任何用户在未来某一区块中创建向矿工支付的赏金,如果发现他们是恶意的,则会削减奖励(事实上,Deorg 确实通过要求一个区块的哈希值对良好行为进行了编码) 在经过一定数量的确认后,某个高度的区块是不变的,Daniel 善意地指出了这一点),但它确实说明了大多数重组的经济激励措施可以重新设计。
另一种降低重组风险的潜在方法是采用一种“费用平滑”的方法(正如 Ivan Bogatyy 在 MEV.wtf 虚拟峰会上提到的那样),作为一个诚实的矿工,你向在你之上的挖矿者支付 MEV 。这里的设计空间与激励重组的空间一样丰富;正如Tom在我们上一篇关于 MEV 的文章中所说的那样,“每发现一支脚踏枪,就会有 1000 名脚踏枪销售人员和 1000 家脚踏枪防弹衣制造商蓬勃发展。”
最后,值得注意的是,重组和自私挖矿可能会演变为递归的负和游戏,这实际上可能会让矿工付出代价,而不是带来利润。如果所有矿工都在等待其他人找到 MEV 然后进行重组,那么网络可能会陷入困境,导致交易完成时间过长和对抗性来回博弈,随着矿工继续尝试已经被其他矿工抓住的时间匪徒攻击机会,这会降低自己的利润。
IC3 研究人员的一篇论文使用强化学习 (RL) 来模拟比特币网络上的自私挖矿并结合进站模型,发现当所有代理都使用自私挖矿策略(时间匪徒,没有 MEV 部分来捕获区块奖励和费用)时,相对奖励会下降。
一张图说明了由论文中的 RL 模型模拟的自私挖矿代理的相对奖励。
在以太坊上肯定会看到类似的影响。事实证明,重组策略只有在少数人执行时才会奏效;太多的厨师会破坏了肉汤!这甚至没有包含重组破坏共识时可能发生的反射性价格行为。一条链因不断的重组和贪婪的矿工而暴露的公关影响很可能对该链在市场上的代币价格以及潜在的其他资产产生不利影响,这些资产既建立在它之上,也通过 beta 建立在其他链上。从长远来看,这只会伤害矿工和生态系统。
3
权益证明和社会共识
如前所述,反对开发 MEV-Geth 叔叔匪徒分叉或 Request for Reorgs 的强烈抗议是社会共识发挥作用的有力例子。社会共识一直是加密货币的一部分,例如币安决定不鼓励回滚比特币以恢复黑客攻击,甚至更根本的是,矿池决定本着去中心化的精神将自己的算力保持在 50% 以下!
随着以太坊朝着以太坊 2.0 的权益证明迈进,MEV 不会消失,重组的风险也不会消失。尽管权益证明确实提供了绝对的交易最终确定性,但它仅在 2 个 epoch 之后发生(6.4 分钟的时间段内,最多 32 个区块被提议/证明,提议者在 1 个 epoch 之前已知,证明者为 2个),但存在以下场景中重组可以在交易完成的约 13 分钟内发生。然而,通过限制时间窗口,重组变得更加困难。
然而,可以说,权益证明对重组的最大抵抗不是2个epoch之后的绝对最终性,而是“身份”的概念。鉴于提议者是已知的,已知有恶意行为的验证者可能会被参与、Flashbots 网络等列入黑名单。此外,随着较大的现有矿工(如 Ethermine)从挖矿资产转向大型交易所和平台(如 Lido 和 Kraken)进行质押,他们在验证者领域将占据主导地位,这些机构越来越有可能不会冒因重组甚至收取 MEV 费用(作为社会和监管争论点)而导致声誉受损的风险。
很多 Staking 存款人的身份现在都是众所周知的!
4
MEV残局
很明显,MEV 不会很快在以太坊上消失。但是,这也可能不是一件可怕的事情。MEV 很可能不会导致以太坊爆炸的持续重组,无论是现在还是将来。然而,MEV 所做的是推动围绕创建更公平、民主化的金融系统的设计空间。Flashbots 等研究集体的创建、交易公平排序的进步以及在协议和应用层的零知识证明和阈值解密等加密技术的应用,都试图减轻和民主化 MEV。从长远来看,我们所了解和喜爱的加密经济系统因此变得更加强大。像重组大戏这样的事件很好地提醒我们,在我们构建金融的未来时,加密社区永远不能将我们系统的假设视为理所当然,我们必须继续不断创新以追求反脆弱性,并且我们拥有合适的社区和才能做到这一点。
非常感谢来自 Dragonfly Capital 的 Haseeb Qureshi、Tom Schmidt 和 Celia Wan 以及来自 Flashbots 的 Stephane Gosselin 对本文的广泛反馈。