在区块链的权益证明系统中,股东作为提议者有多种获取收入的途径。其中涉及到区块构建和MEV优化可能较为复杂,不同股东之间的收入不一致可能导致中心化。
原文标题:Fair Exchange in Proposer-Builder Separation
原文作者:Espresso Systems
原文来源:Hackmd
编译:MarsBit,MK
在权益证明系统中,作为提议者的股东,可以通过四种途径获得收入:(i) 作为在特定时隙提议一个区块的区块奖励,(ii) 作为识别和报告其他股东过去恶意行为的奖励,(iii) 通过交易费用,(iv) 通过增加、删除或重新排序交易(也称为通过矿工可提取价值或MEV的收益)的区块构建。通过前三种途径获得收入相对直接,每个股东只需观察网络状态并遵循协议即可轻松实现。然而,区块构建的最后一种途径可能较为复杂,因此并非所有股东都能以最优方式最大化他们的收入。不同股东之间收入不一致是一个风险,因为它可能导致中心化。提议者-构建者分离(PBS)的方法通过创建构建者市场,将区块构建任务从区块提议任务中分离出来,每个构建者都可以通过优化MEV来执行区块构建角色。然后,提议者提议出价值最高的构建者的区块内容(生成并)出价。这个过程被吹嘘为通过消除股东拥有复杂基础设施的需求,从而降低了股东的准入门槛,同时仍能接近于拥有该基础设施(减去获胜构建者为自己保留的小额利润)时的收入。通过这种出价收集的收入也可能会以不同的方式重新分配,例如,通过烧掉出价值来支付所有股东的套装,或者以某种方式向用户支付回报。
将构建和提议的任务分开,使其由两个不同的股东执行,带来了一些固有的挑战,这些挑战与两者之间的信任有关。特别是,一个关键的挑战涉及到构建者和提议者之间的公平交易,其中在提议者的时隙决定构建者区块时,以构建者的出价和构建者的区块内容为费用进行交易。
公平交换问题在密码学文献中得到了广泛研究。众所周知,即使是在不信任的各方之间仅仅公平交换加密字符串也不能确定地解决。因此,下面我们将探讨在PBS公平交换中激励参与者公平行为的机制。
为了更好地理解这个担忧,可以观察到,任何首先采取行动的一方可能会处于劣势。
构建者的担忧:泄露区块内容和失去费用 构建者投入努力生成能产生最多MEV的区块。例如,构建者可能会识别出一个代币在两个不同来源间的套利机会,并可能利用此机会。通常,这可能涉及添加包含构建者公钥的交易,以便构建者从两个来源购买和出售并在此过程中获利。然而,如果构建者将区块内容原样透露给提议者,提议者可能会识别出这些套利交易并用自己的交易替换它们,从而剥夺构建者的收益。因此,构建者担心在确信其区块将按原样进入链上特定时隙之前释放其区块。此外,构建者可能愿意以出价的形式向股东支付费用;然而,如果其区块未包括在时隙中,它将失去这笔费用。
提议者的担忧:构建者数据不可用和未获得费用 如果提议者在没有访问区块内容的情况下提议一个区块,那么它可能面临数据不可用的风险,即网络永远不知道在区块中提议了什么交易。例如,如果构建者崩溃或离线,就可能会发生这种情况。如果敌手轻松地执行了一次攻击,其中它赢得了出价,但没有构建和释放区块,数据也可能不可用。在这种情况下,提议者可能无法收集交易费用或其他区块奖励以执行其职责。此外,如果费用应包括在区块本身的一部分中,那么提议者也不会获得费用。
在这篇文章中,我们将讨论在HotShot作为基础共识协议的背景下执行这种公平交换的潜在解决方案及其相关的权衡。我们假定提议者已经在构建者集合中选择了一个获胜的构建者。
HotShot协议的快速概述。由于我们的目标是讨论HotShot背景下的公平交换问题,我们将首先简要概述协议在没有PBS的情况下。目标不是解释协议本身,而只是提供足够的术语和不变量,以便稍后在本文中使用。
HotShot协议按照一系列视图的顺序进行,其中在每个视图中,一个指定的领导者(也称为提议者)向所有其他节点提议一个区块。
在了解了这些背景信息后,让我们理解解决方案的空间。
在这个解决方案中,构建者与提议者分享对其区块的承诺。提议者提议,并最终在所有股东中获得对区块的决定(最终性)。然后,构建者揭示与承诺相关的区块内容。区块内容还包括要支付给提议者的费用(出价金额),因此处理区块也解决了向提议者支付款项的问题。
这种方法的一个主要优势是,在区块被决定之前,任何一方都无法访问构建者的区块内容,因此构建者不会被欺骗,例如,通过重用构建者的区块内容。
然而,这个解决方案有三个主要问题:
这个解决方案旨在解决前一个草案的前两个担忧。在这个解决方案中,构建者在揭示区块承诺时与提议者同时揭示区块内容。然而,为了确保区块内容的隐私,它将区块以秘密分享的方式与一个委员会(或所有股东)分享。
在诚实多数的假设下,秘密分享确保了委员会中的少数腐败子集无法了解区块内容,但是委员会的多数子集确实可以揭示区块内容。这个多数子集在区块承诺被决定后揭示内容。这个解决方案已经得到了多个学术和部署作品的推荐,例如Ferveo、Fino、Shutter DKG等。为了支付费用,构建者连同区块内容向提议者发送一个无条件交易。
这个解决方案与草案1相对立,并试图解决其担忧。然而,这个解决方案有一组不同的担忧。
解决第一个担忧的另一种方法是使用可信执行环境(TEE)保护秘密分享的内容(或者可能完全依赖于TEE来保护整个区块内容),如Wadhwa等人所建议。这个解决方案解决了与委员会理性相关的隐私担忧。然而,这需要一个新的假设,加上每个委员会成员都需要专门的硬件。
两种草率的解决方案保护了两方中的一方,而在受保护方表现理性时,却使另一方暴露于明显的攻击之中。独立来看,两种方法的共同问题是后续的构建者只能访问过时的信息。这主要是因为区块内容只有在承诺确定后才会被释放。另一方面,如果构建者提前揭示区块内容,它就有在决定失败时失去区块隐私的风险。因此,似乎存在一个权衡:(i) 获取区块内容隐私与 (ii) 为后续区块的其他构建者提供最新状态的访问。我们现在将探索一套在HotShot背景下可能实现两个属性之间权衡的解决方案。
如前所述,当一个HotShot区块及其后续区块包括连续两个视图中获得法定数证书(QC)的区块时,该区块被确定。协议维护的一个关键不变量是,无论何时一个节点通过获得第二个QC来做出决定,67%的权益(从而有34%的诚实权益)必须基于第一个QC锁定在区块上。只有当至少有34%的权益恶意地不尊重它们的锁时,协议才能对一个含糊不清的区块做出决定,此时,违规行为是可以检测到的。换句话说,如果34%的诚实权益被锁定,即,在各方退出视图之前,有权访问第一个QC,那么提案将生效,不可撤销,并最终由所有节点确定。因此,从构建者的角度来看,目标是以某种方式确保34%的诚实权益在节点退出视图之前能够访问第一个QC。换句话说,如果34%的诚实权益可以访问这样一个QC,那么就永远不会有冲突的区块被确定(从而窃取区块内容是没有用的)。因此,如果构建者能确保这个不变量,即便在区块被确定之前,也可以安全地揭示区块内容。
尝试1
确保此不变量的一种可能方法如下。提案人可以为一个区块提出一个区块承诺,为其获得一个QC,并与构建者分享这个QC。如果构建者在它们退出当前视图之前与所有节点分享这个QC,那么该区块最终将被提交,对构建者来说揭示区块内容也是安全的。注意,这种修改确保了揭示比草率解决方案提前了一步。
然而,这并没有完全实现我们的目标,即构建者能访问到最新的状态。在HotShot中,下一个视图中的提案包含了来自前一个视图的QC和新区块数据的承诺。因此,如果数据发布只在形成QC之后发生,新区块的形成就无法访问到这些信息。
尝试2
事实证明,我们可以进一步推动这个想法,甚至更早地向所有验证者(和其他构建者)揭示区块内容。在这个解决方案中,提案人基本上将其提案职责委派给构建者。构建者与提案人分享区块承诺。然后,提案人将包含构建者区块承诺的已签名提案发送给构建者。如果在节点退出视图之前有足够的时间,构建者将提案以及区块内容与所有节点共享。一旦它获得与区块相对应的QC,它会立即与所有节点共享QC,以确保它们锁定它(并且该区块将不可撤销)。支付出价费用,即奖励提案人,可以通过以下方式实现:提案人在提案中包括约定的出价,构建者将相应的交易作为区块内容的一部分包括进来。每个投票节点确实可以验证这种匹配交易的存在,以确定区块的有效性。
注意,此解决方案解决了过时状态问题,并确保其他构建者能够访问最新状态以构建后续区块。此外,通过将提案责任委派给构建者,构建者基本上负责原子性地执行公平交换(或不执行)。换句话说,构建者可以确保其区块内容不会被其他节点窃取以创建冲突的区块,同时,投票节点可以确保数据的可用性和提案人得到支付的事实。
该解决方案有几个隐含的假设。首先,为确保建设者有足够的时间提出提案并获得快速证书(QC)等,建设者需要成为了解共识状态的重要部分(即使它不是投票节点)。其次,只有在网络同步时,建设者才能保证QC的形成并将QC发送给节点。在异步状态下,公平交换保证可能不成立(即使共识的安全性和活性仍然存在),也就是说,没有形成QC,但后续领导者使用了块内容。然而,在大多数实际情况下,建设者可能会合理地了解其消息到达其他节点所需的时间上限。最终,虽然理性的建设者有动机执行此交换(这就是它首先参与拍卖的原因),但恶意的建设者可能决定根本不提出提案。
提高恶意建设者的进入门槛
关于理性建设者的最后一个假设值得更多的思考。为什么这个假设是合理的,或者说恶意建设者的进入门槛是什么?显然,如果建设者完全是无需许可的,那么系统可能会受到Sybil攻击的影响,因为建设者发布了高出价但未执行后续操作。因此,建设者需要为此种行为付出一些代价,但在提议者恶意时不受惩罚。实现这一目标的方法是建设者在参与前向系统存入一小笔赌注。每当他们出价时,他们基本上承诺,如果他们被提议者选中但其块未被提交,他们会失去小赌注。在提交了他们的块的情况下,他们仍会通过块内容向提议者支付出价,协议会按照前面所述的方式继续。否则,如果他们的块未被提交,小赌注可以被销毁。请注意,理性的提议者没有让建设者的赌注被销毁的动机,例如,通过延迟分享已签名的提案。这是因为提议者只有在块被提交时才能获得更多收益,即获得出价费。因此,销毁小赌注会阻止那些故意不发布块的建设者,但不会影响诚实的建设者。
与以太坊的PBS方法的比较和兼容性
MEV-Boost:许多以太坊验证者运行了MEV-Boost的实例,它充当PBS的带外版本。他们的解决方案通过依赖一个叫做中继的可信中介来解决公平交换问题——中继负责保管块,验证它,并在提案包含块头被揭示后提供数据。在此之前,提议者无法访问块内容。他们的方法也不会等待提案在揭示前被提交。因此,鉴于他们依赖GHOST协议在一个纪元内提出块的做法,有可能在数据内容被释放后,一个提议的块不会被决定(最终确定)。因此,在所有情况下,建设者的块隐私都不会得到维护。
Enshrined PBS:有许多关于确立PBS的以太坊研究帖子(例如,一,二)。虽然这些解决方案在细节上可能存在差异,但这些帖子的主要目标是减少MEV-Boost中由中继提供的信任。从高层次上看,解决方案方法将12秒的时隙分为多个部分,其中(i)提议者首先发布提案,(ii)一组委员会成员证明此提案的存在,并注意到模棱两可,(iii)建设者发布块内容或模棱两可的证明,以及(iv)另一个委员会证明建设者已经(或未)及时发布块内容。实质上,他们的方法与这篇文章中描述的方法类似,如果同步保持,各方(建设者,提议者)将有足够的信心迈出下一步。然而,这些中间委员会的投票与块的提交之间的关系目前还没有完全确定。相比之下,在我们的解决方案中,由于我们在乐观情况下在两个视图中做出决定,只要同步保持,建设者就可以确保其提议的块将被添加到链上,并在指定的时隙中决定。