以太坊中的提议者承诺基础设施

  • simbro
  • 发布于 2024-10-03 17:41
  • 阅读 83

文章概述了以太坊中proposer commitment的研究进展,重点介绍了多种链下解决方案,例如Commit-boost、Tee-boost、Mev-commit、Bolt、Tai-yi和XGA,这些方案旨在允许验证者对交易包含或执行做出承诺,并将其传达给区块构建者,从而优化rollup,对冲gas费用,最终提高以太坊生态系统的效率和灵活性。

又名“承诺问题

Marcel StraußUnsplash 上提供的必备 Medium 封面照片

背景/概述

在过去的一年左右,我们已经看到了 PBS 设计中提议者承诺领域的研究兴起,其中已经探索了各种机制,允许提议者提供交易包含/执行的某些承诺,并将这些承诺传达给区块构建者。这种承诺的例子可能包括包含列表、区块空间期货或预确认,尽管未来还有更多类型承诺的空间。

虽然许多探索的机制涉及对协议的更改,以允许广义的提议者承诺(例如,PEPC 及其变体),但尚不清楚这些机制是否会真正实施,如果实施,可能需要一些时间。因此,已经开发了许多链下解决方案,允许验证者安装软件,使他们能够选择提供各种类型的承诺。

下面我们描述了正在开发的链下解决方案,并探讨了它们为不同类型的以太坊用户打开了什么样的解决方案空间。

提议者承诺的使用案例是什么

包含列表

过去一年左右,关于以太坊上包含列表的思考已经发生了显著的演变,从最初的简单设计,到更强大的基于委员会的设计,如 COMIS,以及最终的 FOCIL。目前,以太坊社区正在集体讨论带有包含列表的 PBS(即 FOCIL)或多个并发提议者(即 BRAID)之间的权衡。这些提案影响了以太坊路线图中被称为“灾难”的部分,尽管现在要准确判断它将如何随着时间的推移而演变可能还为时过早。

FOCIL(或“分叉选择强制执行的包含列表”)是来自 Robust Incentives Group 的一项提案,用于一种由证明者委员会管理的包含列表。在这个系统中,一个新的委员会在插槽中的特定时间之前分享其关于 mempool 的本地视角。插槽提议者收集这些视角并将它们合并成一个统一的列表,然后将其包含在提出的区块中。区块的有效性,由分叉选择规则确定,取决于这个合并的列表是否与证明者对每个委员会成员共享的交易列表的聚合视图一致。如果区块与这个聚合视图的匹配程度达到协议参数化的程度(即,区块必须足够接近每个证明者的预期才能让他们投票支持它),证明者才会支持该区块。FOCIL 完全兼容当前的 PBS 流程,因此如果 FOCIL 作为未来硬分叉的一部分实施,它将不需要任何验证者使用任何其他形式的 sidecar,除了 mev-boost。然而,与此同时,已经存在一个通过一个名为 IL-boost 的项目的链下包含列表实现,这是一个 Commit-Boost 模块,允许一个插槽的提议者创建一个他们希望包含在其插槽生成的区块中的交易列表,同时仍然通过 MEV-Boost 外包区块构建。

BRAIDSpecial Mechanisms Groups 的一项提案,基于多个并发提议者的提案,要求有多个不同的提议者,他们都在构建一个他们认为是规范链头的区块,并基于当前公共 mempool 中的交易。然后,这些单独的区块通过取每个选定提议者构建的每个区块中所有转换的并集来合并成一个区块,然后通过一些定义的排序规则以确定性的方式排序。BRAID / MCP 仍然与包含预确认兼容,因此将适用于使用 Vanilla Based Sequencing(即,基于领导者)的 Rollup。一个需要注意的是,我们不一定知道确切的排序规则是什么,这可能会产生很大的影响。例如,gas 费优先级排序将意味着价格过低的交易将不会被包含,因此包含是基于优先级费的概率性的。有趣的是,新兴的市场结构可能会导致对额外 sidecar 的更多需求,以允许验证者与区块构建者进行通信。

预确认

预确认是一种方式,让被选为即将到来的插槽的提议者的验证者承诺将交易包含在他们提议的区块中。最初,这作为一种优化Based Rollup 的方式而出现。基于排序的 Rollup,例如 Taiko 或 Puffer,受到对以太坊区块 12 秒时间的依赖的影响。考虑到大多数其他中心化的 Rollup 可以在一两秒,甚至几毫秒内给用户提供交易执行的确认,这并不是一个很好的用户体验。

为了改善用户体验,预确认允许 L1 提议者在几毫秒内提供 L2 上包含交易的预确认。为此,Rollup 需要采用基于领导者的排序器设计,其中 L1 提议者充当 Rollup 的排序器,而不是 Taiko 当前的无领导者设计,其中搜索者和构建者在竞争中充当排序器,以将下一个区块放在链上。LimeChain 提出了一个基于领导者的方法,名为 Vanilla Based Sequencing,它确定性地识别哪个 L1 验证者将成为每个 L1 插槽期间 Rollup 的排序器,这反过来允许他们提供关于包含交易的预确认。

预确认的另一个引人注目的优势是 L1 验证者能够提供关于“超级交易”的预确认,这些交易是跨不同Based Rollup 的交易包,它们在各个 Rollup 上以原子方式包含。关于使用基于排序和预确认来实现可组合性的大部分工作由共享排序空间中的团队进行,Espresso 已经发表了一些研究,很好地阐明了他们计划如何使用基于预确认,以及 Radius 也计划使用 基于排序和预确认

虽然对预确认网关的中心化风险存在一些担忧,即所有 L1 验证者都只是委托给有限数量的实体来处理他们的预确认,但在这个领域正在进行大量工作,并且社区正在积极地正面解决许多担忧(参见来自 [Primev](https://primev.xyz/) 的这项研究 作为示例)。

区块空间期货

出售区块空间衍生品已被探索了一段时间。最近,随着越来越多的 Rollup 开始采用 eip-4844 来使用 blobs 而不是 calldata,这已成为一个重新引起兴趣的领域。尽管 eip-4844 在显著降低 DA 成本方面具有优势,但 仍然存在一些挑战。一些最大的 blob 用户具有相对较低的 blob 包含率,并且一些Based Rollup,例如 Taiko,无法有效地优化发布到基础层的成本。这为区块空间期货开辟了一个空间,特别是在与 blob 市场相关的方面,并且 Primev 已经发布了关于如何实施它的提案

区块空间期货也可能提供给其他希望对冲 gas 成本波动的参与者,他们可以通过支付固定的前期费用来保证他们可以在需要时发布他们的交易,而不必担心当时的 gas 成本是多少,并且在 L1 上 gas 价格波动时期有更大的包含确定性。最近 来自 Blocknative 的研究 表明,未来优先级费用和基础费用波动都可能大幅增加,这使得对冲 gas 价格的能力更具吸引力。对这些形式的区块空间期货的需求可能来自提交用户意图/订单包的应用程序,这可能包括像 Banana Gun 或 Alfred 这样的交易机器人,或批量拍卖 OFA、DEX 聚合器、AA 打包器、意图求解器,甚至桥。

一些正在构建解决方案以利用提议者承诺来创建区块空间期货市场的团队包括来自 Luban 的 Tai-yi,以及来自 Manifold Finance 的 XGA,下面会详细介绍。

正在开发的解决方案概述

Commit-boost (sidecar)

Commit-Boost 是验证者安装的一个新的 sidecar,类似于 mev-boost。Commit-Boost 的独特之处在于它提供了一个模块化框架,用于安装特定的模块,允许验证者在该验证者被选为提议者时提供特定类型的承诺。这些提议者承诺可以包括包含列表、预确认、区块空间期货等。这意味着理论上验证者不需要安装任何其他类型的 sidecar,而是可以直接安装 Commit-Boost 以及各种类型承诺的模块。实际上,验证者可以用他们当前的 MEV-Boost 安装替换 Commit-Boost,并继续使用它来将区块构建外包给第三方构建者。许多团队已经在为 commit-boost 开发模块,包括下面讨论的一些项目,包括 Tai-yi。

开发 Commit-Boost 的主要动机是创建一个模块化和可扩展的单一软件,消除了验证者在节点上安装各种其他 sidecar 软件的需求。目的是减少生态系统中存在的 sidecar 数量方面的碎片化。其理由是,与共识客户端一起安装的不同软件越多,测试网络升级的负担就越大,这大大增加了未来硬分叉的复杂性,给客户端团队带来了巨大的麻烦。通过提供一个单一的模块化 sidecar,其他团队可以为其创建模块,而不是创建和分发一个完全独立的软件包。

目前,Commit-Boost 附带两个核心模块:PBS 模块,它实现了 Builder API,允许它与 mev-boost 中继通信,因此像今天 mev-boost 一样运行;以及 Signer 模块,它实现了他们新的 Signer API,允许模块请求各种承诺的签名。Commit-Boost 还包括安全机制,以帮助验证者管理跨承诺的操作安全风险,包括用于捕获关键事件的遥测,以及诸如 PBS 之类的模块的扩展,以实现额外的灵活性。可以安装其他类型的自定义模块,正在开发的一些首批自定义模块包括预确认模块和用于链下 名为 il-boost 的包含列表的模块

Commit-Boost 正在作为一个开源的公共产品进行开发,生态系统中多个团队都在为其开发做出贡献,并由各个组织的赠款资助,其目标是尽可能成为一个社区维护和治理的软件项目。现在有超过 70 个团队为其开发做出贡献,包括 Consenys 的 Web3 Signer 等团队提供的开发支持。

Flashbots 的 Tee-boost (sidecar)

TEE-Boost 是对 MEV-Boost 的一项更改,允许验证者直接从区块构建者那里接受 TEE 证明。TEE 证明本质上是区块有效并包含对验证者的付款的证明。这满足了中继当前所扮演角色的主要部分,并且理论上应该消除对中继的需求。

它的工作方式是在每个 epoch 的开始,区块构建者将提供 TEE 证明,验证者将验证这些证明,以便知道哪些区块构建者提供 TEE 证明。然后,构建者在构建的每个区块中提供一个证明。构建者可以使用在 TEE 内部生成的密钥对区块出价进行签名,验证者可以使用该密钥来验证区块构建者是否正在运行利用 TEE 构建仅有效区块的软件。

这种方法的好处是验证者不再需要中继来验证区块构建者的区块是否有效,因为每个构建者在其区块有效的每个 getHeader 响应中都提供一个 TEE 证明。这意味着验证者仍然受到保护,因为他们知道区块是有效的,并且区块中包含对他们的付款,并且构建者仍然受到保护,因为验证者只看到证明,而不是完整的区块内容。这满足了中继当前正在满足的要求,从而使中继的角色变得多余。

Flashbots 非常有兴趣进一步开发此解决方案,尽管仍有许多开放的研究问题需要解决。两个比较突出的研究问题是关于多路复用和数据可用性。这是中继提供的两个 TEE-boost 无法开箱即用的功能。例如,构建者和验证者如何注册以生成和接收区块?我们如何以不泄露验证者 IP 地址的方式做到这一点?现在,这正由中继促成,因为验证者向中继注册(其中只有大约 7 个),并且中继是唯一可以看到验证者 IP 地址的人。

另一个开放的问题是 TEE-boost 将如何取代中继提供的当前托管服务,从而为验证者提供关于按时发布区块的保证。通过中继,一旦验证者返回已签名区块头,中继就会将区块发布到网络。通过 TEE-boost,区块构建者全权负责发布区块,如果他们不这样做,验证者将蒙受错过插槽的惩罚。

总的来说,TEE-boost 是一个非常有趣的设计,有可能消除生态系统当前对中继的依赖。虽然这并不意味着它会完全消除中继的角色,但它可以大大减少我们的依赖,这对于生态系统来说只能是积极的。

Mev-commit (P2P 网络)

Mev-commit 是 Primev 正在构建的网络,他们将其描述为“用于预确认及其他用途的可信承诺网络”。Mev-commit 是一个点对点网络和一个区块链,允许任何人在其他网络上提交包含交易/执行的出价。然后,提供者可以对这些出价提供承诺,如果这些承诺随后没有得到满足,则这些承诺可能会被削减。

任何人都可以提交 mev-commit 网络的出价,例如搜索者、求解器、Rollup 或最终用户(即,钱包、AA 打包器等)。任何人都可以充当提供者来提供对这些出价的承诺。提供者可以是区块构建者、中继、Rollup 排序器或个人提议者。

要提交出价,投标人需要向 mev-commit 网络存入保证金,然后他们可以 出价金额高达该保证金的十分之一,并且他们还需要运行(或有权访问)一个 mev-commit 节点。然后,这些出价将通过 mev-commit P2P 网络发送,并由提供者接收,提供者可以选择发出承诺。任何人都可以通过在 mev-commit 注册表中注册并抵押 ETH 来成为提供者。

出价基本上是一个事务哈希列表(并且从 v0.6.0 开始,还包括整个事务有效负载),目标链上的一个区块编号,用于指定包含目标事务,以及指定衰减的一些值,这意味着投标人等待承诺发布的时间越长,支付的费用就越少。衰减函数是为了抵消提供者尽可能长时间等待发布承诺的动机,以便他们可以构建最有价值的区块,衰减函数的作用是激励他们尽快(而不是稍后)发布承诺。

事务哈希可以是提交到任何链上的事务哈希,无论是通过链的公共 mempool 还是其他方式。一旦事务包含在各自的链上,预言机服务就会更新 mev-commit 链以确认事务包含(以及任何其他所需的条件)并释放付款,或者在承诺未得到遵守的情况下,将削减应用于承诺提供者。

Mev-commit 是一个令人兴奋的项目,可用于构建各种基于承诺的 dapps 和功能。它有一些使它脱颖而出的非常有趣的功能。首先,由于出价引用了提交到其他链上的事务的事务哈希,因此它可以与各种不同的网络一起使用。看看他们是否允许单个出价引用异构网络上的事务哈希和区块高度将会很有趣,这可以为跨链 MEV 开辟有趣的可能性。关于 mev-commit 的另一个有趣功能是它的隐私性。默认情况下,出价和承诺是加密的,并且需要在各个网络上的区块确认后,由提供者或投标人“打开”。投标人可以选择一组提供者来允许查看他们的出价,方法是对出价进行加密,以便只有这些提供者才能解密它们。这种隐私可以防止信号价值的泄漏,这对于某些用例至关重要。

在决定使用 mev-commit 来获取或提供承诺时,需要考虑一些权衡。首先:它目前依赖于中心化预言机。这意味着对于承诺存在一些非常强的安全假设。此外,这意味着只有在该预言机已部署到的网络上才能支持这些网络。也就是说,Primev 声明他们“正在积极研究通过现有的去中心化预言机协议来去中心化预言机的角色,并评估创建一个可以去中心化的服务”。目前,mev-commit 链是高度中心化的,所有验证者都由 mev-commit 运行,尽管随着时间的推移,这种情况很可能会变得更加去中心化。另一方面,它非常高效,区块时间(以及承诺时间)为 200 毫秒。

需要考虑的其他事项(可能影响也可能不影响你的特定用例)是所有出价都需要以 10 倍的抵押品做担保,这可能对某些用户构成进入壁垒,并且资本效率不高。另一个潜在的进入壁垒是投标人和提供者需要在 mev-commit 网络上运行一个节点。但是,值得指出的是,与其他设计不同,验证者实际上不需要安装一个 sidecar。投标人可以是搜索者、求解器、Rollup 证明者等,他们已经是相当成熟的参与者,因此在 mev-commit 网络上运行一个节点可能不是很大的负担,而对于验证者来说,该系统使用现有的 mev-boost 实现,依靠中继作为控制代理(假设验证者连接到至少一个选择加入 mev-commit 的中继)。

Chainbound 的 Bolt (sidecar)

Bolt 是由 Chainbound 开发的一个系统,允许以太坊验证者提供承诺,截至今天,这些承诺可以是包含预确认,并且将来也可以是其他类型的提议者承诺、部分区块拍卖、区块空间期货等。

Bolt 主要包括作为 sidecar 安装在验证者的信标节点旁边的一段软件。bolt-sidecar 充当已实现特定于 Bolt 的 API(称为 constraints-API)的 mev-boost 分支的代理。 constraints-API 允许验证者将验证者发出的任何承诺传达给中继和区块构建者,并且还允许区块构建者将他们已履行这些承诺的证明传达回验证者。

最终用户(即钱包、搜索者、Rollup 等)可以通过 commitments-API 从验证者请求承诺(即预确认),该 API 通过 Bolt RPC 服务器公开,后者又与验证者安装的 bolt-sidecar 通信。

如果提议者错过了插槽,或者如果提议者确实生成了一个区块,并且该区块不包含该提议者承诺的事务,则该提议者将被暂时阻止在一段时间内发布任何进一步的承诺。目前,Bolt 中没有削减,尽管将来可能会启用削减。当提议者未能将承诺的事务包含在区块中时,可以通过“挑战者”合约启动争议。争议可以在承诺发布后的 24 小时内启动,并且必须附有由提议者签名的承诺。然后,提议者有一定的时间来提供证据驳斥争议,他们的 bolt-sidecar 应该会自动执行此操作。

任何提议者都可以通过在 Bolt 的注册智能合约中注册,并通过 AVS 提供抵押品来选择加入 Bolt,尽管这尚未为初始概念验证版本实施。未来的版本还将允许提议者将预确认的发布委托给第三方,这可以让他们与预确认网关或其他实体集成。

Bolt 有趣的地方在于它是完全无需许可的,而且非常简单。任何验证者都可以向智能合约注册以开始提供预确认,并且将来还可以提供其他类型的提议者承诺。现在唯一的要求是提议者需要安装一个额外的 sidecar 和一个修改后的 mev-boost 版本。这是否会降低验证者选择加入 Bolt 系统的积极性还有待观察。也就是说,Bolt 还 开发了一个作为 commit-boost 中模块运行的版本,这应该使验证者更容易加入。

Tai-yi (来自 Luban)

Tai-yi 是一个专注于预确认的提议者承诺系统。Tai-yi 由 Luban 构建,专注于为以太坊验证者提供预确认基础设施。

Tai-yi 利用 Commit-Boost 和重新质押,以及它在以太坊上的智能合约,允许验证者选择提供预确认。Tai-yi 的系统与其他系统略有不同,因为它不需要事务发起人,在获得预确认时指定交易数据,而是允许他们在更接近包含时间时指定交易数据。通过这种方式,Tai-yi 的系统更像区块空间期货。

要请求预确认,用户需要发送一个包含区块高度和 gas 限制的请求,以及预付款和后付款金额。此请求将发送给 preconfer,这是一个复杂的节点,提议者已委托它来处理他们的预确认,例如预确认网关。preconfer 对事务执行一些验证逻辑,然后将其发送给提议者进行签名,然后 preconfer 对其进行签名,并将 preconf 承诺返回给用户。

然后,用户可以在相应区块开始后的 6 秒内提供交易数据。如果用户不提供交易数据,preconfer 可以取消承诺,收到预付款,但不收到后付款,并避免被削减。 这里有一个很好的细节,可以阻止 preconfer 不执行用户事务,即使是用已经与预确认者共享了 calldata 的用户事务,即该功能还会耗尽初始请求中指定的 gas 量,这意味着 preconfer 不执行用户事务也不会更好。 如果用户提供交易数据,则 preconfer 会被激励将其包含在其中,以便获得后付款,并避免被削减。

在区块开始后的六秒钟后,preconfer 会将区块的整个预确认承诺列表共享给已选择加入 commit-boost 的中继,以便他们可以将承诺与区块构建者共享,从而确保将事务包含在区块中。

安全性通过优雅的托管设计来处理。 preconf 提示不会直接转到 preconfer,而是累积在托管合约中。为了让 preconfer 从托管合约中提取提示,他们必须提交每个相应事务的包含证明。如果 preconfer 未在特定时间范围内提取,则会对他们处以惩罚。

该系统表面上运行良好,尽管它确实要求用户在可以请求预确认之前进行抵押。造成这种情况的原因是,用户可能会通过扣留交易数据来损害提议者,毕竟,如果 preconfer 没有交易数据,则它无法将事务包含在区块中,因此违反了其所做的承诺,并让自己容易受到削减。为了避免这种情况,如果最多在区块中六秒钟内仍未提供交易数据,preconfer 可以取消预确认承诺,这会对用户的抵押造成削减。这需要在用户方面做出一定的信任假设,因为 preconfer 可以简单地声称没有提供交易数据,即使提供了,也无法证明不是这样。但是,理性的参与者不会这样做,因为他们会放弃预确认的后付款。

Tai-yi 允许用户在更接近执行时间时指定交易数据的方法非常有趣。一个有趣的副作用是,这为预确认开辟了一个二级市场,这再次使该系统类似于短期可交易的区块空间期货,对于那些希望对冲 gas 价格波动的各方来说,这可能很有趣。

XGA (Manifold Finance)

XGA 或 eXtensible Gas Auctions 是 Manifold Finance 开发的一种协议,他们正在与机制设计和研究团队 20 Squares 合作开发一个平台,该平台允许各种参与者从提议者那里购买包含预确认。与 Tai-yi 类似,投标人不必指定要包含的事务,直到最后一刻,这使得预确认更像是区块空间期货。然而,这种工作的实际机制非常有趣,因为 XGA 具有独特的设计。

拍卖本身在基于 Optimism 的专用 Rollup 上进行。拍卖的参与者可以包括竞标 L1 blobspace 的 L2 Rollup 以及搜索者。从 Rollup 的角度来看,他们正在寻找更强的 blob 交易包含保证,因为构建者并不总是包含 blob,因为它会导致延迟广播包含它们的区块,因此使用包含预确认作为 blobspace 期货可以提供更多的确定性和包含一致性。

XGA 的其他组件是与 Attestant 的 Vouch 协同工作的自定义共识客户端 sidecar,以及一个特殊的 XGA 中继。该 sidecar 是 mev-boost 的修改版本,并且与 mev-boost 向后兼容,它的作用是在接受区块时,为 XGA 中继提供比其他中继更高的优先级,但如果在出现任何问题时,也会优雅地回退到其他正常中继。

要参与,用户需要购买拍卖的远期合约,并在赢得拍卖并通过上述远期合约获得预确认后,用户可以自由地将交易提交给 XGA 中继。一旦提交的交易在通过拍卖获得,该位置在定义的 gas 限制内,交易将包含在各自的区块中。

XGA 和其他解决方案的另一个区别是用户无需抵押任何抵押品。为了额外的安全性,该拍卖已获得许可,并依靠社交抵押品(即,友善相处或撤销许可)。这行之有效,因为这种情况下的用户数量相对较少,因为他们是 Rollup 和专业的 MEV 搜索者。还有一个针对提议者的保险计划,以防万一由于 XGA 中继出现任何故障,可能导致错过插槽或一些削减,尽管这不太可能在实践中发生。

从理论上讲,XGA 基于市场的区块空间分配解决方案应该可以实现最佳的价格发现,并且缺乏抵押品可以更容易地引入参与者。有关该协议的详细信息和机制的更多信息,请查看以下链接:

结论

很明显,提议者承诺的格局正在迅速变化。已经作为以太坊生态系统的关键组件超过 2 年的简陋的 mev-boost sidecar 将被提供更多功能的其他 sidecar 软件补充甚至取代。来自搜索者和 Rollup 对区块空间期货的需求,以及来自Based Rollup 的对更快 L1 确认的需求将提供最初的需求,但是已经开发了其他用例,更不用说其他潜在的提案,例如 PEPC-DVTPEPC-Boost

虽然这在增加生态系统复杂性方面带来了一定的风险,涉及到未来硬分叉中需要进行严格测试的不同 sidecar 和软件的数量,但是正在努力有效地解决这种风险,例如 commit-boost 项目。看看节点运营商和质押池的采用情况以及独立验证者中的采用情况将会很有趣。与往常一样,以太坊继续以新的和有趣的方式发展。

感谢以下人员的审查和反馈:

Nicolas Racchi, Evan Jaewon Kim, Drew Van der Werff, Francesco Mosterts, Francesco Mosterts 和 Sam Bacha

  • 原文链接: simbro.medium.com/propos...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
simbro
simbro
江湖只有他的大名,没有他的介绍。