Espresso Systems提出了一个针对Layer-2链的共享排序市场,通过该市场,Layer-2链可以向共享提议者出售区块空间,从而提高不同链之间的互操作性和用户体验。文中详细介绍了共享排序的原理、市场机制以及预确认功能,并探讨了基于以太坊的方案如何平衡快速确认与链间互操作性。
作者:Ben Fisch,Espresso Systems 的 CEO 和联合创始人,发布于 2024 年 3 月 8 日
感谢 Justin Drake 和 Brendan Farmer 的深思熟虑的讨论、有用的评论以及对本文的审阅。
TLDR: Espresso 提出了创建一个共享序列化市场,通过它,层-2 链向共享提议者出售区块空间,包括以太坊主网 EVM 的提议者,他们通过满足多个链上的用户意图创造出过剩价值。
我们的使命一直是为以太坊的层-2 链带来新的统一性。在过去的几年中,rollups 和 validiums 通过横向扩展和多样化的执行环境丰富了更大的以太坊生态系统,但以牺牲统一性为代价——不同 rollups 之间的应用没有与以太坊 L1 上的应用相同的共享流动性和互操作性。以太坊的价值在于其统一性,而非碎片化——这就是信任最小化基础设施的承诺,也是 Web3 与 Web2 的区别所在。
最终,最终用户希望以安全、方便和低成本的方式相互支付、买卖 NFT、提供 DeFi 流动性、交换资产等。用户将寻求满足其意图的最佳方式,即使这意味着同时跨多个 rollups 和以太坊 L1 进行交互。钱包自然会支持这种方式,将细节抽象化,隐藏于用户背后。在满足用户意图方面,在具有最大统一性的 rollup 上部署的应用之间的效率将是最高的,不仅彼此之间如此,而且也与以太坊 L1 上的智能合约。
今天,rollups 通过独立的被称为 sequencers 的孤立排序器独立组装交易区块,并异步地将这些区块发布到以太坊 L1。恢复 rollups 之间的互操作性乍看之下似乎有点矛盾——难道这不会把它们变成一个 rollup,从而抹去它们的可扩展性优势和主权吗?
共享序列化 已经成为了一条途径,通过这条途径,rollup 用户可以在实践中恢复在一个以太坊链上的体验,同时保持独立 rollups 的主权、独立性和性能(包括低成本和低延迟)。与以太坊 L1 类似,rollups 在离散的交易区块中进行更新。如果在某个时间段内,有个共享提议者同时为所有这些 rollups 提议下一个区块,那么这些 rollups 就说共享了一个排序器。这个提议者可以确保它希望在 rollups 上获得的任何结果。它可以利用这项权限来满足任意的用户意图,包括跨 rollups 的原子执行交易。用户可以选择信任提议者满足他们的意图,或者获得一个经济担保的 预确认 作保险。当与实时证明或像 Polygon 的 [AggLayer](https://mirror.xyz/0xfa892B19c72c2D2C6B10dFce8Ff8E7a955b58A61/TXMyZhhRFa-bjr7YHwmJpKBwt2-\_ysirbh\_VpNy3qZY) 设计中结合的 zk-rollups,共享序列化尤其强大,因为这允许在 rollups 之间协调构建区块,互相同步传递消息(同步组合性)。rollups 可以与排序器共享,取决于设计,时间不限,或临时共享。
共享序列化,从最一般的意义上讲,是在几个链(即 rollups、validiums 等)之间集成的一种机制,用于完成两件事情:
(a) 提议者分配: 确定一组提议者为所有链提议下一个区块
(b) 最终确认工具: 最终确定提议的区块并向用户提供该最终确认的确认
今天,中心化排序器充当其自身 rollups 的提议者。在原始的 rollup 设计中,也称为“基础 rollup”,以太坊 L1 的提议者也是 rollup 的提议者。在某些 共享序列化集群 的设计中,一组 rollups 共用一组固定的提议者,并通过一种领袖选举协议在它们之间轮换(例如,随机或轮流)。另一种替代方案是一个 市场,通过其中 rollups 向竞标的代理出售位置,竞标准备好成为一个或多个链的共享提议者。Espresso Systems 正在建立这样一个市场,由于涉及到 L1 提议者,它也与“基础 rollup”设计兼容。我们稍后会再讨论这个问题。
至少,Ethereum L1 共识为所有 rollups 提供了终极最终确认工具,但确认延迟相对较长(在最坏的情况下约 15 分钟,尽管在实践中,区块可能更快被 L1 共识视为确认)。除了充当提议者外,中心化排序器还充当各个 rollup 的受信任最终性工具,通过签署 rollup 状态提供更快速的确认。这限制了 rollup 在以太坊 L1 确认之前的重组能力。然而,与以太坊 L1 不同,这些中心化最终确认工具在不同的 rollups 之间并未共享。需要在提议者分配的市场内有一个共享的最终确认工具以便与联合 rollup 区块空间关联。
除了为共享提议者提供市场之外,Espresso 还提供一个去中心化的、经济安全的最终确认工具,称为 HotShot,rollups 可以共享,以便获得比以太坊 L1 提供的更快确认。这是作为 BFT(即权利证明)协议操作的。已质押担保以参与以太坊共识的 L1 验证者,也可通过重新质押合约参与 HotShot,而无需额外的资本要求。最终,如果所有 L1 验证者参与,则最终确认工具将具有与以太坊本身相同的经济安全性。
去中心化的共享最终确认工具的一个额外优点是更快、低成本的桥接。当两个 rollups 使用 HotShot 最终确定时,接受来自一个 rollup 到另一个 rollup 的桥接交易是安全的。原因是所有 rollup 交易都是由 HotShot 最终确认的,因此状态在 HotShot 最终确认后永远不会改变。桥接可以通过零知识证明或通过流动性提供者,流动性提供者简单接收一个 rollup 的资金并将其发送到另一个 rollup。最终确认工具不仅通过发出风险回溯较低的信号来降低流动性提供者的风险,还确保任何针对源链存款的后续回滚也将撤消流动性提供者在目标链上释放资金。
提议者分配的最简单示例是对所有链施加一个单一提议者,或者可能是一个轮换提议者集。或者,在我们可以称之为 临时共享序列化 的情况下,提议者分配的功能更像是一个市场,其中链通过出售时间段的区块空间,向复杂的参与方征询出价,竞标获取提议 rollup 区块捆绑的权利。在临时共享序列化中,任何时段内的结果可能是在多个提议者之间划分 rollups。一家 rollup 的治理也可以指定某个方或利用去中心化协议,比如分布式验证者技术(DVT),来竞标其自己的区块空间,作为保留价格:rollup 的区块空间仅在超出此价格的竞标下出售给外部共享提议者。这允许 rollups 确保它们能捕获到相应的序列化收益。Espresso 的提议者分配机制是一种组合拍卖,我们将在本文后面进一步讨论。
在任何提议者分配机制中,拥有同时为捆绑多个 rollups 构建下一个区块的权利的提议者对它们的联合状态拥有锁定——它能够充当流动性提供者,或做出承诺满足任意用户意图,包括在不同 rollups 之间的多个交易的原子执行,甚至以联合状态结果作为条件。这些被称为 预确认。用户意图的一些具体示例包括:
用户对于预确认的信任可能基于对提议者的信任和/或经济激励一致性(例如,提议者可能因违反承诺而被斩首)。预确认还可以被设计成一项保险政策——用户支付提议者小费,以便在承诺被违反的情况下,从托管的担保金额中索取损害赔偿。提议者承担无法履行承诺的风险,并相应地为风险定价。对于支持先进设计的 rollups,例如 Polygon 的 [AggLayer](https://mirror.xyz/0xfa892B19c72c2D2C6B10dFce8Ff8E7a955b58A61/TXMyZhhRFa-bjr7YHwmJpKBwt2-\_ysirbh\_VpNy3qZY),共享提议者还可以协调发生在单一个区块范围内的 rollups 之间的多轮消息传递由不同 principaux 参加。由共享提议者创造的过剩价值,大概来自于那些不会自己出现的交易、用户为预确认支付的小费,甚至提议者本身操作的套利,广泛涵盖了跨域 MEV。
原始的 rollup [设计](https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-kalodner.pdf),实际上允许 rollup 智能合约通过不涉及外部排序器的情况下由以太坊 L1 区块进行更新,这在事实上赋予了以太坊 L1 区块提议者对所有 rollups 的共享序列化权限。引入外部排序器旨在实现更高的吞吐量(通过增强数据压缩)和快速的交易预确认(基于对排序器的信任,而 rollups 现在希望去中心化)。带有外部排序器的 rollups 仍然通过允许智能合约在排序器离线太久时强制执行交易而继承以太坊 L1 的存活性。
然而,这原始的 rollup 设计,随着“Based rollups”这一名称的流行,其被忽略的关键优点是更好的 [L1 组合性](https://www.reddit.com/r/ethereum/comments/191kke6/ama\_we\_are\_ef\_research\_pt\_11\_10\_january\_2024/)。随机选举的以太坊 L1 区块的提议者,对所有 rollups 以及 L1 状态在某一个时段内具有锁定,可以不仅在共同 rollup 状态上发布预确认,还可以涉及 L1 状态本身。此外,在有效性证明(即 SNARKs)达成更高吞吐量和更低延迟的未来,L1 提议者可以利用 实时(即亚秒级)证明 在 L1 区块的时间内,在 L1 和 L2 应用之间进行功能调用,包括在 rollups 中进出资产。
Based rollups 或 基础序列化 的范围已经超越了原始概念,涵盖实现更广泛的愿望集合的替代设计。基于 Espresso 是其中一种设计。我们追求的理想特性是:
每个 rollup 在 L1 上都有一个智能合约跟踪其状态,但可能会滞后。rollup 智能合约通过在 L1 区块中调用来更新。今天,rollup 合约通常每个以太坊区块至少只有一次调用,甚至更少。然而,如果 L1 区块构建与 L2 区块构建协调(即当 L1 提议者也是 rollup 排序器时),那么 rollup 合约可以在单个 L1 区块内被多次调用。此外,具有足够低延迟的有效性证明(即 SNARKs),在同时构建 L1 区块和 rollup 区块的提议者可以为 rollup 与 L1 之间能够实现实时的交互并传递可验证的消息。尽管有效性证明的延迟太高,当前还无法实现,但这种技术正在迅速发展,特别是随着专用证明硬件的开发。
L1 组合性与 rollups 交易快速确认之间存在根本的权衡。L1 组合性要求 L1 提议者能够采取直接影响 rollup 状态的行动。以太坊 L1 的最终性较慢。区块每 12 秒发布一次,但在 15 分钟后才最终确认,而此时以太坊的经济安全性完全阻止 重组(即在那时,任何重组都会导致以太坊 1/3 的股份被折算). 在rollup 上交易的结果不能早于其所依赖的最新以太坊 L1 状态之前最终确认。
因此,今天的一些 rollups(例如 Arbitrum 和 Polygon)选择基于已经最终确认的 L1 区块进行构建,而不是链的最新区块——在 L1 上的任何动作(例如桥接存款到 rollup 中)在 L1 上最终确认之前不能在 rollup 内被识别。这使得 rollup 排序器(它可能是一个中心化方或去中心化 BFT 协议)可以最终确认 rollup(L2)交易,并向用户提供即时的预确认,因为它们不依赖任何不确定的 L1 状态。这些被称为“预确认”,因为恶意排序器(无论是单一方还是协议)最终可能决定发布与 rollup 交易冲突的区块。然而,如果用户信任排序器不进行对立(例如,基于诚信多数假设和/或经济激励一致性),它对结果是确定的。一旦排序器在 L1 发布了一个区块,除非 L1 重组,否则它在不同选择上能力是相对有限的,在发布约 15 分钟后,仍然有这种风险。
虽然 L1 组合性与 L2 状态的即时预确认之间存在矛盾,但或许在这两个极端之间有一个让人满意的中间地带。探索这一中间地带始于 Justin Drake 在 *[基于预确认](https://ethresear.ch/t/based-preconfirmations/17353)* 上的开创性帖子。首先,以太坊 L1 的浅层(单个区块)重组是稀有的,而更深层的重组则较为罕见。尽管这一风险可能对于非常高价值交易来说仍然太高,但通过将预确认视为一种保险。在一般情况下,颁发预确认的各方(或协议)可以吸收这一风险并相应给用户定价。我们将这些称之为 条件预确认,反映它们承担着与提供方/协议无关的风险,并与仅能被提供方恶意行为违规的预确认区分开来。用户在信任任一类预确认时可能最终面临相同风险(即当预确认充当保险政策时),但前者的费用较高,以覆盖提供者的风险。
其次,许多 rollup 交易(例如点对点支付或资产转移)可能不依赖于被 L1 状态“未最终确定”的部分 L2 状态。事实上,有可能在不具有提供方风险的情况下为这些交易启用快速预确认,同时保留 L1 组合性。然而,传统的基础序列化设计未能实现这一点——仅通过在 L1 区块内的 rollup 智能合约提议的交易将在 L1 区块达到最终确认之前一直面临回滚风险,不论由 L1 提议者提供何种预确认。我们将看到,基于 Espresso 设计如何有效实现这一优良特性。
我们根据对提供者造成的风险区分了几种预确认。另一项 [区分](https://learnblockchain.cn/article/13369]) 是区分由单一提供者支持的预确认与由委员会或去中心化协议支持的预确认。针对一组 rollups 的提议者可以提供具有最低延迟的复杂预确认,但由去中心化协议支持的预确认可能具有显著更高的经济安全(质押的担保)且要求更大的协调以避免违规。去中心化简单的预确认更容易实现,因其对参与者的复杂性要求较低。共享无状态最终确认工具就是例子之一。它们仅承诺公布的 rollup 区块不对立,且不要求协议参与者计算 rollup 状态。针对一组 rollups 的提议者也可以通过阈值加密(如 DVT)由委员会控制。该委员会可能为任意意图满意提供预确认,但这需要所有委员会参与者更高的专业性(例如,执行这些 rollups,参与提议者选择拍卖等)。
基于 Espresso 的设计实现了上一节中描述的基础序列化的理想愿望。与传统的基础序列化相比,基于 Espresso 提供了更强的预确认安全性(最终确认)和序列化收益的份额。实际上,与其仅仅将序列化权利免费授予 L1 提议者,采用基于 Espresso,rollups 正在参与一个市场,在那里它们能够以动态方式出售这些权利。这基于两个独立的想法,一个是利用 BFT 最终确认工具,L1 验证者能够通过重新质押参与,另一个是使用类似于 [执行票据](https://ethresear.ch/t/execution-tickets/17944) 的提议者选择机制。
这一版本的基础序列化提供两种类型的预确认:提议者和见证者。提议者预确认优先(亚秒级延迟),由单一提议者为了共享排序器时段的担保支持,而见证者预确认随之而来(约1-2秒的延迟),则由参与见证者的担保支持。除了拥有更多的担保外,违反见证者预确认将需要足够数量的见证者共谋(足够控制三分之一的所有质押担保)。以太坊 L1 验证者可以通过重新质押其 ETH(例如,通过 EigenLayer)参与见证。
以太坊 L1 提议者可能还会购买权利,参与 L2 区块的共享提议者。rollup 仍然要求交易在被纳入之前接受见证者预确认。与传统基础 rollup 不同,这确保了诚实地预确认的 rollup 交易是基于它们所依赖的最后以太坊区块条件下最终确认的。换句话说,他们被保证在没有重组所依赖的 L1 区块或超过提议者恶意的情况下执行。在这种情况下,见证者预确认充当了与今天的 rollups 中的外部排序器类似的角色。这样,提议者能够以没有风险的方式快速提供纯 L2 交易的预确认,而不受最近以太坊区块的影响。相比之下,在传统的基础序列化中,由 L1 提议者在一些区块 $Bt$ 中包含的新 rollup 交易,是基于 $B{t-1}$ 在条件更新下的未最终确认的。这它们会在一个丢弃 $B_t$ 的重组中被放弃!对于在 $B_t$ 中包括的事务,L1 提议者的预确认无法即刻给予,没有任何风险。
另一方面,需要 L2 交易接受见证者预确认也有一个警告,如果太多见证者下线(例如,超过三分之一),则见证者 BFT 最终确认工具可能会停滞活跃性,即使以太坊 L1 仍然在线。然而,Justin Drake 提出的由基础预确认的基础序列化的原设计在太多 L1 验证者选择参与成为预确认提供者,即 预确认 下线时,也会遭遇类似问题(例如,如果下一个 32 个提议者中没有预确认者)。在该设计中,预确认的事务在 rollup 中被优先处理,因此 L2 必须在预确认者下线时暂停。两种情况下的缓解措施是,在一段时间后,如果 L2 没有任何进展,就返回(纯基础序列化)至以太坊 L1。这是 rollups 可以选择的。
在基于 Espresso 时,与传统基础序列化一样,当为区块 $Bt$ 的 L1 提议者同时获取在同一时间段提议 L2 区块的资格时,L1 提议者有选择在 L1 和 L2 交易之间插入交错顺序,结合低延迟证明,甚至能够促进 L1 合约和 L2 合约间的同步组合。然而,由于依赖于最近未最终确定的 L1 交易,这些同步交互的预确认风险更高。因此,它可能更倾向于优先为在区块 $B{t-1}$ 上条件最终确认的 rollup 交易排序。这些交易即使在 $Bt$ 重组的情况下也能在 rollup 上执行。用户可以支付小费以获得更强的最终性,即基于 $B{t-1}$ 而非 $B_t$,尤其是那些在 $B_t$ 中不依赖于任何 L1 活动的 L2 交易。即使没有 L2 与 L1 块之间同步交互,共享的 L1 提议者始终可以执行 L1 与 L2 交易之间的原子执行条件。
另一个重大区别是,虽然 L1 提议者可能获得提议 rollup 的资格并授予预确认,但如果 L1 提议者未能对其时段行使此权利,另一方会接替该提议者并具有相同的预确认权利(不过仅针对 L2 交易)。如果最初只有少量 L1 提议者参与 rollup 序列化和预确认,这在其他地方尤为有益,因此 L1 和 L2 之间的同步交互较少。
在没有 L1 和 L2 间 synchronous interaction 的区块中,交易可以通过见证 BFT 协议记录并定期结算到 rollup 合约中(而不是每个以太坊区块)。鉴于此见证 BFT 协议具有比以太坊 L1 更高的吞吐量和更低的可用性,这有助于提高 rollups 的数据压缩。这对于 validiums 也特别有利。
有两个主要组件介绍在以太坊 L1 之上。
HotShot 最终确认工具: HotShot 是一种状态机复制(SMR)协议,在部分同步下实现安全性和活跃性,只要参与的质押不超过 1/3 的份额。任何安全性违规将导致 1/3 的质押被削减(同时也需要协调控制 1/3 份额的一组节点)。它乐观地在几秒钟内对区块提议达成最终确认。我们称参与者为 见证者。状态跟踪子区块链,针对每个独特的域标识符(也称为命名空间)建立。它与提议者选择机制同步(如下),在任何给定状态下,它只能附加由分配给该命名空间的提议者(可选提议者)签署的区块。该协议的时间段称为 HotShot time slots,与(但可能比)以太坊 L1 同步。HotShot 使重新质押的 L1 验证者可以参与其中(例如,通过 EigenLayer)。
组合提议者选择: 该组件运行一个 组合彩票 将提议者分配到为每个 HotShot 时段命名空间。HotShot 时段是一个持续时间,可能在单个时段内接受多个连续的区块提议。一个提议者可被同时分配到多个命名空间,这称为 捆绑。参与选择机制的人员可以为单独的命名空间和命名空间捆绑购买彩票。在组合彩票中,参与者竞标捆绑块的提议;或者等效地,它可以被视为一种付费参与的组合拍卖。该提议者分配的彩票将在时段前至少 32 个 L1 时段之前运行。最后,准确来说,以太坊时段的 L1 提议者(当其在 32 个时段之前尚未获知)将有机会从指派的提议者处购买 HotShot 提议者权利(即以扣款/彩票价格)。
接下来,我们描述这些组件如何结合在一起。首先,让我们区分两种类型的 rollup 合约调用:
1. 在 HotShot 中跟踪以太坊 L1 状态。 虽然 HotShot 状态不会执行 rollup 交易,但协议内有一个最小状态和执行引擎。HotShot 状态将以如下方式跟踪以太坊状态。每个 HotShot 状态指向以太坊 L1的某一分叉的提示,我们可以称之为 <L1_ref>。每个 HotShot 区块提议都有机会更新 <L1_ref>,指向一个新的以太坊区块,如果(a)该区块处于扩展旧 <L1_ref> 的链的提示处,或(b)该区块处于“较重”的其中一条分叉的提示,即根据以太坊的分叉选择规则得到偏好的情况。需要注意的是,HotShot 状态并未保证能跟踪以太坊任何时候的真实最新状态,也并非所有 HotShot 验证者一致投票自己关于以太坊状态的想法。然而,任何诚实的 HotShot 提议者知道最新状态时,都能成功更新 HotShot。在此,我们预期的理想特性。实际上,HotShot 有效充当以太坊 L1 的可信客户端。
2. HotShot 中的隐式 DAG。 HotShot 区块链为以 L1 分叉为索引的 L2 状态引入了 DAG 结构,每轮由 HotShot 更新 <L1_ref>,指向一条以太坊 L1 的分叉,还在相应的 rollup 命名空间中增加 L2 区块。任何 L2 区块的 <L1_ref> 是 <L1_ref> 然后的 HotShot 区块。所有共享相同 <L1_ref> 的后续 L2 区块之所以能被 rollups 解释为在 <L1_ref> 区块后执行且在下一个 L1区块到来之前执行,正是基于此逻辑。每个 L2 区块都是对 rollup 合约的重要 $L2 \rightarrow L2$ 的调用,因此在下一个 L1 腐块出现前可以追溯性地插入,而无须对 L1 状态产生任何即时影响。L2 块仍可能排队操作(例如取款),最终会在由于合约更新变动在 L1 交易中产生效果。L1 的区块也无法改变 rollup 合约的状态,类型尽管会通过 HotShot 进行操作,但仍可能排队文件 $L1 \rightarrow L2$ 交易(如桥接存款)。来自 L2 块的排队交易将在最终更新了该 rollup 合约的 L1 块中结算。因此,HotShot 的每个区块由 rollup 的推导流水线解释为在特定的以太坊分叉上执行,并且在默认情况下,只有在分叉的以太坊最终确认才有效。然而,HotShot 中包含的单笔交易可以选择根据早些时候的以太坊区块而条件最终。具体而言,如果一笔交易将参照点设置为某个以太坊区块 id,那么 rollups 会在包含该 id 的任何以太坊分叉上执行该交易。如果事务不依赖于出现在 id 和 <L1_ref> 之间的任何 $L1 \rightarrow L2$ 交易,则有充分的理由这样做,因为其将具有更强的最终性(id 块更不可能会重组)。接下来,我们将提供更详细的合约信息。
3. L1 指针的提议者。 每个 HotShot 时段都有一个被分配的提议者,负责更新跟踪的以太坊状态 <L1_ref>,就像任何其他命名空间一样。L1 提议者始终都有权利获取此权限。请注意,虽然 <L1_ref> 更新可与 HotShot 时段中的 rollup 块同时提议,但如上述项目 2 所述,rollup 块将被优先应用(即在新的 L1 块代码块之前发生,而不是之后)。
4. L1 上的 rollup 智能合约。 L1 上的 rollup 智能合约跟踪 rollup 的状态,但可能会滞后。rollup 智能合约是在 L1 区块中调用来更新的。今天,rollup 合约通常仅在以太坊区块中至少被调用一次,甚至更少。然而,如果 L1 块生成与 L2 块生成相协调,则在单个 L1 区块中可能会出现对 rollup 合约被多次调用,并与 L1 上的其他合约进行同步交互。今天,大多数 rollup 智能合约都有一个指定排序器,必须签署任何对合约的更新(除了桥接交易)。
要通过 Espresso 集成为基础 rollup,rollups 将用以下逻辑替代。
HotShot 轻客户端。 Rollup 追踪 HotShot 状态(它是 HotShot 的轻客户端)。HotShot 创建了一个连续的链(它不会分叉)。
调用 rollup 合约。 Rollup 合约存储 rollup 状态 st、L1 合约调用的 队列 和指向最近 HotShot 块 h 的引用。当它收到来自回调中 L1 块的桥接交易时,它会将其添加到 队列 中,但不会立即更改 st,只有通过证明从上次通过 HotShot 更新合约的正确的 L2 块执行才可以更改。在更详细的情况下,如果通过标识符 id 在 L1 区块中调用合约以更新 rollup 状态,未更新最后指向 h 的状态时,新的状态 st’ 和重要的指针更新值替换为所有在 h 与 h’ - 之间的 HotShot 确认启用。当它在以太坊分叉基础上更新 L2 合约时,须验证的执行过程是该合约将是一个在真实场上不能通过运行证明自动化地完成的过程,但其它 Rollup Activation/#ok定位的条目要等待确认。因此,在 HotShot 中 L1 的更新者的顺序与 L2 块及其最终整理一起引入相对排序状态。L1 块在最终最有效的 L2 状态更新前实现,不能影响相对确认中的动态与依耐.
L1/L2 同步交互。 目前,HotShot 只是在 L1 块和 L2 块之间交错多组相交。我们增加了一个新功能以启用 L1 和 L2 之间的同步交互,在 L1 提议者同时也是 HotShot 提议者时,这就是让 HotShot 记录部分 L1 状态。基本上,这使得能够在 HotShot 中建立一个基于某 <L1_ref> 的分支,使 L1 和 L2 交易互相交错,完整完整 L1 块时将放弃此提案。这些改宗外部交易状态直到参与过完全构建的 L1 区域以得到最终确认。这L1 提议者可以轻松地舍弃 HotShot 中记录的临时分支,由于从未提交构建。此功能的主要目的是使得 L1 和 L2 之间的同步组合有效,同时不损害其它集成的功用。无须允许所有的 L1 块单独划入 L2 交易记录 HotShot 要求不允许实现 HotShot 在区块间提供分段所要求附加块,而进行高阶统一发展下分组。相反,当从 <L1_ref> 启动的 L1 提议者也是 HotShot 提议者时,它可以先进行 HotShot 向其当前位置调整每个 L1 短提示,同时后续的每个 $L1\rightarrow L2$ 和 $L2\rightarrow L2/L1$ 的记录進行顺序记录更新。rollup 后续导出操作信号之间的有序执行,确保在每个 HotShot 中每执行$L2 \rightarrow L2/L1$ 的 wythnos,让 L1 提议者对各状态变更进行确认的行动。这样使得能够在同一块中相互传递信息(例如,存取和提取)从 L1 到 L2,再从 L2 反馈到 L1。
其他注意事项:
- 原文链接: hackmd.io/kkVJEfd0THeMYh...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!