在ePBS中采用乐观证明的可审计构建者投标 - 权益证明/区块提议者

本文提出了一种改进的以太坊提议者-构建者分离(ePBS)机制,通过引入可审计的构建者投标(ABB),在投标中声明payload将遵守的包含列表(ILs)和未密封交易(UTs)。这样可以让验证者在payload发布前,对区块是否遵守及时的ILs和UTs进行乐观投票,从而提高审查抵抗性,并加快payload通过主观标准的过程。

_感谢 Potuz 提出了如果提议者选择了不正确的、可审计的构建者竞价,则 slot nn 的证明者应直接使信标块无效的想法。感谢 Francesco 在共识问题上的指导,以及 Terence 的反馈。_

背景

Enshrined proposer–builder separation ( ePBS),在 EIP-7732 中指定,是对以太坊的一项拟议更新,旨在促进构建者和信标提议者之间的无需信任的交互。在 Fusaka 中转向点对点数据可用性采样(PeerDAS)之后,一个没有订阅所有 blob 列子网的 ePBS 提议者(即,一个较小的验证者)可能会错误地认为数据是可用的,并在错误的头部之上进行扩展。如果实施了 FOCIL,则 slot n+1n+1 中的提议者同样需要对 slot n-1n−1 中 IL 的及时性做出主观判断。因此,提议者将受益于证明有效载荷满足及时 IL 的证明。

Francesco 已经 概述 了一种解决这些问题的方法。有效载荷及时性委员会(PTC)还需要检查 DA(根据成员订阅的列)和 IL 的及时性。因此,PTC 成为一个可用性委员会(AC)。AC 计划在有效载荷发布后立即进行投票。因此,不要求投票者执行有效载荷是可取的,但这会阻止他们评估 IL 是否被完全遵守。Francesco 提出的 解决方案 是构建者在有效载荷中声明它所基于的 IL,并且 AC 投票决定此承诺是否与其对所需 IL 的看法一致。因此,提议者获得了有关 IL 及时性的乐观信号。

最近一项关于加密内存池的提案,Sealed transactions,依赖于与 FOCIL 类似的视图合并方案,需要对及时性进行主观评估。具体来说,密封交易(STs)包含在 slot n-1n−1 的信标块中。然后,未密封交易(UTs)在证明者观察到的截止日期之前被无需信任地公开,并最终包含在 slot nn 的有效载荷中。当前的 ePBS 设计需要 一个 slot 的延迟,直到证明者可以确认所有及时的 UTs 都包含在区块中。这种延迟也适用于 IL,如前所述,AC 被招募来提供在 slot nn 和 slot n+1n+1 的证明之间的早期信号。AC 当然也可以被招募用于 UTs,但仍然存在延迟(并且仍然存在完整 slot 的延迟,直到分叉选择被卷入),并且 AC 投票也会变得相当过载。是否可以招募 slot nn 的证明者来代替对 IL 和 UTs 进行乐观投票,甚至在区块公开之前?这将大大加快有效载荷通过主观标准的过程。它还缩小了 AC 的范围,审查阻力由完整的证明者集合(该 slot 的)确保,而 AC 能够更好地适应其剩余的任务。

提出的机制

受到 Francesco 早期工作的启发,这篇文章建议构建者生成可审计的构建者竞价(ABBs),已经在他们的竞价中 声明有效载荷将遵守哪些 IL 和 UTs。这不会泄露与 MEV 相关的关键信息,因为无论如何,遵守 IL 和 UT 是一个严格的要求。有了 ABBs,slot nn 的 证明者 甚至可以在有效载荷发布之前,对执行块 nn 是否遵守及时的 IL 和 UTs 进行乐观投票。这有三个好处:

  • 共识机制的一项关键任务是确保审查阻力。当 AC 裁决及时性时,它有权使任何非审查的 IL 无效——这种权力最好只属于完整的证明者集合(另见讨论)。
  • 证明者不仅将直接评估及时性,他们还将比当前暂定的 ePBS 设计提前一个 slot,快 12 秒投出他们的投票(与时间有关)。一个确定新的有效载荷在 slot nn 中 5 秒内有效的节点可以考虑 slot-nn 证明者的乐观证明,以直接保证该有效载荷也通过了相关的主观时间相关标准。
  • AC 将专注于更窄的范围,这打开了设计空间,使其能够适应特定任务(它不会变得“过载”)。

图 1 说明了 ePBS 中带有乐观证明的 ABBs,其中 IL 和 UTs 位域被添加到执行块 nn 的头部。slot nn 的证明者在有效载荷传播之前对此扩展的头部进行投票。

图 1\ 图 12700×2028 464 KB

图 1. 证明者(紫色)在 T_1T1 处观察 IL 和 UTs,然后在 T_2T2 处审查 ABB,该 ABB 指定了有效载荷中将考虑哪些 IL 和 UTs。如果他们在 T_1T1 处的观察结果与 ABB 规范一致,他们会在 T_3T3 处乐观地投票支持该块。

该机制按如下方式进行:

  • 在 T_1T1 之前 – IL 和 UTs 被广播并通过 p2p 传播。
  • T_1T1 – slot nn 的证明者冻结他们对传播的 IL 和 UTs 的视图。
  • 在 T_1T1 之后 – 一旦构建者确信他们已经观察到所有相关的 UTs 和 IL(那些在大多数证明者的冻结视图中),他们会为构建区块的权利投出 ABBs(彩色矩形)。ExecutionPayloadHeader 扩展了一个 IL 位域,构建者在其中声明有效载荷遵守其 IL 的包含者,以及一个 UT 位域,声明将包含其相应 UTs 的 STs。正如 EIP-7732 中一样,还应更改 ExecutionPayloadHeader 对象,以仅包含提交给构建者的有效载荷所需的最低信息。
  • T_2T2 – 在 slot nn 开始时,提议者选择一个获胜的 ABB,该 ABB 至少与其自身对所需 IL 和 UTs 的看法一样全面,并将该 ABB 包含在信标块中。
  • T_3T3 – slot nn 的证明者对链的当前头部进行投票。如果信标块丢失,或者由于缺少 IL 或 UT 而导致包含的 ABB 未通过他们的审核,他们会指示前面是链的头部的区块在他们当前的视图中。如果 ABB 通过了他们的审核,他们会乐观地证明该区块。考虑到有效载荷尚未发布,这些投票仍将计入分叉选择中的完整和空块 nn。
  • T_4T4 – 当构建者在审查传播的证明后确信信标块将成为规范时,它会发布有效载荷。
  • 在 T_4T4 之后 – 有效载荷发布后,可以对其进行审核,以确保其遵循 ABB 的规定。因此,从 T_4T4 开始,确定 IL 和 UT 遵守情况所需的所有信息都是可用的(在本地检查执行后的遵守情况,并且 slot nn 的证明仍在传播)。提议者和 slot n+1n+1 的证明者自然会使用此信息,但任何跟踪链的节点也可以在此刻直接使用它。当与对 DA 的检查和有效载荷的及时性相结合时,可以高度准确地评估有效载荷成为规范的可能性。

提议者处理

slot n+1n+1 的提议者运行以下检查:

  • 有效载荷是有效的,
  • 执行 txs 后,有效载荷满足 ABB,
  • blob 数据可用,并且有效载荷是及时的(根据 AC 投票)。

如果这些检查通过,则提议者可以扩展到块 nn 上。它像往常一样从具有最多证明权重的子树中选择其分支,同时还要考虑 slot nn 中的所有证明。正如 ePBS 的 先前 设计一样,考虑到有效载荷尚未发布,slot nn 证明既计入完整区块,也计入空区块。

支付处理

支付处理遵循 Francesco 先前概述的 一般结构

  • 如果有效载荷成为规范,则处理付款(愉快的情况)。
  • 如果有效载荷未成为规范,如果在后续 epoch 结束时至少 60% 的 slot nn 证明者投票支持该块,并且未检测到提议者的任何含糊之处,则仍会处理付款。

Slot n+1n+1 的证明者

Slot n+1n+1 的证明者不会在强加于 slot nn 证明者的冻结截止日期(在 slot n-1n−1 中大约 9 秒)冻结他们的视图,并且会像 slot nn 的提议者一样,继续审查传入的 IL。他们在 T_3T3 停止跟踪 IL 并侦听含糊之处。slot n+1n+1 证明者的规则也适用于潜在的未来证明者,如果出现错过 slot 的情况,这在依赖于 AC 的先前版本中也是如此。如果需要,可以调整这些证明者的截止日期。

IL 模棱两可

如果包含者含糊不清,则其 IL 不应产生任何影响,无论提议者是否规定遵守包含者。这意味着 slot n+1n+1 的证明者应忽略含糊不清的 IL,并接受不遵守它们的有效载荷,即使构建者规定它将在其 ABB 中遵守。

在常规 FOCIL 中,由于未遵守 IL 而出错的提议者可以通过随后对该 IL 的含糊不清来挽救,并且发布此类含糊不清的 IL 可能会分裂证明者集。相同的现象延续到 ABBs。一个特殊的版本是,构建者在其 ABB 中规定遵守 IL,但其有效载荷实际上不遵守,但在信标块发布后,包含者含糊不清,从而挽救了构建者。这大概不应该是一个问题。

讨论

有了 ABBs,完整的证明者集可以确保审查阻力(通过对 IL 进行投票)以及密封交易的正确处理。在依赖于 AC 的版本中,诚实的证明者必须遵守 AC 投票,因为它与 IL 的及时性有关。因此,构建者可以与(较小的)AC 勾结,以规定它不遵守一组 IL,AC 确认这是正确的选择,因为 IL 表面上迟到了(AC 有权裁定及时性)。slot n+1n+1 的诚实证明者将别无选择,只能接受有效载荷,即使他们观察到及时的 IL 被忽略,因为他们应该服从 AC 对及时性的投票。实际上,AC 因此控制着审查阻力(假设与构建者协调),这种控制已通过 ABBs 移除。

与此同时,AC 证明者使用的多数阈值确实以不同于 slot-nn 证明者投票的方式影响分叉选择。如果认为这种类型的多数阈值过滤器是可取的,则可以指示 slot-n+1n+1 提议者和证明者将多数阈值 slot-nn 证明用于确定及时性的目的。

AC 的角色剩余的是对有效载荷的及时性和 DA 进行投票。考虑到这些新的宽松限制,未来的帖子将探讨 AC 的角色如何进一步发展。另一个好处是,slot nn 的包含者可以及早获得有关 slot nn 的有效载荷将遵守哪些 txs 的信息。这些是不应由包含者列出的 txs(如果有效载荷是及时的)。

在常规 MEV-boost 中,中继是一个受信任的方,可确保作为竞价转发的构建者区块的有效性。在 FOCIL 下,此有效性检查变成了一个主观决定,取决于 IL 的及时性。一些验证者可能更喜欢自己执行此主观检查,因此也可以在 MEV-boost 中实现 ABBs(无需 ePBS)。这将提高当前 MEV-boost 设计的无需信任性,并为 ePBS 中的 ABBs 奠定基础。

关于如何在 ePBS 中的空块期间处理密封交易,可以单独说明。正如 在原始设计中 一样,包含在区块 A 中的 ST 必须保证相应的及时 UT 包含在后续区块 B 的有效载荷的顶部,即使在区块 A 之后提议的第一个区块未能成为规范也是如此。但是,由于区块在 ePBS 中可以是空的,因此一系列空区块可能会产生大量尚未被 UT 履行的 ST 积压。因此,最好阻止信标提议者在明显存在积压时包含新的 ST。

先前的 转发 IL 在 ePBS 中提出的方法是通过阻止 slot n+1n+1 中的提议者提供转发 IL 来解决潜在的积压,如果 slot nn 的有效载荷丢失(h / t Potuz)。这允许 slot 的有效载荷:n+1n+1 满足 n-1n−1;n+2n+2 满足 nn;n+3n+3 满足 n+2n+2(从而最终赶上)。但是,对于密封交易,这种方法可能会导致在 slot nn 中包含 ST 的交易者在 slot n+1n+1 的有效载荷构建之前(它不会包含在其中)公开 UT。因此,对于空块 nn 的解决方案是指定来自 slot n-1n−1 和 nn 的 ST 必须在 slot n+1n+1 中通过 UT 遵守,同时还要阻止 slot n+1n+1 的提议者包含新的 ST,这样积压才不会继续增长。

请注意,无论选择哪种设计,如果要包含来自多个 ST 区块的 UT,则与来自特定信标块的同一 ST 集关联的 UT 必须在有效负载中分组,与最早信标块关联的组位于块顶部,依此类推。但是,每个组 内部 的 UT 顺序仍应遵循已披露的块顶部费用。

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

0 条评论

请先 登录 后评论
以太坊中文
以太坊中文
以太坊中文, 用中文传播以太坊的最新进展