在开始阅读本文之前,我个人强烈建议先读一下我们有关矿工可提取价值(MEV )的上文章, 宣告 Flashbots 成立的文章 以及这一 播客,了解 Flashbots (Flashbots 是一个旨在捍卫 MEV 生态系统透明性的组织)生态系统及 MEV。文章讨论了有关 Flashbots、MEV 提取以及它们与以太坊共识之间相互作用的一些更复杂细节。
2021 年 6 月 29 日,在 Flashbots 的 Discord 讨论区冒出了一个很有意思的想法:
Spooky!
使用 Flashbots 来激励审查有点可怕。这也与 Flashbots 旨在降低 MEV 所造成的负面外部性的使命背道而驰。尽管如此,正如另一位社区成员很快指出的那样,这种审查在经济上是不可行的,因为它需要比想要包含相同交易的 MEV 搜索者或用户支付更多的费用:
@CuriousDefiUser,干得漂亮!
躲过了危机!
嗯,不完全是。虽然前面 Austin Williams 最初的想法不一定会引起恐慌,但几天后另一位社区成员 Nathan Worsley 提出的后续想法引发了一个更令人不安的问题。
与其在未来审查交易,不如去激励审查 / 取代过去的交易
经过一阵讨论后,这个原始想法很快进化成:
实施受激励的区块重组,将意味着在 Flashbots 的 MEV-Geth 之上构建必要的基础设施
这些帖子的背后是一个故事,涉及 Twitter 上的愤怒声讨、出色的独立黑客,以及为什么社会共识与加密算法共识一样重要的一些最好的例子。
让我们深入了解一下。
GHOST 协议和坐上时光穿梭机的「叔叔」
在目前的状态下,以太坊是一个使用中本聪所提出的工作量证明(PoW)共识机制的系统;这意味着保护网络的矿工之间的网络共识依赖于原始的哈希率。这也意味着交易只有概率最终性(probabilistic finality); 一个交易已被包含进一个区块中的时间越长,该交易被推翻的可能性就越小。 因此,通常建议 PoW 区块链上的用户在交易「完成」之前耐心等待。在以太坊上,交易假设在 7 个区块后最终完成,通常是安全的想法。
在 PoW 系统中,两个矿工可能同时挖出有效区块,并尝试将这些区块广播到网络。最终发生的事情是网络留下了两个有效区块,但在下一次挖矿竞赛开始之前,只能将一个添加到主链上。这意味其中一个区块必须变得「过时」,或者说被丢弃。这一解决方案不是很好,原因有两个。首先,生产出过时区块的矿工白白浪费了他们的资源!其次,这使得网络容易出现中心化风险,因为矿工急于确保他们有足够的哈希率,以避免生产过时的区块。有关这方面的更多信息,请点击 这里 了解更多。
在比特币网络上,10 分钟的区块生产时间和不到一分钟的传播时间使得过时区块产生的概率相当低。然而,在以太坊上,区块生产时间要短得多——大约 12 到 13 秒——产生过时区块的可能性要高得多。这使得上述资源浪费和中心化的问题更加突出。以太坊通过使用 GHOST (Greedy Heaviest-Observed Sub-Tree,又称幽灵协议)协议的改进版本来解决这个问题。GHOST 协议是在 2013 年设计而成,旨在解决快速生产区块的区块链中的过时区块这一精确问题,其基本前提很简单:矿工接受的「最长」链是具有最高累积 PoW 挖矿难度的链,其中包括与当前区块同宗同祖的过时区块。这样的区块被称为「叔块」。以太坊采用了 GHOST 协议的一个变体,使用相同的筛选原则,选择难度最长的链,但在难度计算中不包括叔块。它会分配一些区块奖励给叔块,让这些区块中的交易可以访问,但其中不包括主链中的那些交易。采用新的「最长」链、并忽略过时区块的过程称为链重组。
说了半天,这与 MEV 有什么关系?
存在两种主要方式,可以激励网络用户去利用叔块和重组引发的情况来牟利。第一个已经在实践中发生,且威胁性要小得多,它被称为「叔叔强盗」,由 Flashbots 独家启用。截至 2021 年 7 月中旬,约 86% 的以太坊哈希值采用 Flashbots 的 MEV-Geth 客户端; 但是,Flashbots 捆绑包仍然有可能被收纳进叔块中,从而为「叔叔强盗」创造机会。这最初是在 Robert Miller 的一个 连环推 中进行了详细介绍。 由于包含在叔块中的交易不会改变以太坊状态,但对其他人仍然可见并且是有效交易,精明的 MEV 搜索者可以查看进入叔块的 Flashbots 捆绑包,并发布一个新的捆绑包,其中包含原始捆绑包中的一些交易,还包括他们自己的一些交易,来此来捕捉主链上的套利机会。
但是「叔叔强盗」本身不会造成对协议的威胁; 归根结底,它们是捆绑包有一定概率被包含进叔块中的结果,而其他人则抓住这一边缘化的机会来牟利。不过,叔叔强盗的下流大表哥——时间强盗,则更让人担忧。正如有关 MEV 的开创性 研究论文 中详细阐述的那样,时间强盗是一种理论攻击,当来自 MEV 的奖励开始超过区块奖励时就会发生。时间强盗攻击的前提是,可以获取大量以太坊哈希率的矿工可以通过重挖以前的区块、捕获这些区块中的所有 MEV,并对以太坊链进行重组等一系列操作,使以太坊的时钟倒转。最简单的方法是租下以太坊 51% 的哈希率;通过这些操作,攻击者将回头俘获一定数量的区块,获取现在和过去这些区块中的所有 MEV 利润,利用这笔利润来填补攻击成本。
MEV 利润大致所占的交易费用百分比。 来源: Flashbots
如上图所示,MEV 利润在矿工经济回报中的占比越来越大,时间强盗攻击和重组的威胁随之越来越大。这也意味着理论上应该可以通过贿赂矿工来进行链重组。策略是:等待其他用户提交有利可图的捆绑包、贿赂矿工进行链重组,然后进行「叔叔强盗」或时间强盗攻击来牟利。我们本文要讨论的这场大戏就此揭幕。
混沌魔术师与核重组
在 Nathan 最初提出改进版 MEV-Geth (可以激励叔叔 / 时间强盗式的链重组)的想法,MEV 搜索者立即着手开发该软件,而加密货币领域的 Twitter 博主则陷入了激烈的辩论。这个 Meme 准确地总结了社区的主要情绪:
高人气 Twitter 帐户 MEV Intern 对此类软件问世却没有工具来防御它表示深深的担忧;毕竟,尽管这种受激励的链重组技术上是在共识范围内被允许的,但它们也确实破坏了协议的稳定性,且通过创建矿工行为安全假设受到挑战的场景,对以太坊进行了过多的压力测试。
不管怎么说,潘多拉魔盒已经打开。
不久之后,两位备受瞩目的 MEV 战略人士和研究人员—— Edgar Arout 和 0xbunnygirl——就「重组请求」提出了自己的个人版本。
Edgar 的存储库是对 Flashbots 创建的 MEV-Geth 客户端的一个分叉。该存储库已被私有化,但代码库仍在活跃状态,这将使 MEV 搜索者能够请求重组过去一定数量的区块,省略某些交易并添加新的交易,包括向矿工付款。
0xbunnygirl 随之受启发在以太坊上 启动了一个智能合约,将为此提供非常简单的支付渠道。要求链重组的合约使用户能够附加一个请求,其中包含对矿工的相关奖励,以及他们想要重组回的区块。然后,矿工将执行一个时间强盗攻击,其中包括使其能够在链重组中索取奖励的交易以及所需省略 / 包括的交易,以及矿工会因不诚实行为而遭到资产削减的约定。当然,这个合约同样是一个概念验证; 在回滚状态时,矿工可以自行决定不诚实,并审查资产削减交易,合约中没有编写在实际合同中包括一项特定交易或审查另一项交易的代码。然后呢…
什么都没发生(矿工不会受到任何惩罚)。
即使没有功能性工具,人们对这类开发工作也不满意。创建重组激励系统的工作,让该领域内很多知名研究人员、开发者和行业领袖出离愤怒。Edgar 最终会 搁置重组协议。Flashbots 发表了一份 官方声明,谴责链重组是负和游戏,强调它们会导致博弈论不稳定、系统性风险和矿工长期收入可能减少的情况。回应像 Ethermine 这样的矿池可能自行提出系统重组请求的断言,Flashbots 回应如下:
社会共识,而不是算法共识,已经阻止了似乎危害以太坊的工具的开发工作,就是这样。
加密货币方面对这些消息没什么反应。
我们会成功的,匿名者
虽然围绕重组请求的所有开发和争论可能最终没有带来任何威胁,但问题仍然存在:现在和未来对时间 / 叔叔强盗攻击的威胁有多大?
好吧,事实证明,也许不大。 让我们看看为什么。
经济考量
MEV 研究人员 0x9116 对重组可能牟利的领域进行了一些很棒的粗略数学计算。简单总结一下他的连环推,假设需要 30% 的哈希率(Ethermine 大约有这个数量),其 MEV 需要超过总费用的 3.3 倍,另加上 0.58 ETH。
让我们进一步扩展这个例子。鉴于在 PoW 系统中控制 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。
区块 A` 被挖出的概率为 0.5 *0.5 = 0.25,但在我们可以挖出区块 B` 之前,区块 B 被挖出。 A` 成为 B 的叔块,获得 1.75 ETH 奖励,然后希望挖出区块 B 之后的区块。在这种情况下,预期收益为 0.25 * (1.75 + 0.5 * (2 + Y)) 或 0.6875 +0.125Y。
我们挖出区块 A` 和 C` 的概率为 0.25。在这种情况下,预期收益为 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% 哈希率来启动时间强盗攻击的成本,很可能远远超过收益。
当然,或许某些单个区块可以证明这种成本是合理的。诸如孙宇晨在 Liquity 的 10 亿美元头寸险些遭到清算,不得不支付 3 亿美元保证金以避免爆仓的事件,如果届时在链的末端进行重组,而重组的利润会超过租用 50% 哈希率的成本。不过,单个攻击者也不太可能租到 50% 的哈希率——就目前而言,NiceHash 上任何给定时间 可供出租的以太坊算力 通常低于 10%。
如果想在这里进行参数化计算,我制作了一个工具,可以让你自行决定确定诚实挖出两个区块的预期收益与在最近区块上尝试时间强盗攻击的预期收益、使用可用的网络哈希率份额、时间强盗攻击中共计需要支付给矿工的付款,以及挖出未来区块预期向矿工的付款:
请记住以 ETH 计算的总值!
另一方面,如果重组足以获得足够的经济刺激,也应该可以有足够的经济利益抑制重组。
来源: Daniel Goldman
开发者 Daniel Goldman 只是将 0xbun nygirl 最初的重组请求合约逆转一下就实现了这一点,称之为 Deorg,它将允许任何用户在未来的一个区块中创建支付给矿工的赏金,如果发现矿工进行恶意行为,则会削减对其的奖励(在经过一定数量的确认后,Deorg 实际上通过要求某个高度的区块是不变的,以此对良好行为予以确认,Daniel 善意地指出了这一点),但它确实说明,链重组所面临的多数经济激励措施可以被重新设计。
另一种降低重组风险的潜在方法是采用一种「费用平滑」的方法(正如 Ivan Bogatyy 在 MEV.wtf Virtual Summit 上提到的那样),作为一个诚实的矿工,你向前面挖出区块的任意矿工转交 MEV。这一领域的设计空间与激励重组的空间一样丰富; 正如 Tom Schmidt 在我们上一篇关于 MEV 的文章中所说的那样,「每出现一种新的枪械,就会有 1000 名枪械销售人员和 1000 家防弹衣制造商制造出繁荣的商机。」
最后,值得注意的是,链重组和自私挖矿可能会演变为递归的负和游戏,这实际上可能会让矿工付出代价,而不是带来利润。如果所有矿工都在等待其他人找到 MEV 然后进行重组,网络可能会陷入困境,导致交易完成时间过长,以及对抗性的来回博弈。由于矿工继续尝试对其它矿工掠夺的收益进行时间强盗攻击,这会降低利润。
来源:Charlie Noyes
IC3 研究人员的 一篇论文 使用强化学习 (RL) 来模拟比特币网络中的自私挖矿,并将各类模型组合在一起发现,当所有矿工都采用自私挖矿策略(时间强盗攻击来捕获区块奖励)时,矿工的相对奖励会下降。
本图说明了由这一论文中的 RL 模型模拟的自私挖矿矿工的相对奖励
在以太坊上肯定会看到类似的影响。事实证明,重组策略只有在少数人执行时才会奏效;三个和尚没水吃! 这些假设中甚至都没有包含链重组破坏共识时可能发生的 ETH 自反性价格走势。一条链不断的重组和贪婪的矿工而暴露的不利公关影响,很可能对该链代币在市场上的价格产生不利影响,甚至可能损害建立在该链之上或通过 beta 建立在其它链上的其它资产。从长远来看,这些只会伤害矿工和生态系统。
权益证明(PoS) 和社会共识
如前所述,反对开发 MEV-Geth 「叔叔强盗」分叉或重组请求的强烈呼声,是社会共识发挥作用的有力例子。社会共识一直是加密货币的一部分,典型的例子包括:币安决定不回滚比特币以追回被黑客掠走的比特币,甚至更根本的是,矿池决定本着去中心化的精神将哈希率保持在 50% 以下!
随着以太坊朝着以太坊 2.0 的 PoS 共识机制迈进,MEV 不会消失,重组的风险也不会消失。尽管 PoS 确实提供了绝对的交易最终性,但它仅在 2 个 epoch 之后发生(每个 epoch 为 6.4 分钟的时间段,期间最多 32 个区块被提议 / 证明,提议者在 1 个 epoch 之前知情,证明者为 2),但存在以下场景:重组可以在交易完成的 约 13 分钟内发生,13 分钟可以完成交易的最终性。不过,通过限制时间窗口以及其他因素,重组将变得更加困难。
然而,PoS 对重组的最大隔离措施可以说,并不是两个 epoch 之后的绝对最终性,而是「身份」的概念。鉴于提议者身份透明,被发现恶意行为的验证者可能会被列入不得参与网络活动和 Flashbots 网络等的黑名单。此外,随着现有的大型矿工(如 Ethermine)转向利用挖矿资产质押,大型交易所和平台(如 Lido 和 Kraken) 在验证者领域占据主导地位,这些机构越来越不太可能甘冒因重组甚至收取 MEV 费用(作为社会和监管争论点)而导致声誉受损的风险。
现在很多质押存款人都是众所周知的机构!
MEV 尾声游戏
很明显,MEV 短时间不会在以太坊上消失。但是这可能也不是一件很可怕的事情。MEV 不太可能导致摧毁以太坊的频繁重组,无论是现在还是将来。不过,MEV 的作用是推动创建更公平、民主化的金融系统的设计空间。像 Flashbots 这样的研究集体的创建、交易公平排序的进步,以及在协议和应用层的零知识证明和阈值解密等密码技术的采用,都在试图降低和民主化 MEV 的过程中取得进步。从长远来看,我们所了解和喜爱的加密经济系统因此变得会更加强大。像重组大戏这样的事件是有积极意义的警钟,时刻提醒我们:在我们构建金融未来时,加密社区永远不能将系统假设视为理所当然,必须继续不断创新以追求反脆弱性,而且我们拥有强大的社区和人才,切实能做到这一点。
撰文:Saneel Sreeni, Dragonfly Capital 初级合伙人编译:Perry Wang
非常感谢 Dragonfly Capital 的 Haseeb Qureshi, Tom Schmidt 和 Celia Wan ,Flashbots 的 Stephane Gosselin 为本文提供了大量反馈。
来源链接:medium.com