研究 | 如何通过委员会平均分配一个区块的MEV?
ECN以太坊中国来源 |?ethresear.ch
作者 |?frankdfr
原标题:《委员会驱动 MEV 均匀分配》
非常感谢 Justin Drake、Barnabè Monnot、Casper 和其他以太坊基金会研究团队的成员对本文作出的有益评论和讨论。Casper 还直接主笔了文章的部分章节。
均匀分配 MEV 意味着减少每个验证者所捕获到 MEV 的差异,最终目的是尽可能接近均等地把奖励分配给每个验证者:质押者可以获得与他们的押金成比例的奖励份额,形式就像发行一样。在我看来,这是我们可用的唯一最具影响力的共识级 MEV 均匀分配措施,严格来说比民主化更强大。关于这个提案的详细原因和更多方面的探索可以参见这篇完整版文章,我将在下文多次推荐感兴趣的读者去阅读 (如果你想直接从那片文章看起,很欢迎,但请记住我的研究工作还在进行种)。
在下文,我将提出一种机制——试图通过在委员会和区块提议者间 (这意味着提议者与委员会里的任何成员被平等对待,但这当然可以被改变) 平均分配一个区块的 MEV,以实现 MEV ?的均匀分配。这样做需要两个元素——一个运作良好的区块内容市场,如在《对区块提议者/构建者分离友好的提案》里提到的,还有一些相对温和的共识修改。
证明
鉴于存在区块内容市场,我们假设在证明时间,每个委员会成员都能在规定时间窗口收到并有查看具有最高费用区块的 view 视图 。具体来说可以这样设想,委员会成员为 vi,其验证者索引为为 i,其当前 view 显示最高费用区块为 bi,最高费用为 pi?.?vi 会做出如下证明:
- 如果下列条件都满足,则对新提议区块投票:
a) 区块已经及时被提议,例如,在一个特定期限前它已经被 vi 收到了 (现在是 slot 开始后的 4 秒)
b) 区块基于在 vi 的 view 中前一个链头的内容延展下去
c) 区块支付了 p,使得 p≥pi
- 否则,就对前一个链头投票
条件 a) 和 b) 与现在是一样的,但我们增加了最高费用的条件 c)。尽管如此,我们仍然基本上有两个选项——区块存在 (block present) vs 区块不存在 (block absent),除了如果一个被提议区块的费用不是最高的,该区块会被认为是不存在的。如我们在下文会看到的,实际的证明规则可以比这更复杂,但重点是我们可以通过添加条件 c) 能总是确保提议的是费用最高的区块,并要求绝大多数已经发布的证明认为它是满足条件的。如果支持的证明数超过前一个链头的证明数,该 slot 应该会被跳过。
通过这种方式的证明,委员会本质上是试图协调执行一种以牙还牙的策略 (tit-for-tat strategy),惩罚不合作的区块提议者,以达至长期的协作平衡。
分叉选择规则
当前分叉选择规则的运作是不允许这种策略的。它的操作对象是区块,而不是 (区块,slot) 对:对不存在区块的投票实际上只是对前一个链头投票。这意味着,正确地延展上一个链头的区块总会变成新的权威链头,不管委员会如何投票。只有在提议者对链进行了分叉的情况下,证明投票才直接起作用。
我们需要的是,只有当一个区块得到大多数已发布证明时,该区块才会变成新的链头。基本上,我们需要一个提议区块与一个空块竞争。在下图,B 在 slot1 被提议,它前一个区块是 A,但它获得的证明少于它的竞争区块,这样权威链就变成包含空 slot 1 的链。
更正式地说,我们可以把 (区块,slot) 对作为竞争证明目标来看:
(区块,slot) 式证明已经被多次讨论,最终总是决定不采用它们,因为它们会对活性造成硬性延迟的限制。在目前的参数下,它们会造成任何在四秒内 (证明时限) 无法得到 50% 证明投票的区块被跳过,因此在糟糕的网络条件下活性会受到威胁。我们可能可以采用另一种设计,避免接上延迟的和非费用最高的区块来缓解这个问题,但还存在一些权衡 (这些都会增加问题的复杂性)。我将在全文的最后详细讨论这些问题,但请记住,这都只是这个阶段的初步想法。
区块提议的生命周期
为了全面了解区块是如何进入权威链的,让我们集中在区块构建者/提议者分离方案这个具体版本吧,特别是文章的第一个想法。步骤基本是相同的,除了我们需要给构建者的区块头添加一个期限,以给证明者在评估最高费用时提供参考。没有了期限,就可以一直发布有高费用的区块头,这些区块头可能会因为出现得太迟而不被提议者看见和选择,但仍然会导致证明者查看最高费用的 view 更新。
这个过程看起来像这样,每个步骤间有延迟,证明者会被要求在期限内做证明:
- 区块头期限:构建者在这个期限前发布区块头。证明者接受在期限后发布出来的区块头,但他们在看最高费用时不会考虑这些区块。这个期限可以与之前的 slot 重合。
- 提议期限:提议者在这个时间前发布它对区块头的选择。
- 区块主体期限:被选区块构建者在这个时间前发布区块主体对应的被选区块头
- 证明期限:证明者最迟在这个时间发布它们的证明
请注意,这个构建者/提议者分离方案的特定版本需要修改它自己的共识,有三个证明选项:
- 区块提议不存在
- 区块提议存在但交易捆主体不存在
- 区块提议存在且交易捆主体存在
尽管如此,正如已经预期到的,我们的均匀分配方案所需的变更可以直接加在上面,再次把“区块提议存在”等同于 之前确定的 a、b、c 三个条件 (即添加条件 c 到第二、第三个证明选项),如果全部发布了的证明中绝大多数都投了“区块提议不存在”,那么该区块就会被跳过。
安全性
在给证明过程引入新内容时,一个直接的忧虑是攻击者是否可能试图操纵证明者的 view 来产生不良结果。特别是,让我们想一下委员会成员的最高费用 view 会与实际情况有什么差异情况:
- View > 现实:在没有区块头期限的情况下,使用这篇文章的想法来执行攻击当然是可能的——通过在某个时间发布一个有高费用的区块头,这样超过 50% 的委员会成员都会及时看到,但提议者不会看到,这就会导致区块被拒绝。
当区块头有期限时,该期限早于提议时间的时间差是充足的,这个攻击向量就不再可行,且需要有延迟发送信息给提议者的能力。这种攻击的失败成本也很高,因为提议者及时看到区块头就不得不支付这笔高费用了。
最后,即使攻击者可以精准找到特定提议者,并使得他们延迟接收信息,如果提议者是通过一个单一秘密领导者选举选出的,攻击者也无法执行这样的攻击。
- View < 现实:当提议者是诚实时,那些收到最高费用 view 是低于实际情况的证明者无论如何都能证明投票。他们唯一可能犯的错误是给一个非最高费用区块投票。对于一个非最高费用区块,顾名思义,肯定存在一个区块头有更高的费用,因为我们是通过区块内容市场来确定最高费用区块的。这还意味着,存在一个最高区块区块的构建者,他希望看到该区块被发布,因此想要有尽可能多的委员会成员及时接收到它的信息,由此避免竞争的非最费用区块成为干扰选项。我们依靠这种构建者的自利倾向来确保委员会成员不会看到非最高费用区块的信息,起码在攻击者对网络延迟没有太多控制的情况下。
激励相容
我们的主要忧虑不在于对委员会成员 view 的潜在操纵,而是这个机制是否激励相容。最关键的是,委员会成员不对非最高费用区块投票,和防止恶意区块提议者获得多于公平份额的 MEV 这两点是否激励相容?
以下是我认为这个方案实际上是长期激励相容的原因:
? 正确参与这个方案的长期结果是,MEV 或多或少更均匀分配了,比目前的情况公平多了。对于足够大的质押池来说,这个方案与现状无异,因为在短期内,鉴于他们获得提议机会的频率,他们已经获得奖励分配的平均值。对于其他人来说,这要优于现状,因为他们很可能比以前赚更多,尽管他们会牺牲一些获得高涨幅的低概率机会 (请看完整版本,了解详细的奖励均匀分配后与没有均匀分配的对比分布图,以及这个方案是如何影响多方参与者的)。
? 把区块提议者与委员会间想成单个区块博弈,委员会被视为单个玩家,而提议者先行动。叛变等于不遵循协议。对于提议者,叛变是提议一个非最高费用的区块,且给他们不适当的 MEV 份额。对于委员会,叛变是接受一个非最高费用的区块,或未能接受最高支付额的区块。以下是这个博弈的回报矩阵
在这个单一区块博弈里,提议者的主要策略总是叛变,因为委员会总会倾向于得到一些东西而不是一无所获,也就是说会协作。另一方面,在重复博弈的形式中,委员会可以采用以牙还牙的策略,这对应于诚实投票和惩罚不遵循协议的提议者。从长远来看,这能确保达至协作平衡。此外,读者可以看看完整版中“Short-term consideration" 的部分,大型质押池的委员会成员有非常不一样的回报矩阵,与提议者合谋叛变的回报是非常低的,甚至是负的。
? 这个博弈当然把情况简化了。在现实,委员会不是一个实体,且实际上里面的一些验证者会经常与提议者分利益 (至少任何时候提议者都属于一个足够大的质押池,这种情况发生的概率与提议者在这些质押池的质押份额成比例)。此外,一个验证者在一个区块是委员会成员,随后在另一个区块可能就是区块提议者,因此参与者实际上两个角色都扮演。
尽管如此,采用一个提议者友好的长期策略只是为了维持现状,就如之前提到的,希望在奖励上不会特别对谁有利。大型质押池的确受益于现况,因为他们有能力获得奖励的平均水平,而这就给了它们吸引质押的优势,但从另一个角度看,促进质押去中心化对整个以太坊生态来说只会产生积极影响,还会增加各质押池都在竞争的押金的总价值。此外,以一种容易归因的方式破坏协议很明显会带来声誉成本,特别对于大型质押池来说,以及当机制是以公共利益为导向的时候。
共识稳定性
目前的分叉选择规则和这个方案提出的分叉规则都容易受 51% 攻击,不同点在于在这个方案里,联合 51% 的验证者就可以投票否决少数人支持的区块,尽管当前,说服少数人加入大多数人的链需要一些时间 (这对最终实现最终敲定是必须的)。因此,我们只应该担心那些适应性很强的攻击者会造成共识不稳定,尽管他们不能控制 51% 的押金但可以尝试控制某些委员会。
目前,委员会不会从区块内容获取价值,而仅通过协调共识过程来获取。因此,除了提议者 (无论质押了多少押金) 之外,没有人有理由通过分叉来窃取 MEV。从上一个区块窃取 MEV 需要与提议者串通,以贿赂其他证明者,且在没有网络攻击的情况下,在两个委员会 (包括受贿的成员) 里的敌对总占比必须加起来是它们的 2/3 (这样的结果是诚实证明者的投票情况是 1/3 + 1/3 ,被攻击者控制的是 0 + 2/3)。另一方面,在这个方案里,控制两个委员会的 51% 就够了,因为第一个区块现在可以直接被跳过,而委员会成员可以有个人动机尝试分叉,以窃取 MEV,因为它们会分到利益。尽管如此,这个情况仍然可以说是更优的:
? 最重要的是,大型质押池的提议者没有通过分叉窃取 MEV 的动机,因为他们控制的份额与每个委员会一样,因此在每个区块获得的奖励是相同的百分比 (在相当严格的范围内,即使对于只控制个位数比例押金的提议者也如是)。由于大型质押池是最强大的行动者,且可能进行协作,因此抑制它们攻击可以说是最重要的一种防御。
? 如果提议者是独立验证者,或某种程度的小额质押者,它们可能想捕获上一个区块奖励的一定份额,因为它们没有收到任何奖励。另一方面,一个小到无法参与分奖励的质押者实际上也没有成功分叉的能力。它们基本上在委员会没有影响力,因此需要说服别人。质押池是尤其难以被说服的,因为同样的原因它们不会去分叉,而且在没有任何聚集大量押金的支持下去分叉是难以想象的。很多其他独立验证者可能有动机去分叉,但是能贿赂大量的小型质押者,使他们联合起来也是难以想象的。
抗审查
区块内容市场可能非常中心化,而且似乎很可能会这样发展。无论如何,我们都无法控制它是否如此发展。这样一来,抗审查会非常依赖于这样的假设——在有需要的时候,有利他主义精神的提议者会挺身而出,使用他们选择区块的自由裁量权来击败审查,例如通过构建他们自己的区块。但在均匀分配 MEV 的方案里,这是不可能的,因为它执行的是 MEV 最大化,因此我们需要探索其他解决方案。我在完整版文章里我已经开始这样做了,请看”通过分离交易打包和排序来抗审查“章节。我决定不在这里赘述了,文章在这里要结尾了,而且这个想法可能还存在问题,但总的来说,我们可以让提议者在 slot n-1 挑选一组交易在 slot n 打包,且不会让它干扰均匀分配机制。