ASH:杞人忧天or现实风险,MEV会导致以太坊爆炸的持续重组吗?

撰文:SaneelSreeni,DragonflyCapital初级合伙人编译:PerryWang

在开始阅读本文之前,我个人强烈建议先读一下我们有关矿工可提取价值的上一篇文章,宣告?Flashbots?成立的文章?以及这一?播客,了解Flashbots生态系统及MEV。文章讨论了有关Flashbots、MEV提取以及它们与以太坊共识之间相互作用的一些更复杂细节。

2021年6月29日,FlashbotsDiscord中出现了一个有趣的想法:

AustinWilliams:有一种可怕的想法,这是一种flashbots功能——搜索者可以向矿工支付费用,以在给定块中不包含具有给定hash的tx。如果该tx不在目标区块中,则矿工获得报酬。

使用Flashbots来激励审查的这种想法有点可怕。这也与Flashbots减轻MEV造成的负面外部性的使命背道而驰。尽管如此,正如另一位社区成员很快指出的那样,这种审查在经济上是不可行的,因为它需要支付比想要包含相同交易的搜索者或用户更多的费用:

危机解除!

嗯,不完全是。虽然Austin最初的想法不一定会引起恐慌,但几天后另一位社区成员内森·沃斯利(NathanWorsley)提出的后续想法提出了一个更令人不安的问题。

实施激励重组意味着在Flashbots的MEV-Geth之上构建必要的基础设施

这些帖子之后是一个故事,涉及混乱的Twitter愤怒、出色的独立黑客,以及为什么社会共识与加密货币中的算法共识一样重要的一些最好的例子。

让我们深入了解。

中本聪共识的工作量证明系统;这意味着保护网络的矿工之间的网络共识依赖于原始计算能力。这也意味着交易只有概率最终性;一个交易被包含在一个区块中的时间越长,该交易被恢复的可能性就越小。因此,通常建议工作量证明区块链上的用户在考虑“完成”交易之前等待。在以太坊上,假设交易在7个区块确认后完成通常是安全的。

在工作量证明系统中,两个矿工可能同时挖出有效区块并尝试将这些区块传播到网络。最终发生的事情是网络留下了两个有效区块,但在下一个挖矿竞赛开始之前,只能将一个添加到链上。这意味着其中一个人挖出的块必须变得“陈旧”或被丢弃。这不是很好,原因有两个。首先,生产陈旧区块的矿工白白浪费了他们的资源!其次,这使得网络容易出现中心化风险,因为矿工急于确保他们有足够的算力以避免生产过时的区块。有关这方面的更多信息,请查看此内容。

在比特币网络上,10分钟的区块时间和分分钟的传播时间使得陈旧区块的概率相当低。然而,在以太坊上,区块时间要短得多——大约12到13秒——产生陈旧区块的可能性要高得多。这使得上述资源浪费和中心化的问题更加相关。以太坊通过使用GHOST协议的修改版本来解决这个问题。GHOST协议是在2013年设计的,旨在解决快速区块时间链中陈旧区块的精确问题,基本前提很简单:矿工接受的“最长”链是具有最高累积工作量证明难度的链,包括作为当前区块祖先的后代的陈旧块。这样的区块被称为“叔块”。以太坊在GHOST上使用了一个变体,它使用相同的原则选择难度最长的链,但在难度计算中不包括叔块。它分配一些区块奖励给叔块,让这些区块中的交易可以访问,但不包括主链中的那些交易。采用新的“最长”链并忽略陈旧块的过程称为链重组。

那么这与MEV有什么关系呢?

有两种主要方式可以激励网络用户利用叔块和重组。第一个已经在实践中发生并且威胁性要小得多,它被称为“叔叔强盗”,由Flashbots独家启用。截至2021年7月中旬,Flashbots使用其MEV-Geth客户端获得了约86%的以太坊算力支持;但是,Flashbots捆绑包仍然有可能包含在叔块中,从而为UncleBandits创造机会。这最初是在罗伯特米勒的一个帖子中详细介绍的。由于包含在叔块中的交易不会改变以太坊状态,但对其他人仍然可见并且是有效交易,精明的MEV搜索者可以查看叔块Flashbots捆绑包并发布一个新捆绑包,其中包含原始捆绑包中的一些交易用自己的交易来捕捉主链上的套利机会,仅UncleBandits是没有协议威胁的;最终,它们是捆绑包被概率性地包含在叔块中的结果,而其他人则抓住了边缘化的机会。不过,UncleBandits的下流大表哥是时间匪徒,更让人担忧。正如MEV的开创性研究论文中详述的那样,时间匪徒是一种理论攻击,当来自MEV的奖励开始超过区块奖励时就会发生。时间匪徒攻击的前提是,可以访问大量以太坊算力的矿工可以通过尝试重新挖掘以前的区块、捕获这些区块中的所有MEV并重组链来使以太坊的时间倒转。最简单的方法是租用51%的算力;在这样做时,攻击者将返回一定数量的区块,获取现在和过去这些区块之间的所有MEV利润,并使用该利润来补贴攻击。

作为MEV利润的交易费用的大约百分比。来源:Flashbots

如上图所示,MEV的利润正成为矿工经济回报的越来越大的一部分,这使得时间匪徒攻击和重组的威胁越来越大。这也意味着理论上应该可以贿赂矿工来重组链。策略是等待其他用户提交有利可图的捆绑包,支付矿工重组链,然后进行叔叔或时间匪徒攻击牟利。这就是我们的戏剧开始的地方。

在Nathan最初提出修改MEV-Geth的想法后,该想法可以激励叔叔/时间匪徒的重组,搜索者立即着手开发该软件,而加密货币Twitter则陷入了激烈的辩论。这个模因准确地总结了社区的大部分情绪:

受欢迎的Twitter用户MEVIntern对引入此类没有工具来防御它的软件表示担忧;毕竟,虽然这种激励重组在技术上是在共识范围内被允许的,但它们也确实破坏了协议的稳定性,并且可能通过创建围绕矿工行为的安全假设受到挑战的场景对以太坊进行了过多的压力测试。

尽管如此,潘多拉的盒子已经打开了。

不久之后,两位备受瞩目的MEV策略师和研究人员—EdgarArout和0xbunnygirl—发布了他们自己的个人版本,以“请求重组”。

Edgar的存储库是Flashbots创建的MEV-Geth客户端的一个分支。该库已被私有化,但代码库仍在进行中,这将使MEV搜索者能够请求重组一定数量的区块,省略某些交易并添加新的交易,包括向矿工付款。

这反过来又激发了0xbunnygirl在以太坊上启动一个智能合约,这将为此提供简单的支付渠道。RequestforReorg合约将使用户能够附加一个请求,并为矿工和他们想要重组的区块提供相关的奖励。然后,矿工将执行一个时间匪徒并包括使他们能够在重组中要求奖励的交易以及所需的省略/包括的交易,并因不诚实的行为而惩罚矿工。当然,这个合约同样是一个概念验证;矿工可以决定不诚实并在回滚状态时审查惩罚交易,并且没有在实际合约中包含特定交易或审查另一笔交易的编码。

然后…

什么都没发生。

即使没有功能性工具,人们对这些发展也不满意。创建重组激励系统的努力引起了该领域许多著名研究人员、开发人员和领导者的愤怒。Edgar最终会搁置该协议。Flashbots发布了一份官方声明,谴责重组为负和,强调它们导致了博弈论不稳定、系统性风险和矿工长期收入可能减少的情况。为了回应像Ethermine这样的矿池可能只是构建自己的重组系统请求的断言,他们回应如下:

社会共识,而不是算法共识,已经停止了似乎危害以太坊的工具的开发,仅此而已。

加密货币市场方面的一切都很安静。

我们都会成功的,Anon

虽然围绕重组请求的所有发展和争论声可能最终没有带来任何威胁,但问题仍然存在:我们现在和未来有多少时间/叔叔匪徒需要担心?

好吧,事实证明,也许不多。让我们看看为什么。

经济考虑

MEV研究员0x9116对重组可能有意义的地方进行了一些很棒的粗略期望值数学计算。快速回顾该帖子内容,假设30%的算力需要超过总费用的3.3倍,加上0.58ETH。

让我们进一步扩展这个例子。鉴于在工作量证明系统中控制51%的网络可以实现整个网络控制,让我们看看当我们刚好低于这个或50%时微积分如何变化。在这种情况下,我们可以使用与上述线程相同的框架,并进行一些修改。我们没有像最初假设的那样假设我们肯定可以从接下来的两个区块中获取奖励,而是放宽了假设,并对这些结果进行概率加权。基础区块奖励为2ETH。

假设存在一个我们尚未挖出的区块A,我们拥有50%的算力,并将A的矿工支付表示为X,将预期的MEV支付表示为Y。我们希望挖出两个区块。如果我们在A之上挖出接下来的两个区块,我们有50%的机会独立挖出每个区块,因此预期收益为0.5*(4ETH2Y)或2ETHY。如果我们尝试一个时间匪徒:

以0.5的概率开采下一个区块B,然后我们才能对A进行叔叔处理并将其替换为A`。然后我们回到第一个块,我们只是希望公平地开采接下来的两个区块。在这种情况下,预期收益为0.5*(0.5*(42Y))或10.5Y。

以0.5*0.5=0.25概率A`被挖掘,但B在我们可以挖掘B`之前被挖掘。A`成为B的叔叔,获得1.75ETH奖励,您希望在B之后挖掘区块。在这种情况下,预期收益为0.25*(1.750.5*(2Y))或0.68750.125Y。

以0.25的概率,我们挖出A`和C`。在这种情况下,预期收益为0.25*(4XY)或10.25X0.25Y。

这导致预期收益为2.68750.875Y0.25X,这必然大于诚实挖矿接下来两个区块的预期收益。这导致X>0.5Y—2.875ETH的必要条件。这意味着即使算力接近51%,X也大于当前区块中捕获的MEV的一半减去2.875ETH。虽然这种情况偶尔会发生,但截至2021年7月中旬,租用51%的网络1小时的成本约为110万美元。这意味着租用50%的算力)将花费大约100万美元。因此,重组是值得的,X>100万美元,或者在撰写本文时,大约550ETH。如下图所示,每天提取的MEV总额通常在几百万美元,因此尝试租用50%来启动时间匪徒的成本很可能远远超过收益。

当然,这并不是说没有单个区块可以证明这种成本是合理的。诸如JustinSun在Liquity的10亿美元仓位差点被清算,不得不支付3亿美元以避免失去头寸的事件将阻止在链末端进行重组的机会,该重组的利润足以补贴租借50%算力。然而,单个攻击者也不太可能租到50%的算力——就目前而言,NiceHash上任何给定时间可供出租的以太坊算力数量通常低于10%。

如果你想在这里进行参数化,我制作了一个工具,可以让你确定诚实挖出两个区块的预期收益与在最近的区块上尝试时间匪徒攻击的预期收益,使用可用网络算力的份额,总的矿工付款是按时间划分的,以及未来区块的预期矿工支付:

另一方面,如果有可能在经济上激励重组,那么它也应该同样可以抑制重组。

开发人员DanielGoldman将0xbunnygirl最初的RequestforReorg合约颠倒了过来;称为Deorg,它将允许任何用户在未来某一区块中创建向矿工支付的赏金,如果发现他们是恶意的,则会削减奖励在经过一定数量的确认后,某个高度的区块是不变的,Daniel善意地指出了这一点),但它确实说明了大多数重组的经济激励措施可以重新设计。

另一种降低重组风险的潜在方法是采用一种“费用平滑”的方法,作为一个诚实的矿工,你向在你之上的挖矿者支付MEV。这里的设计空间与激励重组的空间一样丰富;正如Tom在我们上一篇关于MEV的文章中所说的那样,“每发现一支脚踏,就会有1000名脚踏销售人员和1000家脚踏防弹衣制造商蓬勃发展。”

最后,值得注意的是,重组和自私挖矿可能会演变为递归的负和游戏,这实际上可能会让矿工付出代价,而不是带来利润。如果所有矿工都在等待其他人找到MEV然后进行重组,那么网络可能会陷入困境,导致交易完成时间过长和对抗性来回博弈,随着矿工继续尝试已经被其他矿工抓住的时间匪徒攻击机会,这会降低自己的利润。

IC3研究人员的一篇论文使用强化学习(RL)来模拟比特币网络上的自私挖矿并结合进站模型,发现当所有代理都使用自私挖矿策略时,相对奖励会下降。

一张图说明了由论文中的RL模型模拟的自私挖矿代理的相对奖励。

在以太坊上肯定会看到类似的影响。事实证明,重组策略只有在少数人执行时才会奏效;太多的厨师会破坏了肉汤!这甚至没有包含重组破坏共识时可能发生的反射性价格行为。一条链因不断的重组和贪婪的矿工而暴露的公关影响很可能对该链在市场上的代币价格以及潜在的其他资产产生不利影响,这些资产既建立在它之上,也通过beta建立在其他链上。从长远来看,这只会伤害矿工和生态系统。

分叉或RequestforReorgs的强烈抗议是社会共识发挥作用的有力例子。社会共识一直是加密货币的一部分,例如币安决定不鼓励回滚比特币以恢复黑客攻击,甚至更根本的是,矿池决定本着去中心化的精神将自己的算力保持在50%以下!

随着以太坊朝着以太坊2.0的权益证明迈进,MEV不会消失,重组的风险也不会消失。尽管权益证明确实提供了绝对的交易最终确定性,但它仅在2个epoch之后发生,但存在以下场景中重组可以在交易完成的约13分钟内发生。然而,通过限制时间窗口,重组变得更加困难。

然而,可以说,权益证明对重组的最大抵抗不是2个epoch之后的绝对最终性,而是“身份”的概念。鉴于提议者是已知的,已知有恶意行为的验证者可能会被参与、Flashbots网络等列入黑名单。此外,随着较大的现有矿工从挖矿资产转向大型交易所和平台进行质押,他们在验证者领域将占据主导地位,这些机构越来越有可能不会冒因重组甚至收取MEV费用而导致声誉受损的风险。

很多Staking存款人的身份现在都是众所周知的!

很明显,MEV不会很快在以太坊上消失。但是,这也可能不是一件可怕的事情。MEV很可能不会导致以太坊爆炸的持续重组,无论是现在还是将来。然而,MEV所做的是推动围绕创建更公平、民主化的金融系统的设计空间。Flashbots等研究集体的创建、交易公平排序的进步以及在协议和应用层的零知识证明和阈值解密等加密技术的应用,都试图减轻和民主化MEV。从长远来看,我们所了解和喜爱的加密经济系统因此变得更加强大。像重组大戏这样的事件很好地提醒我们,在我们构建金融的未来时,加密社区永远不能将我们系统的假设视为理所当然,我们必须继续不断创新以追求反脆弱性,并且我们拥有合适的社区和才能做到这一点。

非常感谢来自DragonflyCapital的HaseebQureshi、TomSchmidt和CeliaWan以及来自Flashbots的StephaneGosselin对本文的广泛反馈。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-4:53ms