实现去中心化区块构建者的两种方法和四种设计。
撰文:BallsyAlchemist,分布式资本研究员
编译:0x11,Foresight News
2022 年初,有一个关于区块构建潜在中心化以及 MEV 和区块排序后 PBS(提议者 / 构建者分离)影响的讨论。我个人对这种担忧产生了共鸣,并发表了一篇探讨中心化风险的文章。社区对这个问题的看法存在分歧,一些人接受以太坊存在一个去中心化的验证器网络和一个更中心化的区块构建者的想法,正如 Vitalik Buterin 在《Endgame》中所概述的那样。然而,这些担忧最终被搁置一旁,并从公众讨论中淡出。不过,上一次 SBC 会议将这些担忧重新带回了最前沿,因为 Vitalik 提出了去中心化区块构建的方法(Jon Charbonneau 写了一篇现场的精彩报告)。从那时起,我一直在考虑去中心化区块构建者的潜在设计,并尝试分享我的想法和去中心化区块构建所面临的挑战。
以太坊一直在努力成为最抗审查、无需许可和无需信任的区块链,任何类型的中心化因素都可能损害这些属性。我将列出主要问题,并解释为什么有些问题很重要,而有些则不重要。
排他性订单流: Flashbots 和社区都在积极讨论关于排他性订单流如何导致单个区块构建者垄断中标和订单流。假设构建者提供激励措施,例如 MEV 共享、私有交易和 MEV backrun 保证,以收集其他人无法访问的订单流,从而构建更高价值的区块,始终如一地赢得拍卖。但是,我认为将导致排他性的所有类型的激励措施归于一类问题过于宽泛,因此我将它们分为以下子类别:通过 MEV 再分配的排他性订单流和通过 MEV backrun 保证、私人交易的排他性订单流。要注意这些子类别并不相互排斥并且具有不同的含义。
审查制度:区块构建者的去中心化程度不足可能会导致一部分构建者勾结和审查交易。虽然 crList、Geth 的原生区块构建选项和加密内存池等解决方案旨在减轻这种风险,但它们也带来了挑战,例如帐户抽象的部分体现,需要基础设施来支持无状态验证者的状态访问,以及围绕现有的安全问题启用隐私的技术。为了更深入地了解当前的区块构建环境,这里有一些关于区块生产的统计数据。根据 2022 年 12 月所有构建者的出块成功率,排名前 5 的构建者如下:
前五名区块构建者平均成功率
排名前三的区块构建者在该月共同控制了成功提交区块总数的 60%,这表明需要对他们不串通或审查交易的行为给予了极大的信任。为了解决这个问题,实施一个去中心化区块构建过程的框架将增加串通和审查的成本,从而实现更加去信任的区块生产系统。
网络效应导致的中心化:在不完全的市场竞争中,可以认为一个构建者会自然而然地通过构建更高价值的区块来战胜其对手,并在不需要直接激励的情况下吸引更多的订单,从而导致中心化。然而,现实中并非总是如此。
出块成功率图
该图说明了合并之前和之后一段时间内的出块成功率。值得注意的是,可以看出 Flashbots(以深蓝色表示)出块成功率已经减少并达到与其他主要区块构建者相似的平衡点,而不是完全主导区块生产。这与提议中由于网络效应导致的集中化相矛盾,这个结果可能有多种解释。
上面这些因素在一定程度上缓解了网络效应对构建者中心化的影响。然而,如上表所示,中心化仍然是一个问题,我认为社区应该给予更多关注和认识。
区块生产的权力是去中心化的关键。与其委托一个实体完全控制区块的构建,不如有一个框架允许多个实体或个人参与该过程。目前,有两种方法来实现这一点,应该注意的是,这些方法并不相互排斥。
围绕拟议方法的技术可行性和挑战仍在讨论之中,我想在这里分享我的想法。
目前有几种方法可以使提议者参与区块生产,但我相信 Eigenlayer 方法提供了更清洁的解决方案。在深入研究 Eigenlayer 的具体细节之前,这里是一个简短的概述:它是以太坊区块链上的一组智能合约,允许持有 ETH 的验证者通过对其抵押的 ETH 施加额外的罚没条件来选择为新服务提供安全性。如需更全面的了解,您可以阅读此处。
目前在区块生产过程中构建者如何与提议者交互?提议者构建者分离(PBS)系统已经实施。在这个系统中,构建者可以向中继器提交一个区块,然后中继器将验证区块的正确性并将其中继给提议者。该系统旨在防止提议者进行审查,因为只有在选择出价最高的区块并且相应的签名后的区块头被中继回中继器后,区块的内容才会透露给提议者。负责确保已提交块的数据可用性的托管机构随后会将数据(交易)透露给提议者,然后提议者将区块发送到网络的其余部分。下图说明了这个过程。
构建区块过程图,来源 Eigenlayer
PBS 系统通过将验证者的权限限制在更高价值区块的提议上,增强了以太坊的抗审查能力。然而,Eigenlayer 提出了一个名为 MEV+ 的 MEV 管理框架,它允许区块提议者在现有区块之上包含额外的交易。这是通过施加额外的罚没条件来实现的。
目前,区块提议者只受一个罚没条件的约束,即禁止同一提议者同时提议两个区块。使用 MEV-Boost+ 框架,如果提议者在提议添加了「proposer_part」交易的新区块时修改或未能包含区块的已提交「builder_part」,也将受到惩罚。这有效地防止了提议者试图修改或删除区块构建者的交易。下图说明了 MEV-Boost+ 工作过程。
提议者参与出块示意图,来源 Eigenlayer
这种机制在与 crList 结合使用时也很有效,crList 是提议者必须包含在区块中的交易列表。这有助于减少在构建者级别对交易进行审查的可能性。虽然已经提出了其他解决方案,例如对 Merkle 根的预先承诺或 KZG 承诺,以允许提议者参与区块生产,但 EigenLayer 提供了一种更简单的替代方案,不需要提议者提供额外的计算资源,并且可以同时参与区块生产。
总的来说,这种方法很简单,并且可以通过将提议者引入流程来进一步去中心化区块生产,从而与更多实体共享区块的权限。然而,这种方法的影响有限,因为它从根本上仍然依赖于中心化的区块构建者,并且不能完全防止由构建者中心化引起的审查。因此我们有第二种方法。
设计去中心化区块构建者是一个引人入胜的探索领域,像 Flashbots 这样的团队已经在尝试不同的设计。在考虑如何去中心化构建者时,重要的是要意识到以下挑战:
考虑到这些挑战,我想在整个研究社区讨论提议的去中心化构建者设计,并深入探讨围绕它们的一些潜在问题。目前,有两种主要类型的去中心化构建者:
以下提议的设计是这两种方案中任一种的变体。
这种方法要求聚合器使用可信执行环境 (TEE) 或可信平台模块 (TPM) 来确保接收到的交易包的隐私,从而防止 MEV 窃取。有关 TEE 和 TPM 之间差异的更多信息,请查看此处。以下是设计说明(TPM 和 TEE 在这种情况下可以互换):
基于 TEE 的区块构建者示意图,来源 Vitalik
Flashbots 发布了一份进度报告,介绍了他们在 SGX 中运行 Geth 的经验,SGX 是英特尔开发的一种 TEE。虽然存在许多技术挑战,但他们已经成功地使用 SGX 中的加密交换空间和 Gramine 运行 Geth,Gramine 是为 SGX 设计的库操作系统之一,具有 500GB RAM、1TB SSD 交换空间和 64GB 受保护内存。以下是该实验的一些关键要点:
此外,使用 SGX 时还需要考虑其他问题:
有一些方法可以减轻信息泄漏问题,但某些方法可能会导致性能下降,需要更多的试验和错误来磨练出性能最好的框架来运行 SGX。
复杂的设置和 SGX 兼容芯片的稀缺性导致进入门槛很高。云服务商可能会提供 SGX 的可访问性,并且可以作为一个临时解决方案,但从长远来看,云运营商将是一个重要的中心化因素。
SGX 泄露信息仍然是一个问题。如果人们在 SGX 中发现其他可利用的漏洞,聚合器应立即执行自己的 TCB 恢复(旨在重新实例化 SGX 环境的过程),而不是等待英特尔的响应,这可能需要很长时间。
与中心化构建者不同,去中心化构建者原则上应该欢迎并鼓励订单流的聚合。假设信息泄漏为零,搜索器 - 聚合器模型应该具有信任最小化安全性,相信加密和 SGX 完美运行。但是,它可能具有高度可信的活跃性,其中只有少数实体运行聚合器,这是可能的,因为捆绑包自然会聚合到最成功的聚合器。在这种情况下,订单流 / 捆绑包中不会导致审查问题,但可能会导致活跃度问题。
如果运行聚合器的实体数量较少,则可能存在地理分布不足导致管辖范围倾斜的情况,使网络更容易受到监管审查。
虽然像 SGX 这样基于 TEE 的解决方案似乎是目前更实用的构建者去中心化方法,但它仍然面临许多需要克服的技术挑战。
这是另一种搜索者 - 聚合器模型,其中加密应用于捆绑包而不是聚合器。这是一个粗略的例子:
基于 TE 和 ZKP 的区块生成器示意图
这种设计可能存在聚合器和提议者之间的串通。阈值加密仅在计算状态根之前确保捆绑包的隐私,并且计算状态根的聚合器需要访问交易信息或状态更新。这种访问可以通过追踪相应的交易来实现 MEV 窃取。该设计消除了对 TEE/TPM 的需求,但它无法在不增加额外复杂性的情况下防止这种串通,例如要求提议者在允许计算状态根的解密之前提交到区块。以下是此类设计的一些问题:
这种设计允许多个区块构建者参与区块生产而无需聚合器。下面是一个粗略的插图:
基于插槽拍卖的区块构建者示意图
该设计旨在允许多个块构建者通过将区块的最大 gas 划分为 n 个插槽来参与构建单个块,给定 x 个构建者,其中 n = f(x) 且 n<MAX_THRESHOLD。网络中的构建者开始竞标划分区块空间,出价最高的人填满该部分区块,第一个中标者成为区块的构建者,剩余位置的投标继续进行,新的投标人收到在建区块并在此基础上进行构建。当没有更多的投标人或区块已满时,投标周期结束。最后持有区块的构建者将其提交给提议者。这种设计通过在每个插槽执行 MEV 拍卖 (MEVA) 并应用阈值加密来保护隐私,将单个构建者的传统任务分成更小的部分。这种设计的主要优点是它消除了对中心化聚合器的需求,并允许构建者分布在全球范围内,提供分布式管辖范围。但是,此设计也存在一些潜在挑战:
这是另一种使用插槽拍卖模型的方法,类似于不必依赖聚合器的第三种设计。主要区别是该设计通过 Eigenlayer 为每个填充的插槽强制执行提议者承诺。不是在最后将整个区块提交给提议者,而是每个插槽将由提议者顺序提交,并且可以使用 Eigenlayer 来避免对以太坊进行协议级更改。由于提议者的承诺是在插槽显示之后立即出现的,因此对构建者修改先前插槽中的交易的担忧较少。然而,除了由于过程中额外的顺序提议者承诺导致延迟可能更糟,第三种设计提到的大多数其他问题也适用于这种设计。
去中心化是区块链技术的一个重要方面,确保区块构建者去中心化是至关重要的。在本文中,我们讨论了几种可能的去中心化区块构建者的方法。然而,这仍然是一个供研究界探索和合作的开放设计空间。
设计一个具有竞争力的去中心化区块构建者需要大量的实验,像 Flashbots 这样的团队已经在探索 SGX 和其他支持隐私的技术。然而,要充分发挥这些技术的潜力,还需要更多的创新和研究。
总的来说,去中心化区块构建者是一项持续的挑战,需要加密货币以外更广泛的研究社区的合作和专业知识。通过实验、测试和创新,我们可以努力创建一个去中心化的、有竞争力的区块构建者,以增强网络的抗审查能力。
特别感谢 Hasu 和 Justin Drake 的审阅和反馈!
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。