转发原文标题《We’re All Building the Same Thing》
这篇文章分析了以下内容
最后,也是最重要的,我们会明白为什么 我们都在建造同样的东西,所以也许我们应该…
我们将从基础开始,看看高性能区块链的最终结局(例如, Solana, Monad, @patrickogrady/rys8mdl5p#Mitigation-Strategy-Enable-Profit-Maximizing-Builders-to-Minimize-invalidTPS">HyperSDK) 接近于 惰性排序器 (例如, @astriaorg/HJ6cCpp9T">Astria)。稍后我们将完整地比较它们与基于以太坊的汇总+预配置。
区块链是 复制状态机。每个去中心化节点都保存并更新自己的系统状态副本。为了推进链,节点在当前状态+新输入(例如新交易)上运行状态转换函数(STF)。这会产生新的状态。
我们将在本节中使用以下术语:
让我们重点关注排序和执行,因为这些是计算链状态所需的核心子任务:
此外,节点在网络上验证和复制数据。节点达成共识以保持链的一致视图。
然而,不同的链架构在谁负责这些任务以及何时负责这些任务(例如,区块构建和验证可能包括也可能不包括执行)方面存在明显差异。全状态机复制(SMR)循环的端到端时间决定了系统延迟的下限。不同的结构会产生变化很大的时间,因此,要实现低延迟和高吞吐量性能,就必须有一个能有效地将这些任务流水线)化的 SMR 流程。
在接下来的章节中,我们将看到高效流水线技术的核心理念是,专注于就执行输入而非执行结果达成共识。这就需要放宽对可能包含哪些事务的某些限制。然后,我们还需要重新引入一些较弱的限制,以确保系统仍然有用,并能抵御攻击(例如,避免未支付费用的交易造成 DoS 向量)。
传统的 SMR(例如以太坊)将排序和执行紧密耦合。全节点持续排序并执行所有基础层交易——两者都是节点达成共识的先决条件。除了验证所有块数据是否可用(并已排序)之外,节点还必须执行块来验证:
验证者只有在独立验证了区块的状态后才会投票支持该区块并在其基础上进行构建。这意味着在达成共识之前至少执行两次(即,区块生产者在构建期间执行+接收验证器再次执行以进行验证)。
在这种传统模型中,构建和验证都包括执行。
来源: @patrickogrady/rys8mdl5p#Making-the-Case-for-Decoupled-State-Machine-Replication-DSMR">Vryx:强化解耦状态机复制
流式 SMR(例如 Solana)是一种高效的管道形式,其中 区块生产者不断地“传输”区块片段 (称为 碎片 或块)在构建时。其他节点不断接收并验证(包括执行)这些碎片,即使块的其余部分仍在构建中。这使得下一个领导者可以更快地开始构建他们的区块。
来源: @patrickogrady/rys8mdl5p#Making-the-Case-for-Decoupled-State-Machine-Replication-DSMR">Vryx:强化解耦状态机复制
在这个流模型中,构建和验证仍然包括排序和执行。相对于传统 SMR,这提高了 SMR 效率,同时又不放松所有包含的交易在语义和语法上均有效的约束。
综合方法
现在,如果我们放宽这些限制,我们是否可以获得更好的性能?
异步执行将执行从共识的热路径中删除——节点只是就数据的顺序达成共识,而无需首先执行该数据。这样效率更高,这就是为什么 Solana 和 Monad 两者都计划实现异步执行。
领导者将构建并复制一个块(或碎片),而无需执行它。然后,其他验证者也会对其进行投票,但也不执行它。节点仅就交易的顺序和可用性达成共识。这已经足够了,因为给定确定性 STF,每个人最终都会计算相同的状态。执行不需要保持共识——它可以异步运行。这可以打开节点的执行预算(让它们有更多的时间用于执行),同时减少达成共识所需的步骤(以及时间)。
顺序决定真相。执行只是揭示了这一点。 一旦订单最终确定,任何人都可以执行数据来揭示真相。
这也许就是 Keone 认为每个区块链最终都将使用异步执行的原因,也是 Toly 对 Solana 最终愿景的关键部分:
“同步执行要求所有投票和创建区块的节点都针对任何区块中最坏情况的执行时间进行超额配置……共识节点在投票前可以执行更少的工作。工作可以聚合和批处理,使其在没有任何影响的情况下高效执行。它甚至可以在与共识节点或领导者完全不同的机器上执行,希望同步执行的用户可以分配足够的硬件资源来实时执行每个状态转换,而无需等待网络的其余部分。
目前,验证器在每个块上尽可能快地重放所有事务,并且仅在计算出块的完整状态后才进行投票。该提案的目标是将分叉投票的决定与计算该区块的完整状态转换分开。”
值得注意的是,我们还希望确保向用户轻松揭露真相,这意味着对轻客户端的强大支持。其中一些设计会显着延迟执行,这将使这一过程变得具有挑战性(例如, Solana 考虑每个时期只需要一次)与其他提供较短延迟的状态根(例如,如 HyperSDK 中)相比。
模块化方法
排序和执行的解耦听起来可能非常熟悉,因为这也是“模块化”方法!混合并匹配专门处理不同任务的不同层。将排序和执行解耦是惰性排序器(例如 Astria)的关键设计原则:
这里的主要区别在于,集成的链节点在排序后执行,而惰性排序器将其推送给完全不同且多样化的参与者。惰性排序器完全不知道汇总的状态机。他们从不执行这些交易。 Rollups 处理异步执行。
集成式方法为执行环境的用户之间提供了更无缝的互操作性,但却定向降低了应用程序开发人员的灵活性(例如,自定义虚拟机、不同的插槽时间、共识强制执行的应用程序特定交易定价和订购规则等)。模块化方法为开发人员提供了更大的灵活性和主权,使他们可以拥有定制的域,但要统一它们之间的体验则比较困难。
无论哪种情况,我们都需要一个非常大且快速的数据排序管道:
但是,您应该注意,从技术上讲,您几乎可以使用 任何链条 作为一个惰性排序器。毕竟,这只是一个大数据管道。 Rollup 可以天真地将其任意数据扔到其选择的基础层(无论是以太坊、比特币、Monad 等)上,以隐式地将其用作排序器。然后,汇总节点可以在事后异步执行数据。
实践中的区别在于,我们实际上称为“惰性排序器”的链专门用于此任务,这说起来容易做起来难(例如,支持必要的交易类型、公开简单的接口、实现 MEV 基础设施、快速时隙时间、可靠的交易包含、高带宽等)。因此,集成链的节点最终会执行它们包含的大部分数据,而惰性排序器则主要将其留给汇总。
这就是为什么不能简单地说 “我们为什么不使用 Solana(或任何其他链,因为这从来不是我们的设计目标)作为 rollup 序列器呢?
现在,我们能否解决那些因放宽这些限制而产生的问题呢?简而言之,是的,天真的实现方式确实会带来一些问题,比如允许无法支付费用的无效交易(如果天真地实现,这将是 DoS 向量),但这些问题是可以解决的,因此并不严重。
我们在这里就不赘述了,不过关于如何解决这些问题,你可以参考 Patrick O’Grady 在 @patrickogrady/rys8mdl5p#Making-the-Case-for-Decoupled-State-Machine-Replication-DSMR">Vryx 上为强化解耦 SMR 所做的出色工作、Toly 的异步执行愿景以及 Monad 的负载成本实现。同样,这些问题的解决方案在模块化方面和集成化方面看起来几乎是一样的,这一点不足为奇。
TLDR 是,您可以重新引入一些较弱的约束(与具有完整验证的同步执行相比),这些约束保留了大部分性能优势,而不会留下一堆攻击。
重要的是,我们需要认识到,上述流程只考虑了协议内的参与者。实际上,协议外行为者在这些交易供应链中发挥着巨大作用。这就是我们之前在传统 SMR 中看到的(协议内)验证器:
来源: @patrickogrady/rys8mdl5p#Making-the-Case-for-Decoupled-State-Machine-Replication-DSMR">Vryx:强化解耦状态机复制
但实际上,几乎所有以太坊验证器都通过 MEV-Boost 外包区块构建,前三大构建器(Beaver、Titan 和 rsync)几乎构建了所有这些区块。请注意,Beaver 和 rsync 会审查 OFAC 交易,而 Titan 不会。
来源: mevboost.pics
中继负责将这些块复制到网络的其余部分。它们也相对繁重,排名前四的运营商(ultra sound、bloXroute、Agnostic 和 Flashbots)中继了绝大多数区块。 bloXroute 和 Flashbots 审查 OFAC 交易,而 Agnostic 和 ultra sound 则不然。
来源: mevboost.pics
同样不足为奇的是,我们在这里看到的延迟优化趋势与我们之前讨论的非常相似。现在的趋势是,乐观型中继网络不再在复制前执行区块验证,因为这样做更快。惰性排序器可被视为激励型中继网络。
这些例子凸显了 MEV 如何扭曲了这些系统中的利润激励机制。验证者将区块生产外包出去,因为相对于天真排序的区块,复杂的构建者能获取更多价值。
即使在异步执行的情况下,也经常会有协议外的区块生产者在构建过程中执行交易,以实现价值最大化。例如,懒排序器很可能会在某种形式的 PBS 中使用利润最大化的构建器。在我们放宽异步执行限制的情况下,外部区块生产者总是有动力完全执行并优化区块的价值,这一点实际上非常有用。尽管如此,其他验证器还是不需要在投票前重新执行。
现在,我们能否获得模块化链提供的主权和灵活性,但将它们重新组合起来,感觉像一个集成链?我们能否鱼与熊掌兼得,还是只是通过额外的步骤来构建 Solana?
当听到人们谈论如何解决 Rollup 碎片问题时,你可能已经听到了关于通用同步可组合性(USC)的热门话题。然而,这可能是你的反应:
这些术语都具有不同的含义,并且某些术语经常被错误地互换使用。我们需要制定一些具体的定义。我们在跨链可组合性的背景下定义了下面的必要术语。
请注意,我们将在本报告的其余部分讨论 “rollups”,但其中许多概念同样适用于其他类型的 “L2”,如 validiums。我只是不想再为 “什么是 L2 “争论不休了。
在以下示例中:
请注意,我们在这里将“时间”定义为“槽高度(slot hight)”。时间纯粹是相对于观察者而言的。我们拥有的唯一客观的时间概念是共享观察者的相对排序,即共享共识(其中“共识”可能是单个参与者或去中心化机制)。
如果两个滚动都有一个共识机制来提供排序,我们就可以断言:BA1 在 BA2 之前:
但是,断言
因此,跨链同步可组合性定义上需要某种类型的共享定序器来满足该时隙高度。没有链的链只能具有异步可组合性。
但是请注意,我们可以有 异步原子可组合性。不幸的是,我经常注意到人们互换使用“原子”和“同步”,但它们确实是不同的术语。
解决这个问题后,让我们看看是否可以将同步可组合性重新引入模块化链中。如果我们可以,那么这似乎会否定集成链的价值。这是我们将深入探讨的 TLDR:
共享排序意味着对于给定的槽高度,单个实体(“排序器”又名“提议者”)拥有对多个链进行排序(即提议区块)的垄断权。重申一下,我们通常谈论的这些共享测序仪是 惰性排序器。他们就汇总数据的排序和可用性达成共识,但并不执行。他们完全不了解汇总的状态机。
正如我之前写过的,这意味着惰性共享排序器可以提供包含跨链捆绑(即一组交易)的可信承诺:
这可以通过以下方式实现更高效的 MEV 提取: 超级建设者 (即跨链构建者)在执行跨链操作时,因为他们不再需要为跨链捆绑的一条腿可能失败的风险定价。这里的同步性能够隐式地为它们提供原子性。
现在,我们究竟该如何在不完全信任共享排序器的构建者和/或主动提议者的情况下做到这一点呢?如果我们只是为每个汇总发送两个独立签名的事务(T1 和 T2),共享排序器仍然可以决定只包含其中一个或另一个。
例如,现在的 EVM 中没有原生捆绑格式的概念,这就是为什么搜索者完全相信构建者/中继器不会将它们拆开的原因。任何人在当前领导者承诺之前看到一捆独立签名的交易,都可以将它们拆开。这通常没有问题,因为构建者和中继站有动力维护他们的声誉并保护搜索者的捆绑,但当这种信任被破坏时(或者他们被不诚实的参与者欺骗而泄露了交易),解绑就会带来惊人的利润。
如果我们想要真正的跨链互操作性,我们需要更强大的安全保障。我们谈论的不仅仅是从搜索者那里拿走一些钱。如果跨链 DeFi 合约的架构是基于跨链捆绑将受到尊重的假设,但随后这种信任被打破,那么对于这些协议来说,结果将是灾难性的(例如,在销毁和铸造跨链合约中)链桥捆绑包,您可以省略燃烧,但在另一侧铸造资金)。
我们需要铁定的安全保证来实现跨链互操作。这意味着我们必须定义一种交易格式,以确保跨链捆绑中的多个交易包含在一起。如果只包含其中一个而没有包含另一个,我们需要一种安全保证,确保所包含的那个是无效的。
这意味着我们需要为无法拆分的跨链捆绑创建一个新的交易结构。天真的解决方案是 “让我们为这些汇总创建一个新的交易类型”,但这并不容易。这就需要对这些汇总进行虚拟机更改,从而失去向后兼容性。此外,你还需要通过修改状态机将汇总紧密耦合在一起,这样每个交易只有在包含其他交易的情况下才有效。
但是,有一种更简便的方法可以做到这一点。您可以让捆绑包中的每笔交易也对捆绑包哈希进行签名,然后将哈希摘要附加到空闲交易字段(例如,EVM 中的 calldata)。 Rollup 必须修改其派生管道来检查这些,但 VM 可以保持不变。有了这个,汇总用户就可以提交他们确定无法拆分的跨链捆绑包。尝试这样做会使它们失效。
来源: Ben Fisch
包容性保证与状态保证
完成上述内容后,我们现在已经确定了惰性共享排序器如何:
遗憾的是,原子包含本身是一种弱得多的保证。对原子包含的承诺足以让构建者有足够的信心,相信他们构建的交叉卷积区块在得到确认后,会创建他们想要的结果状态。构建者必然知道代码块的结果状态,因为他们是通过执行代码块来构建代码块的。
但我们仍然有一个问题—其他人怎么能确切地知道状态会如何?
考虑一个例子:
如果我们提交了一个正确的捆绑包,那么惰性排序器就能保证烧毁事务包含在 RA 的事务流中,但你不知道比如是否有另一个事务落在它前面使它失效了(这意味着代币实际上并没有被烧毁)。
仅仅共享一个惰性序列器还不足以让链在捆绑执行期间访问彼此的状态。同步可组合性要求每个链的状态机都能在执行时访问其他链的状态(例如,RB 上的桥接合约本身需要知道 RA 的状态)。这种能力正是在单个集成链中实现完全可组合性的关键。
构建者不能只是告诉合约 “相信我,兄弟,一切都会解决的”。我们看到,对于那些相信构建者会正确执行其捆绑包的搜索者来说,原子包含是一个很好的工具,但它不足以抽象出跨链互操作性。
为了解决这个问题,除了共享排序之外,我们还需要添加一些其他机制:
正如我们所提到的,如果以原子方式包含包,则构建者个人知道结果状态将会是什么。那么,他们如何提供可信的承诺,让其他人相信,如果他们的交易被纳入其中,最终的状态将会是什么?
他们大致有两种选择:
让我们通过一个例子来了解加密经济学如何模拟同步可组合性的效果。最经典的例子是跨链闪电贷款。我想在 RA 上取出一笔闪贷,在 RB 上用来套利,然后在 RA 上归还,所有这些都在同一个时间段内完成。如果这些 DeFi 协议在每一方都部署了我们称之为 “银行合约 “的定制跨链功能,那么这就有可能实现:
现在要解决的是安全问题—RA 和 RB 上的合约需要知道彼此的链状态,才能安全地完成这项工作,但我们却没有采取任何措施来解决这个问题。这里的加密经济 “解决方案 “实际上是一种蛮力—让超级建设者充当流动性提供者,提供闪贷的全部价值。如果交易失败,那么借贷协议就会保留他们的股份。由此可见,这并不是最令人满意的 “解决方案”。
这是什么
AggLayer 是一种去中心化协议,具有三大优势:
来源: Brendan Farmer, 聚合区块链
澄清关于 AggLayer 的两个常见误解
现在让我们来看看它是如何工作的。
桥接很糟糕
如今,在汇总之间进行桥接非常糟糕。比方说,你想在 ORUA 和 ORUB 这两个 乐观型以太坊之间桥接 ETH:
您可能认为 ZK rollups 立即解决了这个问题,但实际上并没有。简单的实现仍然需要您提交 L1 交易,这又是昂贵的并且通常相当慢(例如,由于以太坊最终确定时间、证明生成时间、实践中发布证明的频率等)。
用户不想处理这个问题。他们只想拥有资金并使用应用程序。桥接应该完全抽象——资产应该是可替代的,并且可以快速、廉价且安全地转移。
这就是共享桥接合约的用武之地。共享桥接合约为链打开了大门,使用它可以直接在彼此之间桥接,而无需通过 L1。
因此,代币也可以在 AggChains 之间互换。将 ETH 从 RA → RB 或 RC → RB 进行桥接,可以烧制和铸造相同的代币。这不是锁定和铸币包装的资产。它是原生的 ETH。之所以能做到这一点,是因为所有资产都托管在一起,并通过统一桥接结算。这是目前 L2s 需要解决的一个主要痛点。
但是,请注意,如果不同的链使用不同的验证器,在 RA 和 RB 上持有 ETH 的用户可能会有不同的风险状况(例如,您可能从一个安全的链转移到一个存在电路错误的链)。在这里,使用通用标准的链之间的风险状况是不变的(这在实践中是目前的常态)。随着时间的推移,更统一的标准和形式化验证只会改善这一点,即使增加了异质领域。
悲观证明
AggChains 向 AggLayer 节点提交状态更新和证明,由 AggLayer 节点进行安排,生成对所有消息的承诺,并创建递归证明。然后,AggLayer 生成单个聚合 ZK 证明(他们称之为 “悲观证明“),将所有 AggChains 结算到以太坊。由于这里的证明聚合可以在任意多条链上摊销成本,因此从成本的角度来看,尽快将它们发布到以太坊进行快速结算是切实可行的。悲观证明程序是用普通 Rust 代码编写的,使用 Succinct 的 zkVM SP1,以方便开发和提高性能。
这些悲观的证明强制执行:
这样,AggLayer 就能确保在满足上述条件的情况下在以太坊上进行结算。如果不满足这些条件,则各链无法结算。因此,AggLayer 可以允许协调器(如共享定序器或构建器)在链间低延迟地传递消息,而无需信任协调器的安全性。
快速安全的跨链互操作性
AggChains 可以在异步和同步互操作性设置中使用此处提供的保证来表达相对于其他汇总的块有效性的约束。
这将使用户能够提交跨链捆绑包,该捆绑包必须在双方上以原子方式成功执行。不仅仅是原子包含。您实际上正在强制执行它们的结果状态必须成功。这是完美地补充了我们所描述的单独共享定序器的原子包含保证中所缺乏的内容。
来源: Brendan Farmer, 聚合区块链
以我们之前的例子为例:
要成功结算到以太坊,必须正确执行捆绑的两条腿。如果任何一方失败,那么区块将无效,无法结算。这就意味着,如果共享排序器在一个区块上签了字,但 ETH 并没有在 RA 上被烧毁,而是在 RB 上铸造了 ETH,那么该区块将被重新锻造。这样可以确保所有链的安全,防止不诚实的跨链行为被结算。
对于这些重组,有两点需要牢记:
由于上述原因,这些重构应该是极其罕见和微乎其微的,但正因为如此,AggChains 可以完全控制它们希望与哪些链进行原子组合,以及在何种信任假设下进行组合。例如,RA 可以接受来自 RB 的链状态,并根据其排序器的共识进行组合,但对于 RC,它可能还需要提交证明,而对于 RD,它们可能希望它们以加密经济的方式确保所有跨链原子依赖关系的安全。每条链都可以根据自己的需要,在低延迟和低延迟之间做出权衡。AggLayer 只是为链的安全跨链交互提供了最大程度的灵活性和最小程度的意见基础。
您还可以在此处了解为什么此类设计实际上与基于故障证明的设计不兼容。理论上他们可以做到这一点,但在这种情况下,就有可能经历令人难以置信的深度重组。快速证明和解决所有链可以将最坏的情况限制在非常短的时间内,这也对任何恶意尝试起到了天然的威慑作用。
异构证明者的故障隔离
重要的是,AggLayer 独特地支持完全异构的链。您可以拥有一个带有任何自定义 VM、证明者、DA 层等的 AggChain,同时与每个人安全地共享桥接器。
这怎么可能呢?这通常是不可接受的,因为一个有问题的参与者(如电路错误)通常就能骗过一座桥,耗尽桥上的所有资金。这就是上文提到的链间记账证明的作用所在。这些证明可确保桥接不变式都得到遵守,因此即使在证明者不健全的情况下,也只有存入受影响链的资金会被耗尽。故障被完全隔离。
可信的中立性
这种类型的基础设施极大地受益于可信的中立性,这就是为什么 AggLayer 的完全开源代码是中立的领域。 本着类似的精神,AggLayer 将使用 ETH 作为唯一的 Gas 代币来支付证明聚合费用。
但它当然并不完美。尤其是在一开始,它不会是完全可信的中立。合约可能会升级,最终实现不变性并成为公共物品。
话虽这么说,它不一定是完全可信的中立,没有什么是。 (我们将在下面通过基于汇总再次看到这一点。)在实践中,它提供了可能是最引人注目的技术竞争愿景,并且对锁定和租金提取采取了有意的极简主义态度。目标是让 AggChains 保持尽可能多的主权,同时仍然能够抽象出信任最小化的跨链可组合性。
AggChains 不需要任何特定的虚拟机、执行环境、排序器、DA 层、质押代币、gas 代币或共同治理。链条可以在需要时离开。没有收入分成要求。您不需要在其他链上部署为 L3。
在我看来,在普通 L2 的基础上推出 L3 的理由大多是在建立类似 AggLayer 的架构时的 “创可贴”。但要明确的是,这完全是今天推出 L3 的正当理由。AggLayer v1 只是一个简单的共享桥接合同。具有聚合证明和安全低延迟互操作能力的 v2 甚至还没有上线。你不能指望人们会等上几年,因为他们急需在今天发布一个能让他们最快发布的东西。
虽然在任何低延迟环境下都还需要几年时间才能实现,但我们应该注意到,实时证明也有可能与共享测序一起用于跨链安全。这也很酷,所以我们将简要介绍一下。更具体地说,”实时 “证明指的是证明时间短于相关链的插槽时间。让我们再来看看跨链铸币烧桥的例子:
我们已经有了共享定序器对同步原子包包含的保证,现在每个合约都可以验证另一个链的状态证明,以知道它将成功执行。
对于实时证明,我们理想地希望证明时间只是总时隙时间的一小部分,从而最大化“同步窗口”。这是您能够处理跨链同步操作的交易的那部分时隙时间,因为您需要在时隙中预算足够的时间来创建证明并将其置入区块中。
请注意,我们将隐式地最终在此处合并或并置构建器和证明器。建造者有明显的动机来优化证明速度,以便他们能够在最后一秒进行建造并尽可能地适应他们的区块。
如果这种对实时证明的高度激励确实在未来几年实现,我们还应该注意到,这当然对去中心化证明一点也不友好。证明者在与构建者合并或并置时需要相对集中。
通用同步可合成性确实很酷,但它的价值到底有多大还不是很清楚。互联网都是异步的,而你却不知道。这是因为它速度快,复杂性被抽象化了。这就是用户想要的。
我认为,使用 AggLayer 这样的东西的大部分价值不仅仅在于同步设置。相反,它可以作为一种跨rollup链抽象形式。通过面向用户的重要方面(如更多可替换的本地资产、本地跨链应用功能、快速互操作性等),让许多链感觉更像一个链。
同步可组合性显然具有金融价值(例如,允许清算、更高效的套利、使用闪贷进行更高效的再融资)。然而,就像互联网是异步的但运行良好一样,TradFi 当然也是异步的。希望比 TradFi 做得更好是合理的,但我们应该清楚,普遍的同步性并不是良好执行的必要条件。建设和提供同步基础设施也需要付出实际成本。
我个人认为,支持需要 USC 的最佳论据是,在实践中,它确实能带来更好的用户体验和 DevEx。我们无法否认这对 Solana 等生态系统的巨大好处。不过,希望这只是今天的问题,而不是永远的问题。
事实很简单,现阶段任何人都很难对其进行推理。这不是二元对立的 “加密技术一切都是同步的 “或 “一切都是异步的”。我认为我们从根本上需要解决并倾向于后者,但两者都可以临时存在。
好的,现在我们应该对解决汇总中的碎片问题的解决方案空间有一个很好的了解。下一个问题是我们应该如何让基础层参与到这一切中?以太坊在这里扮演什么角色?
我们将在全文中使用以下缩写:
除非另有说明,否则我们将讨论的相关基础架构(BL)是以太坊,BR 是以太坊 BR。不过,基本概念的适用范围很广,因为您可以在任何地方启动 BR。
几年前的初始 rollup 实现实际上计划成为 BRs,但由于低延迟和高效率而转而采用集中式排序器。当时 Vitalik 将我们现在称之为的基础排序称为“完全混乱”。在以太坊的 PBS 基础设施(带有复杂的构建者)发展之前,这种方法相对不切实际且低效。
BRs 随后在 2023 年 3 月重新进入公众视野,定义如下:
“当汇总的排序由基础 L1 驱动时,该汇总被称为基础或 L1 排序。更具体地说,一个基础汇总是指下一个 L1 提议者可以与 L1 搜索者和构建者合作,无需许可地将下一个汇总块作为下一个 L1 块的一部分包含在内。”
它们应提供以下好处:
“这种汇总的排序——基础排序——极其简单,并继承了 L1 的活性和去中心化。此外,基础汇总在经济上特别符合其基础 L1 的利益。”
“你继承了以太坊的审查阻力和活跃性。所以你不仅有以太坊的结算保证,而且还有审查阻力,实时的审查阻力,而不是你知道的逃生舱口延迟的,但实时的。”
“以太坊正在最大化这两个属性,即安全性和可信中立性,这几乎是汇总权利的定义……汇总是已经接受了以太坊安全假设的一种。你不会添加新的安全假设。你并没有陷入最薄弱的环节,你只是重复使用现有的安全假设,第二个是你已经接受以太坊作为一个可信的中立平台,否则你会选择另一个链,现在你可以问问自己为什么。大家不都用的是一层测序吗?”
以最简单的形式,BR 肯定可以实现上述设计目标。如果 rollup 没有实现自己的排序器,那么当前的以太坊提议者会隐式地决定每 12 秒(以太坊的时隙时间)包含哪些内容。
不过,基于序列的排序仍会带来一些折衷,这也正是为什么汇总通常会采用自己的排序器:
那么,我们能否鱼与熊掌兼得呢?进入 基于预配置。
我们将在这里相对简单地解释基于预配置背后的直觉,以便我们可以比较 BR + 预配置与传统汇总。稍后,我们将回来更详细、更普遍地进一步分析预配置(即以太坊 L1 交易上的 BR 预配置和 BL 预配置)。
核心思想是 BR 预配置必须来自 BL 提议者。为了提供预配置,这些提议者必须提供一些抵押品(例如,重新质押)并选择额外的削减条件(即,他们提供的预配置确实会按照承诺使其在链上)。任何愿意这样做的提议者都可以充当 BR 排序者并提供预配置。
我们应该注意到,提议者(即验证者)实际上应该将提供预配置的角色委托给更专业的实体(称为“网关”)。发出预配置需要一个相对复杂的实体,而以太坊希望让提议者保持简单。
然而,预计现有的中继也将接管这个角色。网关仅在用户和中继之间进行连接,因此添加另一个独立实体只会增加复杂性和延迟(尽管延迟也可以通过共置来解决)。中继已经受到构建者和提议者的信任,因此我们将在此处向用户添加另一个信任要求。
需要注意的是,虽然验证者目前是以太坊区块的提议者,但也有考虑进行升级,让协议本身通过执行拍卖直接拍卖提议权。这将允许复杂的实体直接购买提议权,从而避免验证者(当前的提议者)像这里所考虑的那样委托给他们。
无论如何,重要的一点是,任何比以太坊共识(12 秒)更快的预配置都需要一个可信第三方(TTP)。无论你的 TTP 是再质押验证器、质押执行拍卖赢家、委托网关还是其他什么,它从根本上无法提供实时的以太坊安全性。无论 Coinbase 是作为以太坊提议者向您提供 “基于预配置”,还是作为rollup排序器向您提供 “传统预配置”,您都是在信任 Coinbase。他们同样可以提供一些 ETH 的保证金,但无论哪种情况,这都与以太坊共识的安全性无关。
因此,我们应该注意到,任何基于预配置的设计都必然会偏离我们一开始提出的 BR 目标(简单性和 BL 安全性)。基于的预配置越来越复杂,而且无法提供以太坊的实时安全保证。
不过,如果这些前置协议脱机或开始审查,你应该保留直接通过 BL 交易强制交易的能力。当纳入列表实施后,以太坊的这些保证应该会变得更强。
对于 BR - TTP 提供快速预配置,BL 提供最终安全性。
现在让我们来考虑一个传统的(即非基于的)Rollup。它自己的排序器(无论是集中式的还是去中心化的)给予快速的预确认。之后,他们的用户会在延迟中获得完整的以太坊安全性。这包括通过某种强制包含或BL 回退机制来实现的活性(账本增长 + 抵抗审查)。
正如我在Rollups 是否继承安全性?中所指出的:
Rollups 能够暴露与其主链等价的确认规则安全属性。它们可以以其主链共识的速度(实际上通常会稍慢一些,具体取决于 Rollup 向主链发布的频率)接收这些属性。
Rollups 还可以提供一个“快乐路径”较松的确认规则(即排序器)以提高用户体验,但在发生故障时保留回退机制。如果你的排序器停止,你仍然可以继续运行。
请注意,这里的关键变量是最终安全性的时间:
假设 rollup 用户可以回退到与主链相同的活跃度,假设您可以完全以主链块的速度强制包含(例如,如果 rollup 排序器正在审查您,您可以强制将交易包含在主链中)下一个以太坊区块)。
在实践中,一般会有短暂的延迟。如果允许立即强制收录,就会暴露出有利可图的审查 MEV 以及其他复杂问题。不过,也有一些设计可以从主机链提供近乎实时的有效性保证(例如,可能以几个主机链区块的速度而不是一个区块的速度)。
本着这种精神,Sovereign Labs 的设计可以做到以下几点:
对于非 BR - TTP 提供快速预配置,BL 提供最终安全性。
正如我们所看到的,上述两条路径都会产生相同的有效结果:
这些带有预配置文件的 BR 不再提供以太坊的简单性或实时安全性。那么,现在这一切又有什么意义呢?我们为什么不加强 “传统 “ 汇总的回退呢?在这一点上,”based rollup “到底是什么?
这实际上又回到了我去年发表的《治理证明》(Proof of Governance)一文中,我在文中讨论了以太坊特定重构的基本用例:
1) 技术(提议者承诺)—这一点是绕不过去的—如果你想对以太坊区块的排序做出可信的承诺,那么它必须来自以太坊验证者。MEV-Boost++ 就是一个可以归入这一类的假设应用的例子。
2) 社交—我认为以太坊对齐是当今大多数重构应用的主要用例,而不是经济安全或去中心化的池化。它可以说:”看,我们是一个以太坊项目!” 这与链上的人不管架构如何,都自称以太坊 L2 的原因如出一辙。
我们可以把这个问题现代化,问一问 “BR + 预配置” 比 “传统汇总 + 快速回退 “有什么价值?
1)技术(提案者承诺) - 带有预配置的以太坊 BR 有一个基本的技术优势 - 它们可以从当前的以太坊提议者那里获得关于以太坊区块内容的包含和排序的可信承诺。出于同样的原因,这可能很有价值,我们可能希望一堆汇总共享一个排序器。如果 BL 提议者也是 BR 提议者(即排序器),那么它们可以为 BL 提供相同的原子包含保证,就像在共享排序器的任何汇总之间获得的那样。他们对这两条链都拥有垄断地位。现在,这有多有价值?我们稍后会回来讨论这一点。
2) 社会性(对齐/可信的中立性)—不管你喜欢还是讨厌,以太坊对齐都是成为 BR 的卖点。老实说,除了 “他们是 BR 的人 “之外,我对 Taiko 一无所知,如果他们不是 BR 的人,我可能也不知道他们是谁。每个人都希望有好的联合营销。在这里,先行者有先行者的价值,但我怀疑这不是一个持久的价值主张,也不会影响到未来许多潜在的 BR。同样,我们都听说过第一批 AVS,但你能说出目前所有 AVS 的名字吗?我不能。
在更高的级别上,您不会让所有以太坊汇总选择(假设的)“Optimism 共享排序器”或“Arbitrum 共享排序器”。不过,你有更好的机会让他们都选择加入“以太坊共享排序器”。没有新的代币,没有新的品牌,没有新的共识。如果您认为所有以太坊 L2 在排序上联合起来很有价值,那么这种可信的中立性可能是实现该目标的最强谢林点。
这种可信的中立性对于试图吸引跨生态系统用户(例如,具有 ENS 等基础设施的应用程序)的 Rollup 开发人员来说可能最有价值。如果乐观排序器会疏远 Arbitrum 用户,他们可能会犹豫是否使用,反之亦然。
我们将在下面更详细地介绍其中的每一个。
更从更深的社会角度来看,BR 通常被视为最大程度 “与以太坊保持一致 “的选择。暂且不谈任何人对此价值的判断,重要的一点是,这预示着任何 BR 设计都必须具有高度可信的中立性。
在虚构情况下,设计可信的中立 BR 是很容易的,但正如我们所指出的,没有人真正想要这样的 BR。因此,前置条件必然要求提议者选择附加的削减条件。这些额外的削减条件要求提议者使用一些额外的系统(例如,可能是 EigenLayer restaking、Symbiotic 或其他标准)来做出承诺。抽象地说,选择使用可信中立的 “以太坊排序器 “可能会让滚动项目感到满意,但如果你使用的是私人资助的项目,甚至可能有自己的代币,那么可信中立性很可能就会丧失。
这里有几个关于抵押品的悬而未决的问题:
抵押品大小
早期的设计假定,提议者个人必须提供 1000 个以太坊数量级的高额抵押。问题是,从根本上说,提议者可以随时违背其委托承诺,自行构建区块,在前置条件上含糊其辞。这可能非常有价值,而且 1000 ETH 远远超过了 MEV-Boost 自成立以来观察到的最高支付额。缺点是,这必然会对较小的提议者造成较高的准入门槛,而较大的提议者(如 Coinbase)则可以更合理地投入 1000 ETH,同时赚取其所有质押权重(> ETH 质押总额的 13%)的奖励,因为注册者可以为其所有验证者投入单一保证金。还有其他一些想法可以让提议者支付更少的保证金,当然这也是有代价的。这里的设计空间还不确定。
值得注意的是,执行拍卖可以减轻这种担忧,因为我们可以假设所有提议者都是成熟的行动者,很容易做到这一点。
来源: Barnabé Monnot,从 MEV-Boost 到 ePBS 再到 APS
然而,即使是大型运营商也不愿投入大量资金,因为潜在的活跃度问题会导致削减(运营商方面的活跃度故障,让我们的预配置在将其纳入区块之前就下降,这是一种安全故障对用户来说都是一样的,需要受到严厉的惩罚)。
抵押品类型
在这种情况下,普通的 ETH 可能是唯一可信的中性抵押品。然而,人们自然会希望使用资本效率更高的资产(例如 stETH)。有一些想法可以让承销商处理这种转换,如 mteam 在此处所述。
平台
如果“基于以太坊的预配置”更像“基于特征层的预配置”或“基于共生的预配置”,那么它就不会非常“可信中立”。有些团队正计划朝这个方向发展,但使用这样的平台并不是严格要求。可以创建一个通用且中立的标准供每个人使用,并且这样的系统似乎更适合普遍采用,作为最基本的选项。
基于预配置的设计需要采用公共利益标准,以实现“可信的中立”。
我们现在将更详细地介绍预配置。虽然我们之前讨论了特定类型的预配置(BR 状态预配置),但我们必须注意它们是一个完全通用的概念。除了 BR 之外,您还可以提供 BL 交易的预配置,并且可以提供不同强度的预配置:
后者(状态预配置)当然是用户希望他们的钱包向他们展示的内容:
我将 1 ETH 兑换为 4000 美元 USDC,并支付了 0.0001 ETH 费用
无包容预配置:
我尝试将 1 ETH 兑换为 4000 USDC 并支付最多 0.0001 ETH 费用的交易最终将登陆链上,但也许会成功,也许会失败,我们拭目以待
然而,我们应该注意到,在用户在非争议状态下执行操作的情况下,包含预配置可以与状态预配置有效地互换(例如,只有用户自己可以使交易无效的简单传输)。在这种情况下,“Alice 向 Bob 转账的 USDC 将包含在接下来的几个区块中”这样的承诺足以让钱包向用户显示“您已将 USDC 发送给 Bob”。
毫不奇怪,更强有力的承诺(状态预配置)更难获得。从根本上来说,他们需要一个 可信的承诺 来自当前垄断提议区块的实体(即链状态上的写锁)。在以太坊 L1 预配置的情况下,这始终是当前的以太坊 L1 提议者。在 BR 预配置的情况下,这可能是 BR 前瞻中的下一个以太坊 L1 提议者(从而使他们成为 BR 的当前提议者),正如我们将在下面看到的。提议者和排序者通常是可互换的术语,前者更常用于 L1 上下文,后者更常用于 L2 上下文。
我们需要做出的另一个重要区别是这些预配置涉及什么类型的状态:
预配置是对最终可能生成的块的限制。在其他条件相同的情况下,限制构建者的搜索空间本质上只会减少他们通过订购获得的潜在价值。这意味着返回给提议者的价值会减少。为了使其激励兼容,网关需要收取预配置费用 ≥ 由于限制结果而损失的潜在 MEV。
当 MEV 损失约为 0 时(例如,如 USDC 转账),这很简单。在这种情况下,收取一些象征性的固定费用可能是合理的。但我们有一个大问题—— 我们如何为有争议的国家定价?提前定价与及时定价似乎会花费更少。在其他条件相同的情况下,对于构建者来说,等到最后一秒捕获 MEV 并对其进行准确定价是最有利可图的。
让我们假设,用户对有争议状态的快速预配置有足够的需求(考虑到复杂的搜索者和普通用户),因此有时会出现对所有人都有利的结算价格。现在,你到底该如何为有争议状态的交易预认定定价,否则你可能会在接下来的 12 秒内的任何时刻将其包含在内,从而放弃更多的盈利机会,而这些机会将不再可能出现?
在整个区块中对有争议的状态进行预配置会与构建者创建区块的方式相冲突。要对前置条件进行准确定价,就必须实时估算现在加入前置条件而不是延迟加入前置条件的 MEV 影响,这意味着要执行并模拟可能出现的结果。这意味着网关现在需要成为一个高度复杂的搜索器/构建器。
我们已经假设网关和中继会合并。如果它们需要不断对预配置文件进行定价,那么它们也会与构建器合并。我们还认为 USC 会加速构建者和证明者的合并。执行拍卖似乎也会将证明人的权利直接出售给能够为其定价的成熟参与者(很可能是构建者)。
这就把整个以太坊 L1 和 BR 交易供应链放到了一个盒子里,这个盒子对这段时间内所有链的状态都有垄断性的写入锁。
预配置服务的排序策略尚不清楚(例如,它们是否始终运行 FCFS 还是以其他方式排序)。网关也有可能对所有预配置进行拍卖(例如,允许搜索者对预配置进行竞价),尽管尚不清楚这样的设计会是什么样子,并且这必然意味着更高的延迟。
预配置存在公平交换问题,网关实际上并没有直接激励释放预配置。
考虑以下示例:
在这种情况下,即使用户在时段结束时才收到预配置,他们最终还是要为预配置付费。网关也可以在时段结束时放弃预配置,如果他们认为包含预配置无利可图的话。网关的这种扣留行为并不是客观上可归咎的过失(但也可能是主观上可归咎的过失)。
事实上,网关将预置内容保留到最后是有动机的。哪里存在信息不对称,哪里就有 MEV。保持交易的私密性,可以让建设者对世界的现状有一个更及时的了解,从而更好地定价风险,捕捉 MEV。对于提供给用户的预配置文件集还没有达成共识,因此网关在此无法承担责任。
需要制定标准,并要求预配置者立即公开所有预配置。这样,用户就能立即得到他们想要的东西,其他人也能看到网关正在提供预期的服务。如果他们将来做不到这一点,那么用户就不会信任他们,也不会为预配置付费。网关的声誉是有价值的。话虽如此,但不诚实和违背预配置也是非常有价值的。
了解完一般预配置要点后,我们现在将讨论 L1 预配置的细微差别。虽然我们之前没有提到它们,但有一些项目正在构建它们,并且它们与 BR 预配置的交互非常重要。
例如, Bolt 就是这样一种协议,它希望让以太坊提议者对其区块内容做出可信的承诺。注册的提议者可以运行 Bolt 附属程序来接收用户的预配置请求,确认后将此信息发送给中继器和构建器,后者可以返回尊重这些约束条件的区块(即返回包含提议者给出预配置的交易的区块)。
这里需要注意的是 Bolt v1 这里描述的仅支持非争议状态的简单事务包含预配置,其中只有用户可以使预配置无效。正如我们之前讨论的,这些是最简单、最弱的承诺。
所有这些预会团队都有更大的野心(例如,状态预会、部分区块拍卖、时段或部分时段拍卖),那么是什么阻碍了他们呢?
MEV-Boost 是一种更简单的产品,具有多年的跟踪记录,运营利润惊人,其参与率大于 92%(由于不考虑最低出价,参与率可能更高一些)。一项新的会前服务的参与率肯定会低得多。但即使能达到 90% 左右,这对普通用户来说似乎也不是什么有用的产品。你不能在 10% 的情况下告诉用户 “哦,抱歉,现在没有预配置文件可用,请稍后再查看”。
充其量,这感觉就像状态预设只是一个可选的工具,适用于复杂的搜索者和交易者,他们可能希望在区块中较早的时候获得承诺,而那个时段恰好有提议者选择加入。这可能是有价值的,但这里没有碎片化或用户体验解锁。
BR 预配置必须来自 BL 提议者(这也是他们 “基于 “的原因)。这要求他们抵押一些抵押品并选择额外的削减条件(即他们提供的预配置确实会按照承诺将其放在链上)。任何愿意这样做的提议者都可以充当 BR 排序者并提供预配置。
重要的是,这些预配置文件是状态预配置文件,而不仅仅是包含的预配置文件。之所以能做到这一点,是因为区块链正在选择一种设计,让注册成为网关的 BL 提议者轮流垄断排序器。
如今,一个以太坊验证者充当每个槽的提议者,并且当前时期和下一个时期的提议者时间表始终是已知的。一个纪元有 32 个时隙,因此我们总是知道给定时间接下来的 32-64 个提议者。该设计的工作原理是授予下一个活动定序器(即,前瞻中的下一个排序器)垄断权力来对选择加入此预配置系统的 BR 的交易进行排序。网关必须签名才能推进 BR 链的状态。
请注意,每个提议者(即使是那些没有选择成为网关的提议者)都有权利但没有义务包含由排序者(即那些选择成为网关的提议者)给予预确认的事务。只要他们拥有在此之前已预先确认的交易的完整列表,他们就可以充当包含者(排序者可以创建一个包含 BR 交易的 BL blob,并对其说三道四)。
交易流程如下:
如果其他包含者不包含预配置,那么提供它们的排序者可以在轮到他们作为 BL 提议者时将它们简单地包含在链上。例如,在上图中,假设插槽 n 包含器决定不包含插槽 n+1 定序器给出的预配置。然后,时隙 n+1 定序器将负责在提交 n+1 的 BL 块时,包含它在时隙 n 和时隙 n+1 期间给出的所有预配置。这使得定序器可以自信地给出他们和最后一个定序器是谁之间的整个时间段的预配置。
为了简化上面的解释,我们假设 L1 提议者将履行这个预授予角色。但如前所述,情况不太可能是这样。它将需要一个复杂的实体来对预配置进行定价,为所有 BR 运行完整节点,为所有 BR 交易提供 DoS 保护和足够的带宽等。以太坊希望让验证器保持非常简单,因此提议者可能会将预配置外包给另一个实体与他们今天通过 MEV-Boost 外包全部 L1 区块生产的方式大致相同。
提议者可以通过链上或链下机制委托给网关,这可以一直完成,直到他们的插槽之前。如前所述,该角色实际上很可能由中继接替。他们也可能需要与构建者合并。
如前所述,在给定时间只能委托一个实体作为网关。这是提供可靠的状态预配置所必需的。 UI(例如 MetaMask 等钱包)会查找下一个网关是谁,然后将用户交易发送到那里。
在具备了足够的背景知识后,我们应该将以太坊的Rollup方案建立在什么基础上呢?这里实际上包含了两个内在的问题:
首先,需要注意的是,您可以临时与其他链共享排序器。例如,如果以太坊提议者出价最高,他们可能会为你排序一个区块,然后其他一些 BFT 共识如果他们出价最高,可能会为你排序下一个区块。然而,这仍然需要一条链完全选择这种可以与其他链同步运行的统一共享拍卖,因此在控制和灵活性(例如共享区块时间)方面仍然存在权衡。只是获胜的排序器实体可以转移。
无论如何,我们假设满足条件 1。我认为目前我们有令人信服的证据表明存在足够的需求来使用去中心化共享排序器。即使他们不太关心“共享方面”,我认为能够购买现成的去中心化排序器即服务具有令人难以置信的高价值(事实上,我认为这是这里最大的价值)。
现在,这个共享排序器应该是基于以太坊的排序器吗?
技术上(提案者承诺)
我没有看到使用基于以太坊的排序器的强有力的技术论据。 BR 和以太坊 L1 之间的任何互操作性都将受到极大的限制,因为无法针对 L1 可靠地执行(即,在 L1 状态上不一致地具有写锁)、较长的区块时间(12 秒)以及 BR 交易如果确实希望与 L1 交互,则必须与其一起重组。这里没有免费的午餐。与任何其他外部共享定序器相比,这不会解锁任何有价值的面向用户的产品。
我看到的主要价值是,将以太坊 L1 添加到这个更大的组合拍卖中可能会产生更高的总价值,并且 让L1捕获更多价值。把这个逻辑推向极端,我们或许应该把世界上的一切都放在同一个拍卖中。这次全球拍卖还应该对 Taylor Swift 演唱会门票进行排序。我还没有完全做到这一点。
这只是为了强调,创建和选择每个人参与这个共享拍卖存在真正的技术和社会复杂性,它具有实际成本,在我看来,这可能超过这里创造的任何理论上的附加价值。如果我们不尝试将其捆绑在以太坊 L1 之上(例如,为此目的构建一个简单的快速共识机制),您可以轻松地构建一个更好的技术设计来从第一原理运行它。更不用说这样的组合拍卖会导致复杂性呈指数级增长。
在实践中,对我来说存在一些有意义的风险,这实际上可能对以太坊产生严重的反作用,因为当以太坊的供应链已经有些脆弱时,这种基于预配置的架构似乎对 MEV 基础设施有潜在的加速作用。这可能会危及网络的去中心化和审查制度的抵抗力——而这正是网络的价值所在。
社会性上(可信中立)
我确实看到了基于以太坊的排序器的有效社会论据。
如前所述,毫无疑问,“对齐”是对最初 BR 的卖点。很好,但我认为这种情况不会持续下去。成为第一个 BR 很酷,成为第八个就不酷了。需要有一些其他的附加值。
我认为,基于以太坊的排序器的可信中立性正是其潜在价值所在。至少,这可能是支持这种设计的最有力论据。有很多链都想获得现成的去中心化排序器。如果我们最终能在此基础上设计出足够的基础设施,从而改善跨链用户体验,那就更好了。不过,在那些想要这样设计的项目中,我想他们中的很多人都不愿与任何第三方协议 “选边站”。如前所述,想象一下,你是一个拥有 ENS 等基本通用基础设施的应用链,你想要一个汇总。你不想选择(假设的)Arbitrum 共享排序器,却把Optimism的人群拒之门外,反之亦然
解决社会协调问题的唯一办法可能就是建立一个可信的中立共享排序器,而以太坊显然是这种排序器的最佳候选者。请注意,这就更加强调了我前面提到的关于可信中立性的观点—如果这是这种服务的主要附加值,那么这一定是创建这种服务的一个极其优先的设计目标。如果它看起来像是某个有自己盈利动机的第三方协议的宠物项目,那它就不会成功。它必须是以太坊共享排序器。
值得注意的是,也有合理的批评认为这里的“中立”是“以太坊”的代号。也就是说,其主要动机是使以太坊及其周边基础设施受益。当然,这样的系统将使这些各方受益。这将意味着 ETH 资产获得更多价值,并为以太坊建设者、中继者和搜索者带来更多盈利。
我们现在应该明白,您可以在像以太坊这样的慢速 BL 上拥有 BR,您可以添加可信预配置以实现更快的用户体验,甚至可以通过加密经济或加密保证来确保跨链移动时的安全。
如前所述,如果我们从头开始设计这个东西会怎么样?无需处理现有连锁店的技术债务和决策。构建这个东西的明显方法是什么……
之前,我们讨论了成为具有给定 BL(例如以太坊)预配置的 BR 的唯一技术原因是,其提议者有时可以提供有关与 BL 同步原子包含的可信承诺。
然而,我们并没有认真讨论在没有预置的情况下成为 BR 的能力。我们基本上把它扔到了窗外,因为以太坊很慢而且用户不耐烦。
那么为什么我们不直接使用快速的 BL 来作为 BR 呢?
这几乎解决了我们之前遇到的所有复杂的边缘情况和问题。我们不希望出现奇怪的边缘情况,即网关出现活跃故障(这与此处的安全故障具有相同的结果),我们不希望它们退出承诺的预配置(即安全故障),并且我们不希望以太坊重组。这正是共识存在的原因。
大多数关于惰性排序器的讨论都将它们视为汇总排序器,然后将其数据转储到其他 DA 层。例如,Astria 的前两个汇总(Forma 和 Flame)将使用 Celestia 作为他们的 DA 层。 Astria 的共识将对这些汇总进行排序,然后将其数据转发给 Celestia。
这种组合是一个特别好的组合,因为它们是明显的补充 - Astria 提供所有测序基础设施,而 Celestia 通过以下方式提供信任最小化验证 数据可用性抽样 (DAS)。
然而,Astria 也可以类似地用于对以太坊、比特币、Solana 或任何其他你想要的东西原生的汇总进行排序。例如,它甚至可以设置为用作以太坊“带有预配置的 BR”的预配置(例如,代替集中式网关,因为惰性排序器基本上只是一个激励和去中心化的中继)。
但要明确的是, 每一条链都是一个 DA 层。全节点始终可以检查 DA。数据可用是任何链有效性条件的一部分,因此共识总是签署数据可用。检查其签核的轻节点会得到诚实的多数假设。唯一的区别是,链是否为轻客户端提供了另一种选择,可以直接为 DA 采样,而不是询问共识。
然而,正如我在 Rollup 会继承安全性吗?一文中指出,像Astria这样的快链可以在技术上为DAS添加一条慢速路径(以提高可验证性),而像Celestia这样的慢链可以为测序添加一条快速路径(具有多数信任假设并且没有DAS),即所谓的“快块慢方(fast block slow squares))”。
对排序层或 DAS 等专业层进行垂直整合将进一步缩小模块区块链与整合区块链之间的区别。这同样适用于通过向 Celestia 基础层添加 ZK 校验器账户对结算层进行垂直整合。
然而,将这些服务分开而不是捆绑在一起具有有意义的价值。这是一种模块化方法,允许汇总选择他们想要的现成功能(例如,我想购买带有快速块的去中心化测序,但我不想为 DAS 付费,反之亦然)。研究人员已经表明他们想要 DAS,但到目前为止,用户表明他们只想要快速的区块。
捆绑服务如“快块慢方“会非常固执己见和集成。这必然会增加复杂性和成本。时隙长度对计时游戏的影响(从而可能去中心化)也是一个考虑因素,而计时游戏现在在以太坊上非常普遍。
但您也可以仅使用 Astria 作为汇总的 BL。 共享测序仪可以被认为是针对自己的 BR 进行优化的 BL。
当您的 BL 速度很快时,您的 BR 不需要预配置,因为它只需开箱即可获得快速确认!然后你的 rollup 实际上就获得了 BL 的实时安全性,这与 BR + preconfs 不同,后者必然会失去这一点。
事实上,没有预配置的 BR 是构建汇总最合乎逻辑的方式。这就是为什么今天的汇总都从这里开始:
很明显,具有快速区块的 BL 可以解决我们在 “基于汇总+预配置 “中遇到的大部分问题。共享排序器的构建自然更多地从 “嘿,应用开发者只想启动一个快速、可靠和去中心化的链—我该如何给他们提供这样的链呢?”的第一原则出发。试图在以太坊这样较慢的基础层上事后添加前置条件,会导致上文所述的复杂性。
因此,我们了解了如何将模块化链重新聚合在一起,从而提供通用同步可组合性 (USC)。当然存在权衡,但它们确实重新引入了有意义的统一程度,同时保留了比使用单个状态机更大的灵活性。对我来说,还有一个非常令人信服的案例:异步可组合性是我们绝大多数用例所需要的。我们需要低延迟、性能和良好的用户体验。互联网是异步的,它的工作原理非常好,将所有这些都抽象出来。可组合性是加密货币的巨大附加值,但可组合性≠同步。
抛开灵活性和主权利益不谈,大多数人都会同意我们最终将需要许多连锁店来扩大规模。这意味着我们最终会得到许多需要统一的系统,因此模块化方向是不可避免的。
现在,让我们比较一下终局。特别是,我们将比较 Solana 的终局与以太坊的终局,如果它走上这条通过基于汇总 + 预配置来最大化统一和用户体验的道路。
在这个愿景中,我们有很多使用基于以太坊的排序器的 BR。网关以低延迟不断地将提议者承诺的(即没有任何共识权重)预配置传输给用户,然后以太坊提议者每隔一段时间将它们提交到一个完整的块中。这听起来可能很熟悉,因为这几乎就是我们之前为 Solana 所描述的碎片流!
那么,这只是一个更复杂的 Solana 吗?这里最大的区别在于时隙:
以太坊试图将其添加到慢速链之上,乍一看显然存在问题:
所有这些都可以通过快速达成共识来解决。所有这些系统实际上都是我们创建 BFT 系统的首要原因。那么为什么以太坊不应该让其共识进展得更快呢?具有超低延迟基础层块时间是否存在一些不太明显的权衡?
幸运的是,除了写一篇关于较短的出块时间是否有益的文章之外,我没有什么更好的事情可做。对较短时隙时间的最大担忧与验证者和操作员的集中化有关。具体来说,人们担心短时隙与计时游戏:
我们已经看到计时游戏在以太坊上取得了进展。提案者会在他们的时段稍后提出区块,以牺牲其他人的利益为代价赚取更多的钱。继电器还提供“计时游戏即服务“他们同样延迟了插槽中稍后的块:
来源: Data Always
在几周前臭名昭著的 Justin vs. Toly Bankless 播客中,计时游戏是一个热门话题:
例如,假设您比其他人快 100 毫秒
如果你有1s槽位,你可以比其他人多赚10%
如果你有10s的槽位,你就可以比其他人多赚1%
— 乔恩·夏博诺 (@jon_charb) 2024 年 6 月 4 日
贾斯汀主要认为,计时游戏将是一个问题,增量奖励始终是相关的。托利主要认为,计时游戏不会成为问题,并且从额外的 MEV 提取中获得的增量奖励不足以令人担忧。
我个人发现很难忽视计时游戏的重要性:
我显然认为 Solana 和以太坊所采取的方向都具有巨大的价值。如果不出意外的话,我们将看到这一切在实践中发挥作用。从战略上讲,我也认为以太坊有必要研究它的不同之处。最大限度地去中心化,作为在对抗性环境下实现审查制度抵抗的手段。以太坊为了保持令人难以置信的去中心化协议做出了很多牺牲,因为这是长期游戏的必要条件。它具有无与伦比的客户多样性、网络所有权分布、生态系统利益相关者、运营商去中心化等等。如果(并且很可能何时)Solana 在未来面临严重的审查压力,那么以太坊做出这些决定的原因将变得越来越明显。
Preconf.wtf 上周刚刚在 Zuberlin 举行,也许毫不奇怪,每个人都在谈论预会议和基于汇总的讨论。这一切都很酷。但我个人认为Vitalik 的演讲关于每个验证者一个比特的包含列表和 Barnabé 的演讲关于重载执行提议者(从 MEV-Boost 到 ePBS 到 APS)对以太坊的未来最为重要。
来源: Barnabé Monnot, 从 MEV-Boost 到 ePBS 再到 APS
最近,关于预配置(preconf)和基于滚动配置(rollup)的讨论开始升温,而我肯定还是比较谨慎的。Vitalik 提出了以下著名的 终局 观点:
然而,我们已经深入到了 “中心化生产 “阶段,却还没有实施更强有力的反审查保护措施,比如纳入列表。基本上,以太坊在下面这张图的最下面一行中占了一半。(我之所以说一半,是因为审查制度实际上并不是非黑即白的,以太坊只有 “弱审查制度”,也就是说,大部分区块都会被审查,但不是所有区块都会被审查,所以你可能只需稍等片刻,但随后你就会被收录):
来源: 治理证明(Proof of Governance)
根据经验,以太坊 L1 MEV 供应链目前实时审查的区块数量比任何具有集中排序器的 L2 供应链都要多。
L2已经可以得到L1了 最终的 CR(仍然非常好)没有基础。基于预配置没有得到 实时安全 通过以太坊协议,他们获得了周围少数相对集中的基础设施提供商的实时安全性。 为了获得更好的实时 CR,最好的选择可能是将测序外包给运行简单 BFT 共识的某种类型的去中心化测序器。这将比将许多链集中到当前相对集中的瓶颈中更加稳健。这种情况可能会随着执行拍卖和包含列表等变化而有所改善,但这并不是马上就能实现的。
考虑到所有这些,我不清楚扩大对以太坊 L1 的 MEV 基础设施的依赖,然后将其巩固为 L2 的基础设施是一个好主意,因为现阶段只有少数人构建和中继所有以太坊区块,其中大部分是以太坊的区块。如今的无审查区块依赖于单一构建器(Titan),并且尚未在协议中实现任何 CR 工具。这让人感觉在一个脆弱的地方积极加速。以太坊当然应该致力于改善 L2 的用户体验,但不能以牺牲我们最初想要的所有底层属性为代价。
我们都在建造同样的东西。
嗯,有点像。显然,这些东西实际上并不完全相同。这些系统之间总会存在实际差异。然而,加密领域的总体大趋势是,我们都在趋向于越来越相似的架构。
它们之间的细微技术差异实际上会对它们的最终结果产生重大影响,即使它们趋向于类似的最终状态,我们也不能低估路径依赖在这些系统中所起的重要作用。
此外,理解这些东西也非常困难。正如 Vitalik 所说:
“我对 APS 的一个警告是,从纯技术角度来看,我认为它相当轻量,我们完全能够以极小的技术错误概率来实现……但从经济角度来看,出错的机会要大得多……
就像 EIP-1559 我们能够通过理论来解决。我们参加了一些很棒的经济学会议,了解了第一价格拍卖的风险以及它们的糟糕之处,并且发现第二价格拍卖不可信,然后发现嘿,让我们使用在每个区块内局部固定价格的机制,通过微观经济学我们能够做很多事情。
但 APS 不是这样的。问题是 APS 是否会导致 Citadel、Jane Street、Justin Sun 或其他人生产 1% 还是 99% 的以太坊区块,这个问题从基本原理上来说非常困难,可能不可能解决。
所以我现在想看到的是实际实验……对我个人而言,从今天到我对 APS 感到非常舒适的变化基本上是 APS 在一个具有中等价值、活跃度、社区和实际争论的以太坊 L2 上成功运行一年,可能更长时间,并且我们能够看到一些实际效果。”
所以是的,我也不知道会发生什么。我们只能拭目以待。无论如何,当我们都趋向于这个最终状态时,我们有更多的共同点,而不是差异,所以让我们确保……
转发原文标题《We’re All Building the Same Thing》
这篇文章分析了以下内容
最后,也是最重要的,我们会明白为什么 我们都在建造同样的东西,所以也许我们应该…
我们将从基础开始,看看高性能区块链的最终结局(例如, Solana, Monad, @patrickogrady/rys8mdl5p#Mitigation-Strategy-Enable-Profit-Maximizing-Builders-to-Minimize-invalidTPS">HyperSDK) 接近于 惰性排序器 (例如, @astriaorg/HJ6cCpp9T">Astria)。稍后我们将完整地比较它们与基于以太坊的汇总+预配置。
区块链是 复制状态机。每个去中心化节点都保存并更新自己的系统状态副本。为了推进链,节点在当前状态+新输入(例如新交易)上运行状态转换函数(STF)。这会产生新的状态。
我们将在本节中使用以下术语:
让我们重点关注排序和执行,因为这些是计算链状态所需的核心子任务:
此外,节点在网络上验证和复制数据。节点达成共识以保持链的一致视图。
然而,不同的链架构在谁负责这些任务以及何时负责这些任务(例如,区块构建和验证可能包括也可能不包括执行)方面存在明显差异。全状态机复制(SMR)循环的端到端时间决定了系统延迟的下限。不同的结构会产生变化很大的时间,因此,要实现低延迟和高吞吐量性能,就必须有一个能有效地将这些任务流水线)化的 SMR 流程。
在接下来的章节中,我们将看到高效流水线技术的核心理念是,专注于就执行输入而非执行结果达成共识。这就需要放宽对可能包含哪些事务的某些限制。然后,我们还需要重新引入一些较弱的限制,以确保系统仍然有用,并能抵御攻击(例如,避免未支付费用的交易造成 DoS 向量)。
传统的 SMR(例如以太坊)将排序和执行紧密耦合。全节点持续排序并执行所有基础层交易——两者都是节点达成共识的先决条件。除了验证所有块数据是否可用(并已排序)之外,节点还必须执行块来验证:
验证者只有在独立验证了区块的状态后才会投票支持该区块并在其基础上进行构建。这意味着在达成共识之前至少执行两次(即,区块生产者在构建期间执行+接收验证器再次执行以进行验证)。
在这种传统模型中,构建和验证都包括执行。
来源: @patrickogrady/rys8mdl5p#Making-the-Case-for-Decoupled-State-Machine-Replication-DSMR">Vryx:强化解耦状态机复制
流式 SMR(例如 Solana)是一种高效的管道形式,其中 区块生产者不断地“传输”区块片段 (称为 碎片 或块)在构建时。其他节点不断接收并验证(包括执行)这些碎片,即使块的其余部分仍在构建中。这使得下一个领导者可以更快地开始构建他们的区块。
来源: @patrickogrady/rys8mdl5p#Making-the-Case-for-Decoupled-State-Machine-Replication-DSMR">Vryx:强化解耦状态机复制
在这个流模型中,构建和验证仍然包括排序和执行。相对于传统 SMR,这提高了 SMR 效率,同时又不放松所有包含的交易在语义和语法上均有效的约束。
综合方法
现在,如果我们放宽这些限制,我们是否可以获得更好的性能?
异步执行将执行从共识的热路径中删除——节点只是就数据的顺序达成共识,而无需首先执行该数据。这样效率更高,这就是为什么 Solana 和 Monad 两者都计划实现异步执行。
领导者将构建并复制一个块(或碎片),而无需执行它。然后,其他验证者也会对其进行投票,但也不执行它。节点仅就交易的顺序和可用性达成共识。这已经足够了,因为给定确定性 STF,每个人最终都会计算相同的状态。执行不需要保持共识——它可以异步运行。这可以打开节点的执行预算(让它们有更多的时间用于执行),同时减少达成共识所需的步骤(以及时间)。
顺序决定真相。执行只是揭示了这一点。 一旦订单最终确定,任何人都可以执行数据来揭示真相。
这也许就是 Keone 认为每个区块链最终都将使用异步执行的原因,也是 Toly 对 Solana 最终愿景的关键部分:
“同步执行要求所有投票和创建区块的节点都针对任何区块中最坏情况的执行时间进行超额配置……共识节点在投票前可以执行更少的工作。工作可以聚合和批处理,使其在没有任何影响的情况下高效执行。它甚至可以在与共识节点或领导者完全不同的机器上执行,希望同步执行的用户可以分配足够的硬件资源来实时执行每个状态转换,而无需等待网络的其余部分。
目前,验证器在每个块上尽可能快地重放所有事务,并且仅在计算出块的完整状态后才进行投票。该提案的目标是将分叉投票的决定与计算该区块的完整状态转换分开。”
值得注意的是,我们还希望确保向用户轻松揭露真相,这意味着对轻客户端的强大支持。其中一些设计会显着延迟执行,这将使这一过程变得具有挑战性(例如, Solana 考虑每个时期只需要一次)与其他提供较短延迟的状态根(例如,如 HyperSDK 中)相比。
模块化方法
排序和执行的解耦听起来可能非常熟悉,因为这也是“模块化”方法!混合并匹配专门处理不同任务的不同层。将排序和执行解耦是惰性排序器(例如 Astria)的关键设计原则:
这里的主要区别在于,集成的链节点在排序后执行,而惰性排序器将其推送给完全不同且多样化的参与者。惰性排序器完全不知道汇总的状态机。他们从不执行这些交易。 Rollups 处理异步执行。
集成式方法为执行环境的用户之间提供了更无缝的互操作性,但却定向降低了应用程序开发人员的灵活性(例如,自定义虚拟机、不同的插槽时间、共识强制执行的应用程序特定交易定价和订购规则等)。模块化方法为开发人员提供了更大的灵活性和主权,使他们可以拥有定制的域,但要统一它们之间的体验则比较困难。
无论哪种情况,我们都需要一个非常大且快速的数据排序管道:
但是,您应该注意,从技术上讲,您几乎可以使用 任何链条 作为一个惰性排序器。毕竟,这只是一个大数据管道。 Rollup 可以天真地将其任意数据扔到其选择的基础层(无论是以太坊、比特币、Monad 等)上,以隐式地将其用作排序器。然后,汇总节点可以在事后异步执行数据。
实践中的区别在于,我们实际上称为“惰性排序器”的链专门用于此任务,这说起来容易做起来难(例如,支持必要的交易类型、公开简单的接口、实现 MEV 基础设施、快速时隙时间、可靠的交易包含、高带宽等)。因此,集成链的节点最终会执行它们包含的大部分数据,而惰性排序器则主要将其留给汇总。
这就是为什么不能简单地说 “我们为什么不使用 Solana(或任何其他链,因为这从来不是我们的设计目标)作为 rollup 序列器呢?
现在,我们能否解决那些因放宽这些限制而产生的问题呢?简而言之,是的,天真的实现方式确实会带来一些问题,比如允许无法支付费用的无效交易(如果天真地实现,这将是 DoS 向量),但这些问题是可以解决的,因此并不严重。
我们在这里就不赘述了,不过关于如何解决这些问题,你可以参考 Patrick O’Grady 在 @patrickogrady/rys8mdl5p#Making-the-Case-for-Decoupled-State-Machine-Replication-DSMR">Vryx 上为强化解耦 SMR 所做的出色工作、Toly 的异步执行愿景以及 Monad 的负载成本实现。同样,这些问题的解决方案在模块化方面和集成化方面看起来几乎是一样的,这一点不足为奇。
TLDR 是,您可以重新引入一些较弱的约束(与具有完整验证的同步执行相比),这些约束保留了大部分性能优势,而不会留下一堆攻击。
重要的是,我们需要认识到,上述流程只考虑了协议内的参与者。实际上,协议外行为者在这些交易供应链中发挥着巨大作用。这就是我们之前在传统 SMR 中看到的(协议内)验证器:
来源: @patrickogrady/rys8mdl5p#Making-the-Case-for-Decoupled-State-Machine-Replication-DSMR">Vryx:强化解耦状态机复制
但实际上,几乎所有以太坊验证器都通过 MEV-Boost 外包区块构建,前三大构建器(Beaver、Titan 和 rsync)几乎构建了所有这些区块。请注意,Beaver 和 rsync 会审查 OFAC 交易,而 Titan 不会。
来源: mevboost.pics
中继负责将这些块复制到网络的其余部分。它们也相对繁重,排名前四的运营商(ultra sound、bloXroute、Agnostic 和 Flashbots)中继了绝大多数区块。 bloXroute 和 Flashbots 审查 OFAC 交易,而 Agnostic 和 ultra sound 则不然。
来源: mevboost.pics
同样不足为奇的是,我们在这里看到的延迟优化趋势与我们之前讨论的非常相似。现在的趋势是,乐观型中继网络不再在复制前执行区块验证,因为这样做更快。惰性排序器可被视为激励型中继网络。
这些例子凸显了 MEV 如何扭曲了这些系统中的利润激励机制。验证者将区块生产外包出去,因为相对于天真排序的区块,复杂的构建者能获取更多价值。
即使在异步执行的情况下,也经常会有协议外的区块生产者在构建过程中执行交易,以实现价值最大化。例如,懒排序器很可能会在某种形式的 PBS 中使用利润最大化的构建器。在我们放宽异步执行限制的情况下,外部区块生产者总是有动力完全执行并优化区块的价值,这一点实际上非常有用。尽管如此,其他验证器还是不需要在投票前重新执行。
现在,我们能否获得模块化链提供的主权和灵活性,但将它们重新组合起来,感觉像一个集成链?我们能否鱼与熊掌兼得,还是只是通过额外的步骤来构建 Solana?
当听到人们谈论如何解决 Rollup 碎片问题时,你可能已经听到了关于通用同步可组合性(USC)的热门话题。然而,这可能是你的反应:
这些术语都具有不同的含义,并且某些术语经常被错误地互换使用。我们需要制定一些具体的定义。我们在跨链可组合性的背景下定义了下面的必要术语。
请注意,我们将在本报告的其余部分讨论 “rollups”,但其中许多概念同样适用于其他类型的 “L2”,如 validiums。我只是不想再为 “什么是 L2 “争论不休了。
在以下示例中:
请注意,我们在这里将“时间”定义为“槽高度(slot hight)”。时间纯粹是相对于观察者而言的。我们拥有的唯一客观的时间概念是共享观察者的相对排序,即共享共识(其中“共识”可能是单个参与者或去中心化机制)。
如果两个滚动都有一个共识机制来提供排序,我们就可以断言:BA1 在 BA2 之前:
但是,断言
因此,跨链同步可组合性定义上需要某种类型的共享定序器来满足该时隙高度。没有链的链只能具有异步可组合性。
但是请注意,我们可以有 异步原子可组合性。不幸的是,我经常注意到人们互换使用“原子”和“同步”,但它们确实是不同的术语。
解决这个问题后,让我们看看是否可以将同步可组合性重新引入模块化链中。如果我们可以,那么这似乎会否定集成链的价值。这是我们将深入探讨的 TLDR:
共享排序意味着对于给定的槽高度,单个实体(“排序器”又名“提议者”)拥有对多个链进行排序(即提议区块)的垄断权。重申一下,我们通常谈论的这些共享测序仪是 惰性排序器。他们就汇总数据的排序和可用性达成共识,但并不执行。他们完全不了解汇总的状态机。
正如我之前写过的,这意味着惰性共享排序器可以提供包含跨链捆绑(即一组交易)的可信承诺:
这可以通过以下方式实现更高效的 MEV 提取: 超级建设者 (即跨链构建者)在执行跨链操作时,因为他们不再需要为跨链捆绑的一条腿可能失败的风险定价。这里的同步性能够隐式地为它们提供原子性。
现在,我们究竟该如何在不完全信任共享排序器的构建者和/或主动提议者的情况下做到这一点呢?如果我们只是为每个汇总发送两个独立签名的事务(T1 和 T2),共享排序器仍然可以决定只包含其中一个或另一个。
例如,现在的 EVM 中没有原生捆绑格式的概念,这就是为什么搜索者完全相信构建者/中继器不会将它们拆开的原因。任何人在当前领导者承诺之前看到一捆独立签名的交易,都可以将它们拆开。这通常没有问题,因为构建者和中继站有动力维护他们的声誉并保护搜索者的捆绑,但当这种信任被破坏时(或者他们被不诚实的参与者欺骗而泄露了交易),解绑就会带来惊人的利润。
如果我们想要真正的跨链互操作性,我们需要更强大的安全保障。我们谈论的不仅仅是从搜索者那里拿走一些钱。如果跨链 DeFi 合约的架构是基于跨链捆绑将受到尊重的假设,但随后这种信任被打破,那么对于这些协议来说,结果将是灾难性的(例如,在销毁和铸造跨链合约中)链桥捆绑包,您可以省略燃烧,但在另一侧铸造资金)。
我们需要铁定的安全保证来实现跨链互操作。这意味着我们必须定义一种交易格式,以确保跨链捆绑中的多个交易包含在一起。如果只包含其中一个而没有包含另一个,我们需要一种安全保证,确保所包含的那个是无效的。
这意味着我们需要为无法拆分的跨链捆绑创建一个新的交易结构。天真的解决方案是 “让我们为这些汇总创建一个新的交易类型”,但这并不容易。这就需要对这些汇总进行虚拟机更改,从而失去向后兼容性。此外,你还需要通过修改状态机将汇总紧密耦合在一起,这样每个交易只有在包含其他交易的情况下才有效。
但是,有一种更简便的方法可以做到这一点。您可以让捆绑包中的每笔交易也对捆绑包哈希进行签名,然后将哈希摘要附加到空闲交易字段(例如,EVM 中的 calldata)。 Rollup 必须修改其派生管道来检查这些,但 VM 可以保持不变。有了这个,汇总用户就可以提交他们确定无法拆分的跨链捆绑包。尝试这样做会使它们失效。
来源: Ben Fisch
包容性保证与状态保证
完成上述内容后,我们现在已经确定了惰性共享排序器如何:
遗憾的是,原子包含本身是一种弱得多的保证。对原子包含的承诺足以让构建者有足够的信心,相信他们构建的交叉卷积区块在得到确认后,会创建他们想要的结果状态。构建者必然知道代码块的结果状态,因为他们是通过执行代码块来构建代码块的。
但我们仍然有一个问题—其他人怎么能确切地知道状态会如何?
考虑一个例子:
如果我们提交了一个正确的捆绑包,那么惰性排序器就能保证烧毁事务包含在 RA 的事务流中,但你不知道比如是否有另一个事务落在它前面使它失效了(这意味着代币实际上并没有被烧毁)。
仅仅共享一个惰性序列器还不足以让链在捆绑执行期间访问彼此的状态。同步可组合性要求每个链的状态机都能在执行时访问其他链的状态(例如,RB 上的桥接合约本身需要知道 RA 的状态)。这种能力正是在单个集成链中实现完全可组合性的关键。
构建者不能只是告诉合约 “相信我,兄弟,一切都会解决的”。我们看到,对于那些相信构建者会正确执行其捆绑包的搜索者来说,原子包含是一个很好的工具,但它不足以抽象出跨链互操作性。
为了解决这个问题,除了共享排序之外,我们还需要添加一些其他机制:
正如我们所提到的,如果以原子方式包含包,则构建者个人知道结果状态将会是什么。那么,他们如何提供可信的承诺,让其他人相信,如果他们的交易被纳入其中,最终的状态将会是什么?
他们大致有两种选择:
让我们通过一个例子来了解加密经济学如何模拟同步可组合性的效果。最经典的例子是跨链闪电贷款。我想在 RA 上取出一笔闪贷,在 RB 上用来套利,然后在 RA 上归还,所有这些都在同一个时间段内完成。如果这些 DeFi 协议在每一方都部署了我们称之为 “银行合约 “的定制跨链功能,那么这就有可能实现:
现在要解决的是安全问题—RA 和 RB 上的合约需要知道彼此的链状态,才能安全地完成这项工作,但我们却没有采取任何措施来解决这个问题。这里的加密经济 “解决方案 “实际上是一种蛮力—让超级建设者充当流动性提供者,提供闪贷的全部价值。如果交易失败,那么借贷协议就会保留他们的股份。由此可见,这并不是最令人满意的 “解决方案”。
这是什么
AggLayer 是一种去中心化协议,具有三大优势:
来源: Brendan Farmer, 聚合区块链
澄清关于 AggLayer 的两个常见误解
现在让我们来看看它是如何工作的。
桥接很糟糕
如今,在汇总之间进行桥接非常糟糕。比方说,你想在 ORUA 和 ORUB 这两个 乐观型以太坊之间桥接 ETH:
您可能认为 ZK rollups 立即解决了这个问题,但实际上并没有。简单的实现仍然需要您提交 L1 交易,这又是昂贵的并且通常相当慢(例如,由于以太坊最终确定时间、证明生成时间、实践中发布证明的频率等)。
用户不想处理这个问题。他们只想拥有资金并使用应用程序。桥接应该完全抽象——资产应该是可替代的,并且可以快速、廉价且安全地转移。
这就是共享桥接合约的用武之地。共享桥接合约为链打开了大门,使用它可以直接在彼此之间桥接,而无需通过 L1。
因此,代币也可以在 AggChains 之间互换。将 ETH 从 RA → RB 或 RC → RB 进行桥接,可以烧制和铸造相同的代币。这不是锁定和铸币包装的资产。它是原生的 ETH。之所以能做到这一点,是因为所有资产都托管在一起,并通过统一桥接结算。这是目前 L2s 需要解决的一个主要痛点。
但是,请注意,如果不同的链使用不同的验证器,在 RA 和 RB 上持有 ETH 的用户可能会有不同的风险状况(例如,您可能从一个安全的链转移到一个存在电路错误的链)。在这里,使用通用标准的链之间的风险状况是不变的(这在实践中是目前的常态)。随着时间的推移,更统一的标准和形式化验证只会改善这一点,即使增加了异质领域。
悲观证明
AggChains 向 AggLayer 节点提交状态更新和证明,由 AggLayer 节点进行安排,生成对所有消息的承诺,并创建递归证明。然后,AggLayer 生成单个聚合 ZK 证明(他们称之为 “悲观证明“),将所有 AggChains 结算到以太坊。由于这里的证明聚合可以在任意多条链上摊销成本,因此从成本的角度来看,尽快将它们发布到以太坊进行快速结算是切实可行的。悲观证明程序是用普通 Rust 代码编写的,使用 Succinct 的 zkVM SP1,以方便开发和提高性能。
这些悲观的证明强制执行:
这样,AggLayer 就能确保在满足上述条件的情况下在以太坊上进行结算。如果不满足这些条件,则各链无法结算。因此,AggLayer 可以允许协调器(如共享定序器或构建器)在链间低延迟地传递消息,而无需信任协调器的安全性。
快速安全的跨链互操作性
AggChains 可以在异步和同步互操作性设置中使用此处提供的保证来表达相对于其他汇总的块有效性的约束。
这将使用户能够提交跨链捆绑包,该捆绑包必须在双方上以原子方式成功执行。不仅仅是原子包含。您实际上正在强制执行它们的结果状态必须成功。这是完美地补充了我们所描述的单独共享定序器的原子包含保证中所缺乏的内容。
来源: Brendan Farmer, 聚合区块链
以我们之前的例子为例:
要成功结算到以太坊,必须正确执行捆绑的两条腿。如果任何一方失败,那么区块将无效,无法结算。这就意味着,如果共享排序器在一个区块上签了字,但 ETH 并没有在 RA 上被烧毁,而是在 RB 上铸造了 ETH,那么该区块将被重新锻造。这样可以确保所有链的安全,防止不诚实的跨链行为被结算。
对于这些重组,有两点需要牢记:
由于上述原因,这些重构应该是极其罕见和微乎其微的,但正因为如此,AggChains 可以完全控制它们希望与哪些链进行原子组合,以及在何种信任假设下进行组合。例如,RA 可以接受来自 RB 的链状态,并根据其排序器的共识进行组合,但对于 RC,它可能还需要提交证明,而对于 RD,它们可能希望它们以加密经济的方式确保所有跨链原子依赖关系的安全。每条链都可以根据自己的需要,在低延迟和低延迟之间做出权衡。AggLayer 只是为链的安全跨链交互提供了最大程度的灵活性和最小程度的意见基础。
您还可以在此处了解为什么此类设计实际上与基于故障证明的设计不兼容。理论上他们可以做到这一点,但在这种情况下,就有可能经历令人难以置信的深度重组。快速证明和解决所有链可以将最坏的情况限制在非常短的时间内,这也对任何恶意尝试起到了天然的威慑作用。
异构证明者的故障隔离
重要的是,AggLayer 独特地支持完全异构的链。您可以拥有一个带有任何自定义 VM、证明者、DA 层等的 AggChain,同时与每个人安全地共享桥接器。
这怎么可能呢?这通常是不可接受的,因为一个有问题的参与者(如电路错误)通常就能骗过一座桥,耗尽桥上的所有资金。这就是上文提到的链间记账证明的作用所在。这些证明可确保桥接不变式都得到遵守,因此即使在证明者不健全的情况下,也只有存入受影响链的资金会被耗尽。故障被完全隔离。
可信的中立性
这种类型的基础设施极大地受益于可信的中立性,这就是为什么 AggLayer 的完全开源代码是中立的领域。 本着类似的精神,AggLayer 将使用 ETH 作为唯一的 Gas 代币来支付证明聚合费用。
但它当然并不完美。尤其是在一开始,它不会是完全可信的中立。合约可能会升级,最终实现不变性并成为公共物品。
话虽这么说,它不一定是完全可信的中立,没有什么是。 (我们将在下面通过基于汇总再次看到这一点。)在实践中,它提供了可能是最引人注目的技术竞争愿景,并且对锁定和租金提取采取了有意的极简主义态度。目标是让 AggChains 保持尽可能多的主权,同时仍然能够抽象出信任最小化的跨链可组合性。
AggChains 不需要任何特定的虚拟机、执行环境、排序器、DA 层、质押代币、gas 代币或共同治理。链条可以在需要时离开。没有收入分成要求。您不需要在其他链上部署为 L3。
在我看来,在普通 L2 的基础上推出 L3 的理由大多是在建立类似 AggLayer 的架构时的 “创可贴”。但要明确的是,这完全是今天推出 L3 的正当理由。AggLayer v1 只是一个简单的共享桥接合同。具有聚合证明和安全低延迟互操作能力的 v2 甚至还没有上线。你不能指望人们会等上几年,因为他们急需在今天发布一个能让他们最快发布的东西。
虽然在任何低延迟环境下都还需要几年时间才能实现,但我们应该注意到,实时证明也有可能与共享测序一起用于跨链安全。这也很酷,所以我们将简要介绍一下。更具体地说,”实时 “证明指的是证明时间短于相关链的插槽时间。让我们再来看看跨链铸币烧桥的例子:
我们已经有了共享定序器对同步原子包包含的保证,现在每个合约都可以验证另一个链的状态证明,以知道它将成功执行。
对于实时证明,我们理想地希望证明时间只是总时隙时间的一小部分,从而最大化“同步窗口”。这是您能够处理跨链同步操作的交易的那部分时隙时间,因为您需要在时隙中预算足够的时间来创建证明并将其置入区块中。
请注意,我们将隐式地最终在此处合并或并置构建器和证明器。建造者有明显的动机来优化证明速度,以便他们能够在最后一秒进行建造并尽可能地适应他们的区块。
如果这种对实时证明的高度激励确实在未来几年实现,我们还应该注意到,这当然对去中心化证明一点也不友好。证明者在与构建者合并或并置时需要相对集中。
通用同步可合成性确实很酷,但它的价值到底有多大还不是很清楚。互联网都是异步的,而你却不知道。这是因为它速度快,复杂性被抽象化了。这就是用户想要的。
我认为,使用 AggLayer 这样的东西的大部分价值不仅仅在于同步设置。相反,它可以作为一种跨rollup链抽象形式。通过面向用户的重要方面(如更多可替换的本地资产、本地跨链应用功能、快速互操作性等),让许多链感觉更像一个链。
同步可组合性显然具有金融价值(例如,允许清算、更高效的套利、使用闪贷进行更高效的再融资)。然而,就像互联网是异步的但运行良好一样,TradFi 当然也是异步的。希望比 TradFi 做得更好是合理的,但我们应该清楚,普遍的同步性并不是良好执行的必要条件。建设和提供同步基础设施也需要付出实际成本。
我个人认为,支持需要 USC 的最佳论据是,在实践中,它确实能带来更好的用户体验和 DevEx。我们无法否认这对 Solana 等生态系统的巨大好处。不过,希望这只是今天的问题,而不是永远的问题。
事实很简单,现阶段任何人都很难对其进行推理。这不是二元对立的 “加密技术一切都是同步的 “或 “一切都是异步的”。我认为我们从根本上需要解决并倾向于后者,但两者都可以临时存在。
好的,现在我们应该对解决汇总中的碎片问题的解决方案空间有一个很好的了解。下一个问题是我们应该如何让基础层参与到这一切中?以太坊在这里扮演什么角色?
我们将在全文中使用以下缩写:
除非另有说明,否则我们将讨论的相关基础架构(BL)是以太坊,BR 是以太坊 BR。不过,基本概念的适用范围很广,因为您可以在任何地方启动 BR。
几年前的初始 rollup 实现实际上计划成为 BRs,但由于低延迟和高效率而转而采用集中式排序器。当时 Vitalik 将我们现在称之为的基础排序称为“完全混乱”。在以太坊的 PBS 基础设施(带有复杂的构建者)发展之前,这种方法相对不切实际且低效。
BRs 随后在 2023 年 3 月重新进入公众视野,定义如下:
“当汇总的排序由基础 L1 驱动时,该汇总被称为基础或 L1 排序。更具体地说,一个基础汇总是指下一个 L1 提议者可以与 L1 搜索者和构建者合作,无需许可地将下一个汇总块作为下一个 L1 块的一部分包含在内。”
它们应提供以下好处:
“这种汇总的排序——基础排序——极其简单,并继承了 L1 的活性和去中心化。此外,基础汇总在经济上特别符合其基础 L1 的利益。”
“你继承了以太坊的审查阻力和活跃性。所以你不仅有以太坊的结算保证,而且还有审查阻力,实时的审查阻力,而不是你知道的逃生舱口延迟的,但实时的。”
“以太坊正在最大化这两个属性,即安全性和可信中立性,这几乎是汇总权利的定义……汇总是已经接受了以太坊安全假设的一种。你不会添加新的安全假设。你并没有陷入最薄弱的环节,你只是重复使用现有的安全假设,第二个是你已经接受以太坊作为一个可信的中立平台,否则你会选择另一个链,现在你可以问问自己为什么。大家不都用的是一层测序吗?”
以最简单的形式,BR 肯定可以实现上述设计目标。如果 rollup 没有实现自己的排序器,那么当前的以太坊提议者会隐式地决定每 12 秒(以太坊的时隙时间)包含哪些内容。
不过,基于序列的排序仍会带来一些折衷,这也正是为什么汇总通常会采用自己的排序器:
那么,我们能否鱼与熊掌兼得呢?进入 基于预配置。
我们将在这里相对简单地解释基于预配置背后的直觉,以便我们可以比较 BR + 预配置与传统汇总。稍后,我们将回来更详细、更普遍地进一步分析预配置(即以太坊 L1 交易上的 BR 预配置和 BL 预配置)。
核心思想是 BR 预配置必须来自 BL 提议者。为了提供预配置,这些提议者必须提供一些抵押品(例如,重新质押)并选择额外的削减条件(即,他们提供的预配置确实会按照承诺使其在链上)。任何愿意这样做的提议者都可以充当 BR 排序者并提供预配置。
我们应该注意到,提议者(即验证者)实际上应该将提供预配置的角色委托给更专业的实体(称为“网关”)。发出预配置需要一个相对复杂的实体,而以太坊希望让提议者保持简单。
然而,预计现有的中继也将接管这个角色。网关仅在用户和中继之间进行连接,因此添加另一个独立实体只会增加复杂性和延迟(尽管延迟也可以通过共置来解决)。中继已经受到构建者和提议者的信任,因此我们将在此处向用户添加另一个信任要求。
需要注意的是,虽然验证者目前是以太坊区块的提议者,但也有考虑进行升级,让协议本身通过执行拍卖直接拍卖提议权。这将允许复杂的实体直接购买提议权,从而避免验证者(当前的提议者)像这里所考虑的那样委托给他们。
无论如何,重要的一点是,任何比以太坊共识(12 秒)更快的预配置都需要一个可信第三方(TTP)。无论你的 TTP 是再质押验证器、质押执行拍卖赢家、委托网关还是其他什么,它从根本上无法提供实时的以太坊安全性。无论 Coinbase 是作为以太坊提议者向您提供 “基于预配置”,还是作为rollup排序器向您提供 “传统预配置”,您都是在信任 Coinbase。他们同样可以提供一些 ETH 的保证金,但无论哪种情况,这都与以太坊共识的安全性无关。
因此,我们应该注意到,任何基于预配置的设计都必然会偏离我们一开始提出的 BR 目标(简单性和 BL 安全性)。基于的预配置越来越复杂,而且无法提供以太坊的实时安全保证。
不过,如果这些前置协议脱机或开始审查,你应该保留直接通过 BL 交易强制交易的能力。当纳入列表实施后,以太坊的这些保证应该会变得更强。
对于 BR - TTP 提供快速预配置,BL 提供最终安全性。
现在让我们来考虑一个传统的(即非基于的)Rollup。它自己的排序器(无论是集中式的还是去中心化的)给予快速的预确认。之后,他们的用户会在延迟中获得完整的以太坊安全性。这包括通过某种强制包含或BL 回退机制来实现的活性(账本增长 + 抵抗审查)。
正如我在Rollups 是否继承安全性?中所指出的:
Rollups 能够暴露与其主链等价的确认规则安全属性。它们可以以其主链共识的速度(实际上通常会稍慢一些,具体取决于 Rollup 向主链发布的频率)接收这些属性。
Rollups 还可以提供一个“快乐路径”较松的确认规则(即排序器)以提高用户体验,但在发生故障时保留回退机制。如果你的排序器停止,你仍然可以继续运行。
请注意,这里的关键变量是最终安全性的时间:
假设 rollup 用户可以回退到与主链相同的活跃度,假设您可以完全以主链块的速度强制包含(例如,如果 rollup 排序器正在审查您,您可以强制将交易包含在主链中)下一个以太坊区块)。
在实践中,一般会有短暂的延迟。如果允许立即强制收录,就会暴露出有利可图的审查 MEV 以及其他复杂问题。不过,也有一些设计可以从主机链提供近乎实时的有效性保证(例如,可能以几个主机链区块的速度而不是一个区块的速度)。
本着这种精神,Sovereign Labs 的设计可以做到以下几点:
对于非 BR - TTP 提供快速预配置,BL 提供最终安全性。
正如我们所看到的,上述两条路径都会产生相同的有效结果:
这些带有预配置文件的 BR 不再提供以太坊的简单性或实时安全性。那么,现在这一切又有什么意义呢?我们为什么不加强 “传统 “ 汇总的回退呢?在这一点上,”based rollup “到底是什么?
这实际上又回到了我去年发表的《治理证明》(Proof of Governance)一文中,我在文中讨论了以太坊特定重构的基本用例:
1) 技术(提议者承诺)—这一点是绕不过去的—如果你想对以太坊区块的排序做出可信的承诺,那么它必须来自以太坊验证者。MEV-Boost++ 就是一个可以归入这一类的假设应用的例子。
2) 社交—我认为以太坊对齐是当今大多数重构应用的主要用例,而不是经济安全或去中心化的池化。它可以说:”看,我们是一个以太坊项目!” 这与链上的人不管架构如何,都自称以太坊 L2 的原因如出一辙。
我们可以把这个问题现代化,问一问 “BR + 预配置” 比 “传统汇总 + 快速回退 “有什么价值?
1)技术(提案者承诺) - 带有预配置的以太坊 BR 有一个基本的技术优势 - 它们可以从当前的以太坊提议者那里获得关于以太坊区块内容的包含和排序的可信承诺。出于同样的原因,这可能很有价值,我们可能希望一堆汇总共享一个排序器。如果 BL 提议者也是 BR 提议者(即排序器),那么它们可以为 BL 提供相同的原子包含保证,就像在共享排序器的任何汇总之间获得的那样。他们对这两条链都拥有垄断地位。现在,这有多有价值?我们稍后会回来讨论这一点。
2) 社会性(对齐/可信的中立性)—不管你喜欢还是讨厌,以太坊对齐都是成为 BR 的卖点。老实说,除了 “他们是 BR 的人 “之外,我对 Taiko 一无所知,如果他们不是 BR 的人,我可能也不知道他们是谁。每个人都希望有好的联合营销。在这里,先行者有先行者的价值,但我怀疑这不是一个持久的价值主张,也不会影响到未来许多潜在的 BR。同样,我们都听说过第一批 AVS,但你能说出目前所有 AVS 的名字吗?我不能。
在更高的级别上,您不会让所有以太坊汇总选择(假设的)“Optimism 共享排序器”或“Arbitrum 共享排序器”。不过,你有更好的机会让他们都选择加入“以太坊共享排序器”。没有新的代币,没有新的品牌,没有新的共识。如果您认为所有以太坊 L2 在排序上联合起来很有价值,那么这种可信的中立性可能是实现该目标的最强谢林点。
这种可信的中立性对于试图吸引跨生态系统用户(例如,具有 ENS 等基础设施的应用程序)的 Rollup 开发人员来说可能最有价值。如果乐观排序器会疏远 Arbitrum 用户,他们可能会犹豫是否使用,反之亦然。
我们将在下面更详细地介绍其中的每一个。
更从更深的社会角度来看,BR 通常被视为最大程度 “与以太坊保持一致 “的选择。暂且不谈任何人对此价值的判断,重要的一点是,这预示着任何 BR 设计都必须具有高度可信的中立性。
在虚构情况下,设计可信的中立 BR 是很容易的,但正如我们所指出的,没有人真正想要这样的 BR。因此,前置条件必然要求提议者选择附加的削减条件。这些额外的削减条件要求提议者使用一些额外的系统(例如,可能是 EigenLayer restaking、Symbiotic 或其他标准)来做出承诺。抽象地说,选择使用可信中立的 “以太坊排序器 “可能会让滚动项目感到满意,但如果你使用的是私人资助的项目,甚至可能有自己的代币,那么可信中立性很可能就会丧失。
这里有几个关于抵押品的悬而未决的问题:
抵押品大小
早期的设计假定,提议者个人必须提供 1000 个以太坊数量级的高额抵押。问题是,从根本上说,提议者可以随时违背其委托承诺,自行构建区块,在前置条件上含糊其辞。这可能非常有价值,而且 1000 ETH 远远超过了 MEV-Boost 自成立以来观察到的最高支付额。缺点是,这必然会对较小的提议者造成较高的准入门槛,而较大的提议者(如 Coinbase)则可以更合理地投入 1000 ETH,同时赚取其所有质押权重(> ETH 质押总额的 13%)的奖励,因为注册者可以为其所有验证者投入单一保证金。还有其他一些想法可以让提议者支付更少的保证金,当然这也是有代价的。这里的设计空间还不确定。
值得注意的是,执行拍卖可以减轻这种担忧,因为我们可以假设所有提议者都是成熟的行动者,很容易做到这一点。
来源: Barnabé Monnot,从 MEV-Boost 到 ePBS 再到 APS
然而,即使是大型运营商也不愿投入大量资金,因为潜在的活跃度问题会导致削减(运营商方面的活跃度故障,让我们的预配置在将其纳入区块之前就下降,这是一种安全故障对用户来说都是一样的,需要受到严厉的惩罚)。
抵押品类型
在这种情况下,普通的 ETH 可能是唯一可信的中性抵押品。然而,人们自然会希望使用资本效率更高的资产(例如 stETH)。有一些想法可以让承销商处理这种转换,如 mteam 在此处所述。
平台
如果“基于以太坊的预配置”更像“基于特征层的预配置”或“基于共生的预配置”,那么它就不会非常“可信中立”。有些团队正计划朝这个方向发展,但使用这样的平台并不是严格要求。可以创建一个通用且中立的标准供每个人使用,并且这样的系统似乎更适合普遍采用,作为最基本的选项。
基于预配置的设计需要采用公共利益标准,以实现“可信的中立”。
我们现在将更详细地介绍预配置。虽然我们之前讨论了特定类型的预配置(BR 状态预配置),但我们必须注意它们是一个完全通用的概念。除了 BR 之外,您还可以提供 BL 交易的预配置,并且可以提供不同强度的预配置:
后者(状态预配置)当然是用户希望他们的钱包向他们展示的内容:
我将 1 ETH 兑换为 4000 美元 USDC,并支付了 0.0001 ETH 费用
无包容预配置:
我尝试将 1 ETH 兑换为 4000 USDC 并支付最多 0.0001 ETH 费用的交易最终将登陆链上,但也许会成功,也许会失败,我们拭目以待
然而,我们应该注意到,在用户在非争议状态下执行操作的情况下,包含预配置可以与状态预配置有效地互换(例如,只有用户自己可以使交易无效的简单传输)。在这种情况下,“Alice 向 Bob 转账的 USDC 将包含在接下来的几个区块中”这样的承诺足以让钱包向用户显示“您已将 USDC 发送给 Bob”。
毫不奇怪,更强有力的承诺(状态预配置)更难获得。从根本上来说,他们需要一个 可信的承诺 来自当前垄断提议区块的实体(即链状态上的写锁)。在以太坊 L1 预配置的情况下,这始终是当前的以太坊 L1 提议者。在 BR 预配置的情况下,这可能是 BR 前瞻中的下一个以太坊 L1 提议者(从而使他们成为 BR 的当前提议者),正如我们将在下面看到的。提议者和排序者通常是可互换的术语,前者更常用于 L1 上下文,后者更常用于 L2 上下文。
我们需要做出的另一个重要区别是这些预配置涉及什么类型的状态:
预配置是对最终可能生成的块的限制。在其他条件相同的情况下,限制构建者的搜索空间本质上只会减少他们通过订购获得的潜在价值。这意味着返回给提议者的价值会减少。为了使其激励兼容,网关需要收取预配置费用 ≥ 由于限制结果而损失的潜在 MEV。
当 MEV 损失约为 0 时(例如,如 USDC 转账),这很简单。在这种情况下,收取一些象征性的固定费用可能是合理的。但我们有一个大问题—— 我们如何为有争议的国家定价?提前定价与及时定价似乎会花费更少。在其他条件相同的情况下,对于构建者来说,等到最后一秒捕获 MEV 并对其进行准确定价是最有利可图的。
让我们假设,用户对有争议状态的快速预配置有足够的需求(考虑到复杂的搜索者和普通用户),因此有时会出现对所有人都有利的结算价格。现在,你到底该如何为有争议状态的交易预认定定价,否则你可能会在接下来的 12 秒内的任何时刻将其包含在内,从而放弃更多的盈利机会,而这些机会将不再可能出现?
在整个区块中对有争议的状态进行预配置会与构建者创建区块的方式相冲突。要对前置条件进行准确定价,就必须实时估算现在加入前置条件而不是延迟加入前置条件的 MEV 影响,这意味着要执行并模拟可能出现的结果。这意味着网关现在需要成为一个高度复杂的搜索器/构建器。
我们已经假设网关和中继会合并。如果它们需要不断对预配置文件进行定价,那么它们也会与构建器合并。我们还认为 USC 会加速构建者和证明者的合并。执行拍卖似乎也会将证明人的权利直接出售给能够为其定价的成熟参与者(很可能是构建者)。
这就把整个以太坊 L1 和 BR 交易供应链放到了一个盒子里,这个盒子对这段时间内所有链的状态都有垄断性的写入锁。
预配置服务的排序策略尚不清楚(例如,它们是否始终运行 FCFS 还是以其他方式排序)。网关也有可能对所有预配置进行拍卖(例如,允许搜索者对预配置进行竞价),尽管尚不清楚这样的设计会是什么样子,并且这必然意味着更高的延迟。
预配置存在公平交换问题,网关实际上并没有直接激励释放预配置。
考虑以下示例:
在这种情况下,即使用户在时段结束时才收到预配置,他们最终还是要为预配置付费。网关也可以在时段结束时放弃预配置,如果他们认为包含预配置无利可图的话。网关的这种扣留行为并不是客观上可归咎的过失(但也可能是主观上可归咎的过失)。
事实上,网关将预置内容保留到最后是有动机的。哪里存在信息不对称,哪里就有 MEV。保持交易的私密性,可以让建设者对世界的现状有一个更及时的了解,从而更好地定价风险,捕捉 MEV。对于提供给用户的预配置文件集还没有达成共识,因此网关在此无法承担责任。
需要制定标准,并要求预配置者立即公开所有预配置。这样,用户就能立即得到他们想要的东西,其他人也能看到网关正在提供预期的服务。如果他们将来做不到这一点,那么用户就不会信任他们,也不会为预配置付费。网关的声誉是有价值的。话虽如此,但不诚实和违背预配置也是非常有价值的。
了解完一般预配置要点后,我们现在将讨论 L1 预配置的细微差别。虽然我们之前没有提到它们,但有一些项目正在构建它们,并且它们与 BR 预配置的交互非常重要。
例如, Bolt 就是这样一种协议,它希望让以太坊提议者对其区块内容做出可信的承诺。注册的提议者可以运行 Bolt 附属程序来接收用户的预配置请求,确认后将此信息发送给中继器和构建器,后者可以返回尊重这些约束条件的区块(即返回包含提议者给出预配置的交易的区块)。
这里需要注意的是 Bolt v1 这里描述的仅支持非争议状态的简单事务包含预配置,其中只有用户可以使预配置无效。正如我们之前讨论的,这些是最简单、最弱的承诺。
所有这些预会团队都有更大的野心(例如,状态预会、部分区块拍卖、时段或部分时段拍卖),那么是什么阻碍了他们呢?
MEV-Boost 是一种更简单的产品,具有多年的跟踪记录,运营利润惊人,其参与率大于 92%(由于不考虑最低出价,参与率可能更高一些)。一项新的会前服务的参与率肯定会低得多。但即使能达到 90% 左右,这对普通用户来说似乎也不是什么有用的产品。你不能在 10% 的情况下告诉用户 “哦,抱歉,现在没有预配置文件可用,请稍后再查看”。
充其量,这感觉就像状态预设只是一个可选的工具,适用于复杂的搜索者和交易者,他们可能希望在区块中较早的时候获得承诺,而那个时段恰好有提议者选择加入。这可能是有价值的,但这里没有碎片化或用户体验解锁。
BR 预配置必须来自 BL 提议者(这也是他们 “基于 “的原因)。这要求他们抵押一些抵押品并选择额外的削减条件(即他们提供的预配置确实会按照承诺将其放在链上)。任何愿意这样做的提议者都可以充当 BR 排序者并提供预配置。
重要的是,这些预配置文件是状态预配置文件,而不仅仅是包含的预配置文件。之所以能做到这一点,是因为区块链正在选择一种设计,让注册成为网关的 BL 提议者轮流垄断排序器。
如今,一个以太坊验证者充当每个槽的提议者,并且当前时期和下一个时期的提议者时间表始终是已知的。一个纪元有 32 个时隙,因此我们总是知道给定时间接下来的 32-64 个提议者。该设计的工作原理是授予下一个活动定序器(即,前瞻中的下一个排序器)垄断权力来对选择加入此预配置系统的 BR 的交易进行排序。网关必须签名才能推进 BR 链的状态。
请注意,每个提议者(即使是那些没有选择成为网关的提议者)都有权利但没有义务包含由排序者(即那些选择成为网关的提议者)给予预确认的事务。只要他们拥有在此之前已预先确认的交易的完整列表,他们就可以充当包含者(排序者可以创建一个包含 BR 交易的 BL blob,并对其说三道四)。
交易流程如下:
如果其他包含者不包含预配置,那么提供它们的排序者可以在轮到他们作为 BL 提议者时将它们简单地包含在链上。例如,在上图中,假设插槽 n 包含器决定不包含插槽 n+1 定序器给出的预配置。然后,时隙 n+1 定序器将负责在提交 n+1 的 BL 块时,包含它在时隙 n 和时隙 n+1 期间给出的所有预配置。这使得定序器可以自信地给出他们和最后一个定序器是谁之间的整个时间段的预配置。
为了简化上面的解释,我们假设 L1 提议者将履行这个预授予角色。但如前所述,情况不太可能是这样。它将需要一个复杂的实体来对预配置进行定价,为所有 BR 运行完整节点,为所有 BR 交易提供 DoS 保护和足够的带宽等。以太坊希望让验证器保持非常简单,因此提议者可能会将预配置外包给另一个实体与他们今天通过 MEV-Boost 外包全部 L1 区块生产的方式大致相同。
提议者可以通过链上或链下机制委托给网关,这可以一直完成,直到他们的插槽之前。如前所述,该角色实际上很可能由中继接替。他们也可能需要与构建者合并。
如前所述,在给定时间只能委托一个实体作为网关。这是提供可靠的状态预配置所必需的。 UI(例如 MetaMask 等钱包)会查找下一个网关是谁,然后将用户交易发送到那里。
在具备了足够的背景知识后,我们应该将以太坊的Rollup方案建立在什么基础上呢?这里实际上包含了两个内在的问题:
首先,需要注意的是,您可以临时与其他链共享排序器。例如,如果以太坊提议者出价最高,他们可能会为你排序一个区块,然后其他一些 BFT 共识如果他们出价最高,可能会为你排序下一个区块。然而,这仍然需要一条链完全选择这种可以与其他链同步运行的统一共享拍卖,因此在控制和灵活性(例如共享区块时间)方面仍然存在权衡。只是获胜的排序器实体可以转移。
无论如何,我们假设满足条件 1。我认为目前我们有令人信服的证据表明存在足够的需求来使用去中心化共享排序器。即使他们不太关心“共享方面”,我认为能够购买现成的去中心化排序器即服务具有令人难以置信的高价值(事实上,我认为这是这里最大的价值)。
现在,这个共享排序器应该是基于以太坊的排序器吗?
技术上(提案者承诺)
我没有看到使用基于以太坊的排序器的强有力的技术论据。 BR 和以太坊 L1 之间的任何互操作性都将受到极大的限制,因为无法针对 L1 可靠地执行(即,在 L1 状态上不一致地具有写锁)、较长的区块时间(12 秒)以及 BR 交易如果确实希望与 L1 交互,则必须与其一起重组。这里没有免费的午餐。与任何其他外部共享定序器相比,这不会解锁任何有价值的面向用户的产品。
我看到的主要价值是,将以太坊 L1 添加到这个更大的组合拍卖中可能会产生更高的总价值,并且 让L1捕获更多价值。把这个逻辑推向极端,我们或许应该把世界上的一切都放在同一个拍卖中。这次全球拍卖还应该对 Taylor Swift 演唱会门票进行排序。我还没有完全做到这一点。
这只是为了强调,创建和选择每个人参与这个共享拍卖存在真正的技术和社会复杂性,它具有实际成本,在我看来,这可能超过这里创造的任何理论上的附加价值。如果我们不尝试将其捆绑在以太坊 L1 之上(例如,为此目的构建一个简单的快速共识机制),您可以轻松地构建一个更好的技术设计来从第一原理运行它。更不用说这样的组合拍卖会导致复杂性呈指数级增长。
在实践中,对我来说存在一些有意义的风险,这实际上可能对以太坊产生严重的反作用,因为当以太坊的供应链已经有些脆弱时,这种基于预配置的架构似乎对 MEV 基础设施有潜在的加速作用。这可能会危及网络的去中心化和审查制度的抵抗力——而这正是网络的价值所在。
社会性上(可信中立)
我确实看到了基于以太坊的排序器的有效社会论据。
如前所述,毫无疑问,“对齐”是对最初 BR 的卖点。很好,但我认为这种情况不会持续下去。成为第一个 BR 很酷,成为第八个就不酷了。需要有一些其他的附加值。
我认为,基于以太坊的排序器的可信中立性正是其潜在价值所在。至少,这可能是支持这种设计的最有力论据。有很多链都想获得现成的去中心化排序器。如果我们最终能在此基础上设计出足够的基础设施,从而改善跨链用户体验,那就更好了。不过,在那些想要这样设计的项目中,我想他们中的很多人都不愿与任何第三方协议 “选边站”。如前所述,想象一下,你是一个拥有 ENS 等基本通用基础设施的应用链,你想要一个汇总。你不想选择(假设的)Arbitrum 共享排序器,却把Optimism的人群拒之门外,反之亦然
解决社会协调问题的唯一办法可能就是建立一个可信的中立共享排序器,而以太坊显然是这种排序器的最佳候选者。请注意,这就更加强调了我前面提到的关于可信中立性的观点—如果这是这种服务的主要附加值,那么这一定是创建这种服务的一个极其优先的设计目标。如果它看起来像是某个有自己盈利动机的第三方协议的宠物项目,那它就不会成功。它必须是以太坊共享排序器。
值得注意的是,也有合理的批评认为这里的“中立”是“以太坊”的代号。也就是说,其主要动机是使以太坊及其周边基础设施受益。当然,这样的系统将使这些各方受益。这将意味着 ETH 资产获得更多价值,并为以太坊建设者、中继者和搜索者带来更多盈利。
我们现在应该明白,您可以在像以太坊这样的慢速 BL 上拥有 BR,您可以添加可信预配置以实现更快的用户体验,甚至可以通过加密经济或加密保证来确保跨链移动时的安全。
如前所述,如果我们从头开始设计这个东西会怎么样?无需处理现有连锁店的技术债务和决策。构建这个东西的明显方法是什么……
之前,我们讨论了成为具有给定 BL(例如以太坊)预配置的 BR 的唯一技术原因是,其提议者有时可以提供有关与 BL 同步原子包含的可信承诺。
然而,我们并没有认真讨论在没有预置的情况下成为 BR 的能力。我们基本上把它扔到了窗外,因为以太坊很慢而且用户不耐烦。
那么为什么我们不直接使用快速的 BL 来作为 BR 呢?
这几乎解决了我们之前遇到的所有复杂的边缘情况和问题。我们不希望出现奇怪的边缘情况,即网关出现活跃故障(这与此处的安全故障具有相同的结果),我们不希望它们退出承诺的预配置(即安全故障),并且我们不希望以太坊重组。这正是共识存在的原因。
大多数关于惰性排序器的讨论都将它们视为汇总排序器,然后将其数据转储到其他 DA 层。例如,Astria 的前两个汇总(Forma 和 Flame)将使用 Celestia 作为他们的 DA 层。 Astria 的共识将对这些汇总进行排序,然后将其数据转发给 Celestia。
这种组合是一个特别好的组合,因为它们是明显的补充 - Astria 提供所有测序基础设施,而 Celestia 通过以下方式提供信任最小化验证 数据可用性抽样 (DAS)。
然而,Astria 也可以类似地用于对以太坊、比特币、Solana 或任何其他你想要的东西原生的汇总进行排序。例如,它甚至可以设置为用作以太坊“带有预配置的 BR”的预配置(例如,代替集中式网关,因为惰性排序器基本上只是一个激励和去中心化的中继)。
但要明确的是, 每一条链都是一个 DA 层。全节点始终可以检查 DA。数据可用是任何链有效性条件的一部分,因此共识总是签署数据可用。检查其签核的轻节点会得到诚实的多数假设。唯一的区别是,链是否为轻客户端提供了另一种选择,可以直接为 DA 采样,而不是询问共识。
然而,正如我在 Rollup 会继承安全性吗?一文中指出,像Astria这样的快链可以在技术上为DAS添加一条慢速路径(以提高可验证性),而像Celestia这样的慢链可以为测序添加一条快速路径(具有多数信任假设并且没有DAS),即所谓的“快块慢方(fast block slow squares))”。
对排序层或 DAS 等专业层进行垂直整合将进一步缩小模块区块链与整合区块链之间的区别。这同样适用于通过向 Celestia 基础层添加 ZK 校验器账户对结算层进行垂直整合。
然而,将这些服务分开而不是捆绑在一起具有有意义的价值。这是一种模块化方法,允许汇总选择他们想要的现成功能(例如,我想购买带有快速块的去中心化测序,但我不想为 DAS 付费,反之亦然)。研究人员已经表明他们想要 DAS,但到目前为止,用户表明他们只想要快速的区块。
捆绑服务如“快块慢方“会非常固执己见和集成。这必然会增加复杂性和成本。时隙长度对计时游戏的影响(从而可能去中心化)也是一个考虑因素,而计时游戏现在在以太坊上非常普遍。
但您也可以仅使用 Astria 作为汇总的 BL。 共享测序仪可以被认为是针对自己的 BR 进行优化的 BL。
当您的 BL 速度很快时,您的 BR 不需要预配置,因为它只需开箱即可获得快速确认!然后你的 rollup 实际上就获得了 BL 的实时安全性,这与 BR + preconfs 不同,后者必然会失去这一点。
事实上,没有预配置的 BR 是构建汇总最合乎逻辑的方式。这就是为什么今天的汇总都从这里开始:
很明显,具有快速区块的 BL 可以解决我们在 “基于汇总+预配置 “中遇到的大部分问题。共享排序器的构建自然更多地从 “嘿,应用开发者只想启动一个快速、可靠和去中心化的链—我该如何给他们提供这样的链呢?”的第一原则出发。试图在以太坊这样较慢的基础层上事后添加前置条件,会导致上文所述的复杂性。
因此,我们了解了如何将模块化链重新聚合在一起,从而提供通用同步可组合性 (USC)。当然存在权衡,但它们确实重新引入了有意义的统一程度,同时保留了比使用单个状态机更大的灵活性。对我来说,还有一个非常令人信服的案例:异步可组合性是我们绝大多数用例所需要的。我们需要低延迟、性能和良好的用户体验。互联网是异步的,它的工作原理非常好,将所有这些都抽象出来。可组合性是加密货币的巨大附加值,但可组合性≠同步。
抛开灵活性和主权利益不谈,大多数人都会同意我们最终将需要许多连锁店来扩大规模。这意味着我们最终会得到许多需要统一的系统,因此模块化方向是不可避免的。
现在,让我们比较一下终局。特别是,我们将比较 Solana 的终局与以太坊的终局,如果它走上这条通过基于汇总 + 预配置来最大化统一和用户体验的道路。
在这个愿景中,我们有很多使用基于以太坊的排序器的 BR。网关以低延迟不断地将提议者承诺的(即没有任何共识权重)预配置传输给用户,然后以太坊提议者每隔一段时间将它们提交到一个完整的块中。这听起来可能很熟悉,因为这几乎就是我们之前为 Solana 所描述的碎片流!
那么,这只是一个更复杂的 Solana 吗?这里最大的区别在于时隙:
以太坊试图将其添加到慢速链之上,乍一看显然存在问题:
所有这些都可以通过快速达成共识来解决。所有这些系统实际上都是我们创建 BFT 系统的首要原因。那么为什么以太坊不应该让其共识进展得更快呢?具有超低延迟基础层块时间是否存在一些不太明显的权衡?
幸运的是,除了写一篇关于较短的出块时间是否有益的文章之外,我没有什么更好的事情可做。对较短时隙时间的最大担忧与验证者和操作员的集中化有关。具体来说,人们担心短时隙与计时游戏:
我们已经看到计时游戏在以太坊上取得了进展。提案者会在他们的时段稍后提出区块,以牺牲其他人的利益为代价赚取更多的钱。继电器还提供“计时游戏即服务“他们同样延迟了插槽中稍后的块:
来源: Data Always
在几周前臭名昭著的 Justin vs. Toly Bankless 播客中,计时游戏是一个热门话题:
例如,假设您比其他人快 100 毫秒
如果你有1s槽位,你可以比其他人多赚10%
如果你有10s的槽位,你就可以比其他人多赚1%
— 乔恩·夏博诺 (@jon_charb) 2024 年 6 月 4 日
贾斯汀主要认为,计时游戏将是一个问题,增量奖励始终是相关的。托利主要认为,计时游戏不会成为问题,并且从额外的 MEV 提取中获得的增量奖励不足以令人担忧。
我个人发现很难忽视计时游戏的重要性:
我显然认为 Solana 和以太坊所采取的方向都具有巨大的价值。如果不出意外的话,我们将看到这一切在实践中发挥作用。从战略上讲,我也认为以太坊有必要研究它的不同之处。最大限度地去中心化,作为在对抗性环境下实现审查制度抵抗的手段。以太坊为了保持令人难以置信的去中心化协议做出了很多牺牲,因为这是长期游戏的必要条件。它具有无与伦比的客户多样性、网络所有权分布、生态系统利益相关者、运营商去中心化等等。如果(并且很可能何时)Solana 在未来面临严重的审查压力,那么以太坊做出这些决定的原因将变得越来越明显。
Preconf.wtf 上周刚刚在 Zuberlin 举行,也许毫不奇怪,每个人都在谈论预会议和基于汇总的讨论。这一切都很酷。但我个人认为Vitalik 的演讲关于每个验证者一个比特的包含列表和 Barnabé 的演讲关于重载执行提议者(从 MEV-Boost 到 ePBS 到 APS)对以太坊的未来最为重要。
来源: Barnabé Monnot, 从 MEV-Boost 到 ePBS 再到 APS
最近,关于预配置(preconf)和基于滚动配置(rollup)的讨论开始升温,而我肯定还是比较谨慎的。Vitalik 提出了以下著名的 终局 观点:
然而,我们已经深入到了 “中心化生产 “阶段,却还没有实施更强有力的反审查保护措施,比如纳入列表。基本上,以太坊在下面这张图的最下面一行中占了一半。(我之所以说一半,是因为审查制度实际上并不是非黑即白的,以太坊只有 “弱审查制度”,也就是说,大部分区块都会被审查,但不是所有区块都会被审查,所以你可能只需稍等片刻,但随后你就会被收录):
来源: 治理证明(Proof of Governance)
根据经验,以太坊 L1 MEV 供应链目前实时审查的区块数量比任何具有集中排序器的 L2 供应链都要多。
L2已经可以得到L1了 最终的 CR(仍然非常好)没有基础。基于预配置没有得到 实时安全 通过以太坊协议,他们获得了周围少数相对集中的基础设施提供商的实时安全性。 为了获得更好的实时 CR,最好的选择可能是将测序外包给运行简单 BFT 共识的某种类型的去中心化测序器。这将比将许多链集中到当前相对集中的瓶颈中更加稳健。这种情况可能会随着执行拍卖和包含列表等变化而有所改善,但这并不是马上就能实现的。
考虑到所有这些,我不清楚扩大对以太坊 L1 的 MEV 基础设施的依赖,然后将其巩固为 L2 的基础设施是一个好主意,因为现阶段只有少数人构建和中继所有以太坊区块,其中大部分是以太坊的区块。如今的无审查区块依赖于单一构建器(Titan),并且尚未在协议中实现任何 CR 工具。这让人感觉在一个脆弱的地方积极加速。以太坊当然应该致力于改善 L2 的用户体验,但不能以牺牲我们最初想要的所有底层属性为代价。
我们都在建造同样的东西。
嗯,有点像。显然,这些东西实际上并不完全相同。这些系统之间总会存在实际差异。然而,加密领域的总体大趋势是,我们都在趋向于越来越相似的架构。
它们之间的细微技术差异实际上会对它们的最终结果产生重大影响,即使它们趋向于类似的最终状态,我们也不能低估路径依赖在这些系统中所起的重要作用。
此外,理解这些东西也非常困难。正如 Vitalik 所说:
“我对 APS 的一个警告是,从纯技术角度来看,我认为它相当轻量,我们完全能够以极小的技术错误概率来实现……但从经济角度来看,出错的机会要大得多……
就像 EIP-1559 我们能够通过理论来解决。我们参加了一些很棒的经济学会议,了解了第一价格拍卖的风险以及它们的糟糕之处,并且发现第二价格拍卖不可信,然后发现嘿,让我们使用在每个区块内局部固定价格的机制,通过微观经济学我们能够做很多事情。
但 APS 不是这样的。问题是 APS 是否会导致 Citadel、Jane Street、Justin Sun 或其他人生产 1% 还是 99% 的以太坊区块,这个问题从基本原理上来说非常困难,可能不可能解决。
所以我现在想看到的是实际实验……对我个人而言,从今天到我对 APS 感到非常舒适的变化基本上是 APS 在一个具有中等价值、活跃度、社区和实际争论的以太坊 L2 上成功运行一年,可能更长时间,并且我们能够看到一些实际效果。”
所以是的,我也不知道会发生什么。我们只能拭目以待。无论如何,当我们都趋向于这个最终状态时,我们有更多的共同点,而不是差异,所以让我们确保……