Espresso Sequencer

这篇文章详细介绍了Espresso Sequencer的设计原理与目标,强调其在去中心化Rollups中的重要性。文章探讨了当前以太坊Layer 2扩展解决方案中存在的问题,并提出Espresso Sequencer如何以高吞吐量和低延迟的方式支持Rollup的去中心化与互操作性,同时减轻MEV对用户的负面影响。

本帖子反映了 Espresso 产品的早期版本。有关 Espresso 的最新信息,请参阅 我们的文档


  • 二层 Rollups 正在兑现其扩展以太坊的承诺,使其对更广泛的用户和应用程序有用,但目前依赖于中心化排序器。
  • Espresso Systems 正在开发 Espresso Sequencer,以支持 Rollup 的去中心化,同时不妥协于扩展性。
  • Espresso Sequencer 旨在为 Rollups 提供实现可信中立性、增强互操作性、减缓 MEV 负面影响和与 L1 验证者长期经济激励对齐的方法。

在11月,我们分享了 我们的工作 关于 Espresso Sequencer 的内容:一个支持 Rollup 去中心化的平台。

生态系统中的 Rollup 项目每天都在解决扩展以太坊的问题。我们的作用是帮助它们去中心化其排序器组件,从而实现可信中立性、安全性、可靠性和互操作性,而不牺牲性能。

现在,我们将分享更多关于我们的目标、设计原则,以及 Espresso Sequencer 如何适应 L2 组件和架构的景观。

I. 引言

A. Rollups 概述

Rollups 由几个独特的系统组件组成,旨在为区块链提供扩展优势。这些组件包括:客户端软件、特定于 Rollup 的虚拟机 (VM)、一个或多个 mempool、一个排序器、一个证明系统 (针对 zk-VMs) 和一个 L1 上的 Rollup 合约(例如,以太坊)。

用户使用 Rollup 的客户端软件(例如钱包)创建交易。[1]

这些交易被提交到 Rollup,然后排队在 mempool 中。

排序器组件不断从 mempool 中获取交易,最终确定它们将作为指令执行到 VM 中的顺序,并确保这些指令对客户端可用。[2] 它还可以在这种排序中发布定期检查点(例如,以 Merkle 承诺的形式)到 L1 的 Rollup 合同中。排序器组件可以通过单个服务器(中心化排序器)实例化,也可以使用运行共识协议的去中心化节点网络。排序器可以在 Rollup 合同中实施,或使用 L1 共识本身(请参阅 Justin Drake 最近的文章,其中称其为 "based rollup")。

在 zkRollup 的情况下,证明系统执行这些交易并生成结果 VM 状态转换的证明。通常,证明者随后将证明、新的状态根和对 L1 上 Rollup 合同的区块承诺提交。然后,Rollup 检查证明和区块承诺的有效性,并注册状态转换。

一种替代设计,被称为 "主权 Rollup",不使用 L1 上的 Rollup 合同来达成执行结果或 VM 的定义。在“主权 Rollup”中,完整的 Rollup 节点直接读取并执行由排序器定义的有序交易列表,并计算状态变化及其证明。状态根和证明被广播到轻客户端进行验证。一个 L1 上的智能合约仍然可能参与实施排序器,但因为“主权 Rollups”不使用学习真实结果的智能合约来定义 VM,这意味着 Rollup 可以拥有外部治理机制,可能会对 VM 进行更改,进而影响交易的解释方式和执行结果。

交易不仅可能影响 Rollup VM 状态,也可能影响 L1 VM 状态,例如,将加密货币存入 Rollup 或将资金从 Rollup 提现到 L1。Rollup 合同通过验证状态转换证明保持系统的诚实,并充当 Ethereum 生态系统其余部分的桥梁(例如,通过为外部智能合约提供验证 Rollup 状态的能力)。然而,需要注意的是,已经直接验证了排序器决策和 Rollup 转换证明的用户无需在 L1 上等待确认。

这一切对于乐观 Rollups 的工作方式也相似,无论它们是否利用智能合约记录提议的状态变化和仲裁欺诈证明,或者它们是“主权的”,在这种情况下,欺诈证明必须在所有轻客户端之间传播。

B. 独立排序器与共享排序器

目前存在的 L2 架构使每个 Rollup 操作在其自己的孤立环境中。用于 Rollups 部署合约的基础 L1 协议处于共享基础设施中。在此之外,每个 Rollup 运行其自己的排序器、自己的证明者(针对 zk-rollups)和自己的执行环境。这种分割牺牲了利用开放、可组合区块链协议的许多好处。在这两个或多个 Rollups 之间运行的用户必须忍受为了互操作性而不得不跨排序器桥接的成本和复杂性(例如,在一个 Rollup 上转移 NFT,程序上依赖于另一个 Rollup 上的稳定币支付)。DeFi 应用程序必须应对分散的流动性。市场低效在不同 Rollup 之间加剧。

共享排序器承诺减少在实现用户和开发者寻求的原子性、可组合性和互操作性时的复杂性,这是来自公开、无需许可的区块链。

C. 中心化排序器与去中心化排序器

在今天的以太坊上,大多数 Rollups 具备中心化排序器。虽然中心化排序器性能极高,提供高吞吐量、低延迟和即时最终性,使用户信任该服务,但却削弱了在以太坊上运行应用程序的许多好处。

"based rollup" 解决中心化排序器的方法则完全处于另一个极端:Rollup 可能利用以太坊 L1 进行排序,以重新恢复以太坊验证者集所提供的可靠性和安全性保证。然而,这也具有局限性:Rollup 系统最多只能缓解计算瓶颈(即,如果交易执行是吞吐量的瓶颈)并在通信复杂度上实现小幅改善。它的吞吐量仍将基本受限于 L1 的交易排序和数据可用性吞吐量。用户还将经历与 L1 相同的交易确认延迟。[3]

这两者之间的折中方案是用去中心化共识协议替代中心化排序器,该协议在最佳情况下至少提供比以太坊本身更高的吞吐量和更快的交易包容确认。该协议只需负责交易的排序和可用性,而无需执行。将执行与排序和可用性分离可以为吞吐量带来巨大的好处,如果与适当设计的共识协议集成。此方法可移除交易数据传播在共识中的关键路径,这意味着可以交换多轮共识消息,只引用尚未被所有节点收到的数据内容的区块的哈希,但这些数据将最终会被收到或简单地可用。还可以通过类似 Eigenlayer 的重新质押协议,吸引 L1 的验证者参与操作该共识协议,以增加排序器的去中心化和与 L1 的共享安全性。

我们可以将排序方法分类如下:

  1. 基于 (L1) 排序:与 L1 相同的存活保证;高程度的去中心化;最多缓解计算瓶颈;吞吐量仍受限于 L1 的数据排序。
  2. 非基于排序:包含许多方法,包括今天的中心化排序器;可能不完全依赖于 L1 安全。
  3. 非基于排序的 L1 参与:与 L1 共享安全性(例如,通过重新质押);在乐观条件下可以实现强去中心化和高扩展性。

D. Espresso Sequencer:去中心化共享排序层

受现有 L2 架构的运行问题和权衡的启发,我们推出了 Espresso Sequencer:一个为 Rollups 设计的去中心化排序网络,旨在提供安全的、高吞吐量、低延迟的交易排序和可用性。

我们希望 Espresso Sequencer 作为乐观和zk-rollups的共享公共资产。这一效用不仅将允许 Rollups 实现去中心化,还将为 Rollups 引入共享排序层的互操作性优势。

我们希望 Espresso Sequencer 能够通过重新质押合约吸引以太坊验证者的参与,以实现与以太坊 L1 的共享安全。

以下各节将介绍去中心化和共享排序对 Rollups 的好处、Espresso Sequencer 的设计理念,以及它如何融入更广泛的 Rollup 生态系统。未来的帖子将深入探讨 Espresso Sequencer 设计的技术细节。

II. Espresso Sequencer:动机

A. 弹性与中立性

中心化排序器是 Rollup 存活的单点故障。

这些动态牺牲了系统的弹性和可信中立性。有些设计特征是将中心化排序器与“逃生舱”机制相结合,用户可以通过直接向 L1 发布交易来避免其交易,然而,这在技术上只是去中心化排序器的一个形式,但这仍然允许价格歧视,因为通过逃生舱在 L1 交易可以昂贵,从而未能充分解决问题。这将我们引向第二点。

B. 反垄断

如果中心化排序器是理性的经济行为者,他们可能会抬高用户的费用。

例如,中心化排序器可以将价格设定得几乎与逃生舱交易一样高(这是唯一的替代选项)。随着 Rollups 使用量增加并承载开发者 Ecosystem 的应用,用户的切换成本将增加,中心化排序器将对价格产生垄断影响。中心化排序器出于理性的动机,会最大限度地从用户身上提取价值(MEV),无论是直接(例如,通过费用)还是间接(例如,通过抢跑交易、三明治攻击等)。一个能够在垄断化产生自然制衡的系统比任何一个行为者的善意的系统都能为用户带来更好的体验。

C. 支持公平排序和私有 mempool

去中心化排序器对于降低用户受到 MEV 影响的作用至关重要。

中心化排序器在实际运作上就是垄断者,可以单方面决定只接受来自公共 mempool 的交易。合理地说,他们只会与平均情况下从用户提取更多价值的私有 mempool 合作。

诸如公平排序协议或私有 mempool 的技术只能够在去中心化排序层的背景下缓解 MEV 的负面影响。公平排序协议依赖于诚实多数的假设,通常只有在去中心化环境中才有意义。与此同时,私有 mempool(例如,像 MEV-Share 这样的提案)减少 MEV 影响的承诺取决于不同时间段内提议区块的节点之间存在竞争,从而给予用户更大的杠杆效应,防止垄断定价。有关详细讨论,请参见第 IV.B.2 节。

D. 无分割去中心化

Rollup 互操作性(跨 Rollup 桥接和跨 Rollup 原子交易执行)。

一个跨多个 Rollups 共享的排序层承诺使跨链消息传递和桥接更便宜、更迅速、更安全。消除构建另一个链的排序器的轻客户端的需求是免费的益处,创造了潜在的前期节省。由于消除此类 Rollup 保持与其他 Rollup 共识独立保持最新的需求,跨 Rollup 桥接也使进行持续节省成为可能。共享排序器还为桥接提供安全好处:如果并且仅当一笔交易在一个 Rollup 上完成时,只有价格能保证该交易的完成与另一个 Rollup 上的交易能够同时完成。

此外,共享排序器增强了用户表达交易间原子依赖的能力。在传统上,Alice(Alice)将签名并独立发布她的 Rollup-A 交易 t,而与Bob(Bob) 的 Rollup-B 交易 t’ 无关。在这种情况下,Alice的交易可能会被排序得比Bob的交易早许多,使拨出时间具有较长的选择权形式(例如,贸易)。有了共享排序器,这种选择权失衡得到了缓解,Alice和Bob可以一起提交这两个交易作为一个签名包(即排序器必须将这两个交易视为一体)。结合提议者与构建者的分离,这使得许多新应用成为可能,例如跨 Rollup 的 DEX 套利,以及有效地将流动性结合在共享排序器之间。

共享排序增加了 Rollups 的收入。

共享排序带来的桥接和互操作性改善可以增加 Rollups 为用户提供的价值,进而为 Rollup 生态系统带来更高的收入。有些交易在每个 Rollup 上独立可能没有价值,但如果在所有 Rollup 上原子化执行,具有很高的价值。在这种情况下,用户可能更愿意为保证这种原子性而支付更高的费用,而不是支付这些交易在独立 Rollup 排序系统中存处理的所有费用(可能都为零)。

这种增加的收入有望反馈到单个 Rollup 生态系统的利益相关者(Rollup 生态系统的利益相关者是指那些有权决定 Rollup 的排序层的各方,无论是委任还是某种形式的去中心化治理)。

E. 防止向中心化的路径

缓解跨域质押和中心化的“超线性”。

人们担心 跨域 MEV 将导致权益更集中。参与两个独立 PoS 共识协议的验证者(即区块链、Rollups 等)可以利用尚未提供更大盈利且同时获得的跨域 MEV 机会。如果他们在两个不同领域控制了 p 份额的权益,那么在给定插槽中同时被选中提议新区块的概率是 p^2,因此他们的参与回报是超线性的,这不成比例地使利润放大,鼓励更高度的中心化。一个跨所有 Ethereum Rollups 的共享共识协议回避了这个问题。

F. 与 L1 验证者的经济激励对齐

在中心化排序器中,几乎所有的 Rollup 价值(例如,费用,MEV)可能都被排序器所捕获。如果 Rollup 产生的价值大多未被 L1 验证者捕获,那么这将威胁到 Rollup 的安全性。这个风险的简单原因是 L1 验证者可以被贿赂以分叉 Rollup 智能合约的状态,从而获取比承认地诚实管理 Rollup 合同更大利益。去中心化排序器并赋能 L1 验证者参与排序器操作可以缓解这种担忧。

III. Espresso Sequencer:设计原则和要求

A. 补充以太坊

理想的非原生排序层应该补充以太坊共识的固有权衡,该共识在悲观条件下优先考虑存活能力,而不是在乐观条件下的响应性。非原生排序层不应与以太坊的 Gasper 协议具有相同的特性,因为这将提供对直接用于排序的以太坊几乎没有优势。

以太坊的 Gasper 协议实现动态可用性,维持最长链共识协议的一项重要成就,即在节点偶尔参与的情况下,协议仍能保持存活,即使大多数节点在任何时刻都下线。快速最终性或乐观响应能力是协议以网络允许的最快速度确认交易的能力。在乐观网络条件下,确认几乎是瞬时的。这与确认延迟调节到最坏情况网络条件的协议形成对比,或交易仅以概率完成。共识协议必须在乐观响应能力和动态可用性之间进行选择——这两个特性是 不兼容的。到目前为止,绝大多数实用的 BFT 协议——包括 Tendermint 和 Casper——都未能实现 这两个属性

B. 支持规模

Rollups 被发明出来是为了回应用户对更快吞吐量和更低费用的要求。因此,任何在数量上牺牲扩展性的去中心化排序器提案都是不可接受的,因为这会破坏使用 Rollup 本身的价值主张。在性能方面,Espresso Sequencer 旨在提升申请求助 Rollups 的去中心化的一系列之前的提案,这些提案依赖于 L1 共识系统进行交易排序和数据可用性。

Espresso Sequencer 的核心是共识协议 HotShot,重点帮助 L1 提交状态分布并快速确认交易排序和可用性,最大化吞吐率且关注机制。该协议充分利用 HotStuff 和在 Pacemakers 中的最新发展,以及从 可验证信息分发 (VID)随机信标 中使用的可验证延迟功能 (VDF) 等理念,以及 DAG-传输层中的相关技术。HotShot 的一个关键要求是在不妥协验证者集规模的情况下实现强性能特性。至少,应扩展到包括所有以太坊验证者的参与(目前估计大约为 50 万个独特的质押地址和 14,000 个独特的物理节点)。

C. 强安全性

鉴于 Espresso Sequencer 的根本目标是消除对单一中心化排序器的信任,我们的设计选择围绕创建强安全保证进行。

1. 在贿赂存在下的安全性

一种常见的 BFT 协议扩展方法是使用随机信标和可验证随机函数 (VRFs) 随机抽样较小的委员会参与投票。节点被选为给定时期委员会成员的概率与其持有的权益成正比。这在类似 Algorand 和 Polkadot 的协议中广泛使用。然而,如果恶意参与者能够贿赂委员会成员改变他们的投票,这种委员会抽样会降低协议的安全性。贿赂一个小委员会的成本远低于操控系统中相当大一部分(例如,1/3)的节点/权益的成本。为此,可以选举委员会成员广播单一消息,VRFs 可以在选举前隐藏他们的身份,防止对手知道谁可以被贿赂( 可替换性原则, 或 YOSO)。我们不认为这是足够的防御手段,因为对手可以简单地宣传贿赂,甚至建立以太坊智能合约来奖励委员会成员签署相互冲突的投票。我们避免依赖易受贿赂影响的方法,例如委员会抽样,而是通过其他方法实现效率。[4]

实现乐观响应能力和乐观线性通信必须采取以领导者为基础的共识协议。[5] 该协议通过一系列视图推进,每个视图确定一个唯一的领导者,负责广播消息和收集投票。贿赂攻击因而可以用无期限拖延存活性,即使领导选择不可预测。对手可以简单地给领导者提议空白区块。因此,对手可能最终耗尽其预算,但这可能需要很长时间。为了缩短此类攻击的持续时间,我们可以采用异步回退协议,使用全到全广播。简单存在恢复路径也降低了此攻击的效用,因为对手将要花费很大的预算,只能拖慢(而不是停止)共识。这有助于威慑对手首先攻击活性,降低这种慢路径被触发的可能性。

我们在数据可用性(DA)方面也反映了这个原则。对于在做决定之前向参与共识的每个节点传播所有交易数据的标准要求,造成了排序(即共识)协议的吞吐量瓶颈。某些设计因此通过向一个较小的受信节点集外包数据可用性,在性能/安全之间进行权衡。这个受信节点集称为 DA 委员会,可能还会从较大质押集随机抽样,并在每个周期甚至每个块中进行轮换。委员会继续传播数据,使所有节点最终能够追赶,但未在共识进展的关键路径上。借助较高的带宽,可在较长延迟窗口期间更高吞吐量地传播数据,但如果要求在需要做出决定的短延迟窗口内传达给每个节点,可能很快就会成为共识瓶颈。另一方面,VID 则可验证地在参与共识的所有节点之间分发数据的冗余编码,以使拥有足够高权益份额的节点子集能够合作恢复数据。VID 大幅度降低了使一块数据可用所需的广播通信复杂性(渐近上减少了对节点数量的依赖),但大大增加了数据恢复的复杂性。

我们不认为基于委员会的 DA 解决方案是一个可接受的性能/安全性权衡。负责任务的轮换委员会可能在某个区块最终确认数据的时刻,被贿赂的成本相对较低。另一方面,仅依靠 VID 进行 DA 提供并非实用。因此,我们的方法组合这些两种方法,以实现安全性和实用性。乐观情况下,高带宽节点将向所有其他节点提供数据,而每个单独块的可用性也由小随机(不可预测)选举委员会进行备份。(通过使用 carefully sampling methodology 和灵活的门槛参数,委员会可以在乐观情况下非常小。)但考虑到小委员会受到 DDoS 和贿赂攻击的风险,我们使用 VID 提供一个可靠的(尽管较慢的)备用路径,保证在有足够多的所有节点(按权益加权)未被坏账的情况下保持可用性。

2. 启用以太坊验证者集的安全性

启用整个以太坊验证者集参与运行 Espresso Sequencer 协议有几个原因十分吸引:

  1. 排序器依赖于相同节点集作为以太坊的安全性(一致性/存活性)。只有协义更改了,随之更改的性质(即,最终性与可用性)。事实上,以太坊已有有效运行两个协议,Casper FFG 和 LMD Ghost,它们相互配合以维护具有最终串行首的动态可用链。因此,参与运行 Espresso Sequencer 的以太坊验证者通过模块化地增加以太坊本身以支持 Rollup 生态系统,而无需更改安全模型。否则,用户将需要信任一组新的验证者,这些验证者将对 Rollup 生态系统的存活性做出承诺并快速确认最终性。
  2. 如果 Rollup 产生的价值没有(或相对较少)与 L1 验证者共享,那么这可能会带来 Rollup 安全性风险。例如,L1 验证者可以被贿赂以分叉 rollup 智能合约状态,以较大的收益比他们诚实管理 Rollup 合同获得的收益高。

D. 与提议者-构建者分离的兼容性

Espresso Sequencer 的角色是对交易进行排序和提议区块。设计上,Espresso Sequencer 兼容颇受欢迎的提议者-构建者分离 (PBS) 模式,其中用户将交易提交至私人 mempool,之后受信的第三方(TTP)在这其上汇总一组交易并会获得来自排序节点(即矿工/验证者)提交提议区块的盲承诺。TTP 是一个理论上的抽象,可能用密码学或受信硬件替代,但目前一般由实际可信的一方(例如 Flashbots)来运作。提议者(在本例中是排序节点)只知道为了提议区块它能获得的总效用,而不知晓内容。

Espresso Sequencer 设计为额外补充那些可作为构建者的受信 TTP 驱动的私人 mempool 服务,排序器节点作为提议者。

E. 要求总结

  1. 乐观响应能力: 凭借乐观响应能力,系统可以利用高度可扩展的“Web2”架构(例如,运行 NGINX 实例的高带宽节点)乐观地实现极高的吞吐量,而在最坏情况下,还能通过高弹性基于 gossip 的回退路径保持存活。这样能够实现全球许多方面的优势:Web2 性能结合 Web3 安全。这就排除了像 Tendermint 这样的协议。
  2. 乐观线性通信: 为了扩展到数万节点中,保持在乐观路径上的通信复杂度线性至关重要。这不仅排除了 PBFT 和 DAG 方式的共识协议,例如 Bullshark 或 Tusk。这些协议在最好的情况下具有二次通信复杂度,并且无法扩展到如此大规模的参与者集。
  3. 抵抗贿赂: 系统必须避免在关键安全组件中依赖易受贿赂影响的方法如委员会抽样。
  4. 异步恢复: 为了缩短持续贿赂攻击(或其他攻击对活性)的持续时间,我们可以采用异步回退协议,使用全到全广播。
  5. 以太坊重新质押: 无论是为了可直接增强排序器自身的健壮安全,还是使 L1 验证者的激励机制达到一致,我们通过以太坊重新质押吸引以太坊验证者集的参与。
  6. 与 PBS 的兼容性: 为了支持 MEV 缓解方法,系统必须与提议者-构建者分离形成兼容性。在这种情况下,排序节点担任提议者角色。

IV. 构建 Espresso Sequencer

A. Espresso Sequencer 组件

为了实现这些目标,并遵循我们的原则,我们已经架构并正在实施由多个组件组成的系统。

Espresso Sequencer 包含:

  • HotShot: 一种去中心化参与排序网络的共识协议,在乐观条件下提供高吞吐量和快速最终性,同时保证在悲观假设下的安全性和存活性。我们的共识协议称为 HotShot,其基础是 HotStuff 协议。虽然原始的 HotStuff 协议仅针对固定验证者集进行了描述,但 HotShot 协议是开放和无需许可的。不同之处包括新的 Pacemaker(视图同步方法)、用于领导者轮换的基于 VDF 的随机信标、动态权益表和分布式签名聚合。这些 HotShot 组件的设计受到强适应能力/抵抗贿赂的安全性目标的约束(排除了基于委员会的方法),同时仍扩展支持一个远大于 HotStuff 协议设计时原有所限的大型运营者集。
  • Espresso DA: 一种高可扩展和强大的数据可用性解决方案。这集成了 VID 和基于 DAG 的可靠 mempool 的元素。我们乐观地通过小委员会启用快速数据重取,但也包括可靠(但速度较慢)的备份路径,在最坏情况下可保证最终恢复。Espresso DA 生成的认证可用区块,HotShot 块提案可以引用,而不是原始块数据。
  • Rollup REST API: L2 Rollups 利用此 API 与 Espresso Sequencer 集成。
  • 排序器合约: 一种智能合约,可以验证 HotShot 共识(即,作为轻客户端)并记录检查点(即,加密绑定的账户对有序交易增长日志中动态快照的承诺)。它还管理 HotShot 的权益表。
  • 一个网络层,能够在参与 HotShot 和 Espresso DA 的节点之间传递交易和共识消息。

B. 与生态系统的交互

1. 与 L2 的互动

Espresso Sequencer 旨在作为共享的去中心化排序层,支持任意 L2 Rollups。

有关 Espresso Sequencer 架构和接口的详细描述,请参见我们的文档 这里

下图详细展示了单一交易从客户端通过系统的流动。

交易流的开始与当前 Rollups 的运作方式相同:用户创建并提交交易到 Rollup。这些交易通过排序器节点的网络进行传播,并保留在 mempool 中。接着通过 HotShot 的权益证明机制,将领导者选定,建议区块并传播回 Rollup 的执行者和证明者,最终在Layer1 合同中最终确认。

领导者将交易发送到数据可用性委员会,并获得一个 DA 证书作为回报。它还将区块承诺发送到Layer1 排序器合约,并附上合约用于认证区块的法定证书。这使得Layer1 Rollup 合约可以将 Rollup 状态更新证明与合法的区块承诺进行比较。

注意,客户端有多种选择来检查其交易的最终性并查询更新的状态。他们可以通过信任已在生成证明之前执行交易的 Rollup 服务器,借助 HotShot 的低延迟,来获得快速最终确认;或者通过自己执行交易来无信任地完成。用户也可以等稍长一些以获得证明生成确认,此步骤所需计算少于执行块且同样是无信任的。最后,如果客户端不想进行任何计算且不希望信任 Rollup 服务器,他们可以等待状态更新被 L1 认证,从而以无信任和无计算方式提取更新的状态。这展示了系统如何利用 HotShot 共识和Layer1 共识的不同属性,为用户提供便捷灵活的体验。

2. 与区块构建者和私有 mempool 的互动

a. 去中心化区块构建 vs 排序器

去中心化的区块构建设计,如 SUAVE,旨在去中心化 TTP。这些设计具有巨大潜力可以减轻用户受到的 MEV 影响,但正如我们在这里所论述的,只有在基于已去中心化的排序和构建平台之上才有施展的空间。因此,我们看待 Espresso Sequencer(以及更广泛的去中心化排序器平台的存在)作为对抗区块链生态系统中 MEV 产生负外部性的一个必不可少且互补的组成部分。

b. 中心化排序器加剧 MEV

如果排序层是中心化的,控制区块提议,最终决定区块包容与顺序,PBS 将无法有效减少 MEV 的影响。控制单一节点的排序器实际变成了垄断者。基于其对用户支付意愿的认知,垄断者会设置价格(包括所有形式的 MEV)以最大化利润。假如不能进行价格歧视,也就可能会拒绝对一些不愿支付高价的用户提供服务,即便不出现拥堵作为原因。作为这项策略的一部分,垄断者应当忽略 TTP 所生成的区块/捆绑,除非能够明确证明其平均提供的收益比其自己提取的高。换句话说,垄断者将仅会与按平均从用户处提取更高价值的私有 mempool 合作。因此,运行 MEV 拍卖的私有 mempool 将只会使在中心化排序器下用户受到的 MEV 影响更加恶化。

另一方面,去中心化排序层可以支持 PBS 来减少 MEV。

c. 去中心化排序器减轻 MEV

去中心化共识协议在参与节点之间以随机和不可预测的方式轮换区块提议者(领导者),可以保护用户免受 垄断定价 的影响。对于简单费用(即,当用户提供的费用支付必须由提议区块的区块提议者接受,如果并且仅当其包含交易)来说,这一点很好理解。假设基于用户所愿意支付的,利益最大化的保留价格为每笔交易 10(即,垄断者应该最大化利润,设置最低收费为10(即,垄断者应该最大化利润,设置最低收费为 10,而拒绝那些不愿支付这一价格的用户)。一个单一的领导者(垄断者)将排除所有 mempool 中每笔收费低于 $10 的交易。然而,在去中心化协议中,这是所有参与节点都应该同意的一个不稳定策略,尤其是在随机选中的区块提议者在其提议的区块中提取收费的构成占比可得时。

在这种情况下,一半的节点形成一个联盟 A,开始接纳为 9的交易,而剩下的节点B继续排除它们。识别出这一点的耐心用户愿意平均等待两个区块而不是一个,将其出价下调至9 的交易,而剩下的节点 B 继续排除它们。识别出这一点的耐心用户愿意平均等待两个区块而不是一个,将其出价下调至 9。假设一半的用户都做到了这一点。在随机性和不可预测的背景下,联盟 A 和 B 的压缩通过对紧迫用户支付 10的第N个区块的交易相对此对应地进行相同处理,但A的交易处理将面对来自耐心的10 的第 N 个区块的交易相对此对应地进行相同处理,但 A 的交易处理将面对来自耐心的 9 用户的交易。因此尽管由于孔-垄断者策略的偏离,A 和 B 的整体收入会降低(即每笔交易 9.5对比9.5 对比 10),但 A 的收入会比以前获得更多(即 7对比7 对比 5),因为 B 承担2.5(即2.5(即 2.5 对比 $5)的损失。

注意通过将部分费用分配给区块提议者的作用,鼓励价格竞争的利益。在对比之下,在共识参与者中均摊费用(例如,采用费用对此进行注销的权益证明系统中)则会促进垄断行为,因为个人不再有任何套利驱动。

不过,在涉及 MEV 的更多复杂形式时,仅依赖去中心化并不能保护用户免受垄断定价。如同在任何时段 لو폐 所提议的签署签署,一个区块提议者的激励总是努力提取尽可能多的款项(如抢跑交易或其他订单操控策略),尽管提议者通常初步未必能自行优化做到这一点,但可以将这一机会出售给 MEV 搜寻者,以有效匹配最终需求。同样,利润最大化的垄断行为机会策略发生变化,所有区块提议者均忠实于此。相比单一收取费用,MEV 的诸多方法难以见得避免失去任何优势。解决这方面的一种方法是:

  1. 出价负费用。如果提交交易的用户能够准确预测其每笔交易对提议者的 MEV 的边际价值,用户就可以将出价设定为负费用,从而有效要求提议者支付用户,以包含在块中。在这种情况下,提议者行为的分析类似于简单费用的情况,而交替竞争应该能够保护用户利用此套利。
  2. TTP 操作私有 mempool(PBS)。假如提议者想以必须排除所有来自私有 mempool 的出价低于其自行提取的套利设备,则垄断策略利用这一点达到极致。然而,正如在保留价格案例中所述,在去中心化系统中余额再也不得不将这样的策略保持。若所有的提议者一致同意拒绝接受来自任何 TTP 的捆绑,依然会有一个联盟得以从稍微比默认公共 mempool 递支捆绑中获取竞争优势。

其间存在的一个体问题是负菠菜几乎完全失去了重复计算盈利能力(更遑论准确头算)自己的次市场份额。

可以采用多种方式通过 TTP 操作 mempool 的实际设计,包括以实际受信第三方(如 Flashbots 的作用)和基于受信硬件(如 SGX)、或与参与的热门分层随机选定认证各方(如诚实多数的条件下,公平排序协议、多方计算、threshold 组合)进行设计的方式独特分别考量。另一个要素是 TTP 是否仅平平排序交易(如 FIFO),或者是否内置了 MEV 功能,只是为目的去适当拟合 MEV 最优次序,然后确定出价者和为谁引导出分别出价。

在公共 re-entry 的根本保障模式中,distributing block fees 在所有共识参与者之间提供,同样基于 TTP 仓库的出价者承担越阶,从安全系统资金户更高提供 الدولية往来取决加强协议并助长单向的 feedback。

此外,所有对以太坊验证者集通过重新质押参与运行 Espresso Sequencer 协议,相应的盈利基于验证者的集成。ETH 再抵押是一个新兴概念,承诺允许已经为了 Gasper 质押的 ETH 进行再抵押,以便在 Espresso Sequencer 中获得额外的参与。再抵押已经为 Gasper 锁定的 ETH 的节点面临 Espresso Sequencer 合同的额外削减条件,因此如果违反这些条件(即使在 Gasper 中没有任何错误),将损失这部分 ETH。同样,如果违反 Gasper 的削减条件,也会损失 ETH,其在每个协议中的影响(投票权和提议频率)将相应调整。Eigenlayer 是当前正在开发的 ETH 再抵押合同的一个实现。

ETH 再抵押具有许多潜在优势:最小化接纳以太坊验证者的操作复杂性;创建关联激励以使验证者获得高度参与;以及考虑以太坊动态变化的验证者集。再抵押是一个新兴话题,具有许多可能的模型以及复杂的影响和考虑。特别是,我们正在研究缓解完全依赖 ETH 再抵押者来运行系统所带来的问题的方法。

这些问题包括:

  • 高资本参与成本(需要质押至少 32 ETH)
  • 如果新系统最初为再抵押者生成的价值显著低于以太坊本身,那么,由于金钱的非线性效用,来自 ETH 再抵押的边际效用提升可能非常小。
  • 同样,假设只有可追溯的行为(例如安全违规)会被削减,如果新系统失去活性,对再抵押者的边际效用损失也可能非常小。(因节点离线、错失提议或投票轮次等被削减是不明智的,因为可能会通过 DDoS 攻击被利用)。

这是我们正在积极研究的领域,我们很高兴与研究人员以及整个行业就此事进行互动。

V. 总结与路线图

在 Espresso Systems,我们一直受到所有致力于开发区块链开发者及其最终用户可扩展解决方案的团队快速研究和开发工作的启发。

我们正在开发 Espresso Sequencer,以支持滚动扩展实现去中心化,而不牺牲其性能优势。Espresso Sequencer 的设计考虑了一系列目标:

  • 基础设施的韧性和中立性
  • 反垄断机制,以鼓励用户费用的价格竞争
  • 支持公平排序和私密内存池
  • 跨滚动的互操作性和组合性
  • 缓解向中心化的路径随时间演变
  • L1 验证者与滚动系统的经济对齐

为了在不放弃规模的情况下实现去中心化,Espresso Sequencer 利用基于 HotStuff 的专用乐观响应共识协议,我们称之为 HotShot。Espresso 数据可用性解决方案(Espresso DA)具有高度可扩展性和健壮性,乐观地通过小型委员会启用快速数据检索,但还包括一个可靠(但较慢)的备份路径,保证最终可检索性。

在 11 月,我们发布了 Espresso Sequencer 的第一个测试网:Americano。此次发布代表了一个仅内部使用的测试网以及我们对乐观网络路径的初始基准。虽然此发布尚未集成我们路线图上更先进的技术以扩展吞吐量,但它在“良好”网络条件下已经达到了高基线性能。在我们的基准测试中,我们在固定质押分布的 10、100 和 1,000 节点的网络配置中测量了吞吐量。在 100 个节点时,我们的吞吐量达到 2598 kb/s,映射到每秒 10,000–20,000 次 ERC-20 转账。

Americano 利用集中网络架构来利用乐观响应的好处。提醒一下,由于这一特性,集中架构帮助在乐观条件下提高吞吐量,但不会影响安全性!在我们的下一个测试网 Doppio 中,我们计划进一步优化乐观路径(例如,通过负载均衡、并行化,以及甚至更高带宽的集中服务器),同时将其与健壮的基于嗡嗡声的后备路径集成,以帮助在悲观条件下保持活性。我们还将集成一个数据可用性机制,将数据(即完整区块)传播移出共识的关键路径。

Doppio 测试网还将迈出支持实时滚动的第一步。如果你正在开发 zk-VM 或乐观 Rollup,并且有兴趣利用 Espresso Sequencer 来去中心化你的二层扩展解决方案,请通过 此处 与我们联系。

你可以访问我们的文档了解更多关于 Espresso Sequencer 的信息 here,我们将在接下来的几周内继续更新。

我们还有很多需要研究和构建的内容,欢迎社区的对话、反馈和合作。你会在 Twitter 线程的回复和 ETHResearch 等论坛的评论中看到我们讨论这一切及更多内容。请通过 DiscordTwitter 加入我们,讨论我们在这里提出的建议以及我们已经开始构建的系统。

感谢 Sreeram Kannan、Shea Ketsdever、Soubhik Deb、Quintus Kilbourn、Alejo Salles、Tarun Chitra、Jon Charbonneau、Dahlia Malkhi 和 Joseph Bonneau 的对话,这些对话促成了本文中许多想法和计划的形成,并提供了宝贵的反馈。


  1. 有一个公共内存池,但可能有多个私人内存池(例如,用于 MEV 拍卖和/或防止)。这一点后来会更详细地讨论。 ↩︎

  2. 数据可用性也可以作为独立功能分离,但考虑可用性和排序作为排序器提供的一项服务是自然的。 ↩︎

  3. 以太坊偏向于可用性,因此对交易不提供即时最终性。 ↩︎

  4. 我们确实使用委员会采样来提高我们的 DA 层的乐观性能,但在极端情况下并不依赖于它来保障安全。我们使用基于纠删码的 VID 在所有节点上传播数据。 ↩︎

  5. 任何自适应安全 BFT 共识协议的最坏情况下通信复杂度都是二次的。一些协议(如我们的)可能具有线性通信复杂度的乐观路径和具有二次复杂度的备份路径。其他协议则提前承担此成本,这可能具有减少最坏情况延迟等优势。 ↩︎

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

0 条评论

请先 登录 后评论