该文介绍了Polygon的聚合层解决方案,通过预确认、确认和结算三个阶段来实现跨链交易的安全性和可组合性。聚合层可以让不同链之间以超低延迟安全地互操作,实现资产和状态的无缝转移。它还可以创建一个多链生态系统,无需共享相同的基础设施或信任假设,具有无限可扩展性。相比之下,OR需要为每个链运行完整节点。聚合层还可以利用证明聚合步骤来实施链级会计,保证链之间的低延迟交互。
原文标题:Aggregated Blockchains
原文作者:Brendan Farmer
原文来源:Mirror
编译:Lynn,火星财经
我想提出两个主张:
这对区块链可扩展性的模块化和整体观点提出了挑战。 (1) 是对整体观点的挑战,整体观点认为单个高吞吐量链是扩展的最佳方式。 (2) 是对模块化观点的挑战,因为这意味着多链或多汇总生态系统不足以进行有意义的扩展:增加对共享状态和流动性的访问。
如果(1)和(2)为真,那么解决可扩展性问题需要跨许多链扩展对共享状态和流动性的访问。 Polygon 的解决方案是聚合层,或“AggLayer”。 AggLayer 为近乎即时的跨链交易提供安全性,并实现跨链的统一状态和流动性。
这篇文章将深入探讨 AggLayer 是什么、它如何工作以及它与共享定序器或证明器有何不同。
L2 存在一个问题:流动性和状态在汇总和 L1 中分散。
从可用性的角度来看,这很糟糕,因为它引入了复杂性,但也很昂贵。流动性分散意味着更高的滑点和更差的执行力。乐观汇总(OR)要求用户支付昂贵的第三方桥梁费用,以避免 7 天的提款延迟。即使是 ZK Rollups(ZKR)也要求用户往返以太坊进行无需信任的跨链交易。
这就是低延迟、无需信任的跨链交易目前不可能实现的原因。
假设有两个 Rollup,链 A 和链 B,共享一个到 L1 的桥。链 A 上的 Alice 想向链 B 上的 Bob 付款,因此 Alice 锁定或销毁链 A 上的代币,以便转移到链 B。
链 B 需要满足两件事才能将这些代币安全地记入 Bob 手中。
如果包含 Alice 交易的批次未在以太坊上最终确定,则链 A 可以与链 B 模棱两可,并通过将 Alice 的资金保留在链 A 上并在链 B 上铸造 Bob 的资金来进行双花。同样,如果链 B 不检查A 的有效性证明,那么链 A 可以包含无效交易并从 B 窃取资金。
(1)和(2)意味着无需信任的跨链交易不可能具有低延迟。 (1) 目前需要 12 分钟,而 (2) 需要等待 OR 中的挑战期持续时间以及 ZKR 上的证明生成几分钟。
良好的用户体验与 20 分钟的延迟是不兼容的。聚合层就是为了解决这个问题而设计的。
Polygon 是一个由 ZK 驱动的 L2 生态系统,以以太坊为基础。聚合层是一种由质押节点运行的去中心化协议,可确保低延迟、跨链交易和统一桥的安全性[1]。
在这种情况下,“安全”的含义如下:
如果该链状态依赖于另一个链的无效或未最终确定的状态,或者如果它包含来自原子 [2] 包的交易,但该交易尚未在所有链上成功执行,则汇总的状态不可能在以太坊上最终确定/结算。其他连锁店。
换句话说,如果链 B 的状态依赖于链 A 的无效或未最终确定的状态,则无法在以太坊上最终确定。
这个保证很重要。在链 A 的状态在以太坊上最终确定或生成证明之前,它允许链 B 以超低延迟安全地与链 A 互操作。
聚合层分三个阶段运行。假设链 A 是运行在 Polygon 生态系统中的 ZK 驱动的链。
链可以自行在延迟和活跃性保证之间进行权衡。一条链可能会在预确认步骤之后选择与另一条链进行互操作,以实现超低延迟的跨链交易,但从根本上讲,该模型与等待确认甚至最终确定的链兼容。
第三步是跨链交易的安全保障。让我们进一步深入探讨这种设计如何实现安全的跨链交互。
以跨链传输的第一个例子为例。 A 链上的 Alice 想要锁定或销毁区块中的一些代币为了在链 B 上铸造代币并将其转移给 Bob。如果链 B 不等到在以太坊上通过有效证明最终确定,那么链 A 可以模棱两可或给链 B 一个无效状态。
聚合层以一种简单的方式解决了这个问题。链B可以暂时假设有效并将在以太坊上最终确定,甚至无需等待证明。链 B 的定序器提交到所声明的链 A 状态根作为标头中的依赖项(作为)在提交到聚合层之前。链 B 构建所需的延迟时间从 20 分钟减少到最多几秒。
在确认步骤中,聚合层为提交的每个块/批次构建依赖关系图。例如,如果依赖于取决于,这又取决于,一旦有证据就被确认已提交。但是,即使已收到,仅由双方确认和。
此设计的关键方面是证明聚合电路强制跨依赖项的一致性。如果与块不一致链 A 提交的,或者缺少证明, 然后不能包含在以太坊上最终确定的聚合批次中。
该机制保证如果链 A 模棱两可或提交无效块,例如,那么任何依赖于链 A 的无效或模棱两可的状态根的批次都无法在以太坊上最终确定/结算。即使 AggLayer 本身模棱两可,链也有密码学保证,任何依赖于无效或模棱两可的块的块都无法最终确定,因为不一致或无效的链状态的两个证明无法在证明聚合电路中聚合在一起。这确保了上述安全特性得以保留。
安全机制可以扩展到原子情况。假设用户向多个链提交原子交易包。这个bundle是有序的,因此在A链上执行交易的结果会传递到B链,同样B链的更新状态会传递到C链,等等。如果所有链上的所有交易都成功执行,则包含该bundle;否则,就会被拒绝。
理想的情况是提供包含原子事务的能力,而无需:
这会引发与异步情况类似的安全问题:链 A 可能会模棱两可并提交实际上不包含原子包的批次,或者向链 B 发送无效结果。
幸运的是,异步情况下的相同机制可以重用于原子情况。链 B 提交捆绑包并从其他链接收交易结果。聚合层(和证明聚合电路)检查捆绑包在链之间是否一致。如果捆绑包中的所有交易均成功执行,则包含来自链 B 的捆绑包的批次只能在以太坊上最终确定/结算。
聚合层通过异步跨链调用实现超低延迟的跨链可组合性。这是一个非常强大的原语:合约可以以超低延迟安全地调用其他链上的合约,而无需等待以太坊最终确定。用户可以通过 Polygon 上的 OKX 链进入,并立即一键存入另一链上 Aave 上的高流动性借贷市场,而无需换出打包的合成资产。
AggregationLayer 保证近乎即时的跨链交互是安全的 [3]。但这只是成功的一半。链运营商如何共享和信任彼此的链状态?他们如何协调原子束的生产?
AggLayer 的设计目标是它应该是最小的。其目的是保证安全并提供一个基础,允许任何人构建协调基础设施,在各种不同的环境中提供活力。
链的运营商可以根据他们的信任假设在紧急协调机制之间自由选择 - 这些机制可能包括中继、共享证明基础设施或共享有效性排序器 [4] 集群。当依赖于其他链状态或捆绑包时,这些可以保护链免受活性问题的影响。
Polygon 生态系统优先考虑链的选择和主权。链可以运行自己修改过的执行环境,使用自己的代币进行质押和汽油费,选择自己的数据可用性机制等。同样,链应该决定如何处理互操作性和活性故障风险之间的权衡。有几种选择:
需要注意的重要一点是,用户不能造成活性故障,只能造成链行为不当或故障。模棱两可和提交无效区块可能会受到严厉惩罚,无论是通过削减还是从 AggLayer 中弹出链并阻止其无缝互操作的能力。因此,活性故障应该极其罕见。
区块链可以采取额外的预防措施,通过维护与其互操作的其他区块链的白名单或黑名单,并对任何批次中可以共同涉及的区块链数量设置限制,来最大程度地降低活跃性问题的风险。他们可以依靠运行完整节点的第三方来确保,如果一条链在生成证明之前离线,则有一个备份证明者。
链协调接受原子束的机制也是灵活的。例如,链的子集可以在共享有效性排序集群中进行互操作,以实现极低的延迟,或者它们可以依赖于中继。
加密经济保护的中继器可以通过为两条链运行完整节点并证明每条链的状态有效来实现链 A 和 B 之间的互操作性。即使链 A 或 B 预先确认了新批次然后离线,共享证明者基础设施也可以介入生成证明。
您可以想象在 AggLayer 提供的安全基础之上出现的新型协调基础设施,从而实现新的、更好的互操作性和共享流动性形式。至关重要的是,整个 Polygon 生态系统不需要共享相同的基础设施或信任假设。它不需要在单个共享定序器或证明器下运行。相对于 OR 来说,这是一个极其重要的优势。
聚合层从根本上允许我们创建一个感觉就像使用单链的多链生态系统。它是整体和模块化主题的综合:统一状态、流动性和可组合性,以及多链生态系统的无限可扩展性。
这是一个基本上只适用于基于 ZK 的系统的愿景。我将在以后的文章中详细阐述这一点,但希望实现快速互操作性的乐观生态系统必须依赖于共享定序器。这对链来说是一笔糟糕的交易:它限制了它们重新分配定序器费用和 MEV,共享有效性定序器迫使链使用同质执行环境,共享定序器代表了可扩展性瓶颈,同时带来了更高的延迟。
AggLayer 不是共享定序器。它不需要接收或处理单个链上发生的交易,因此它不会出现可扩展性瓶颈。您可以将其大致视为链状态或批次的共享排序器,但每个批次可以包含的事务数量没有实际限制,因此 AggLayer 不是瓶颈。
此外,跨链互操作性破坏了 OR 的一个重要属性。使用单链 OR,任何人都可以运行 OR 的完整节点,并在交易发布到 L1 后立即确认交易有效并最终确定。在多链情况下,情况不再如此 - 现在需要为 OR 互操作的每个链运行完整节点。
相比之下,Polygon 的愿景是链拥有主权。他们可以使用任何执行环境,可以依赖任何集中式或分散式排序器,并且可以自行在跨链延迟和活跃度之间进行权衡。
这是一个反映现有互联网的愿景。互联网是一个可弹性扩展、无需许可且统一的环境。同样,AggLayer 具有可扩展性和无需许可的特点,它对参与链没有任何限制,并允许用户在整个生态系统中无缝移动资产和状态,为互联网价值层提供统一的界面。
这就是 Polygon 的未来:不是单一的、不是完全模块化的,而是聚合的。
[1] 确保统一流动性的一部分是摆脱桥上包装合成代币的可怕用户体验。 Polygon 的 LxLy 桥的用户可以跨链无缝转移资产,同时保持可互换性。然而,为了安全地做到这一点,我们需要防止最薄弱的环节安全——或者攻击者破坏单个链并耗尽桥中所有链上的所有资金。我将在以后的文章中讨论如何做到这一点,但 AggLayer 可以利用证明聚合步骤来实施链级会计,避免最薄弱的链接安全性。
[2] 当我提到原子跨链交易时,我的意思是用户跨多个链提交“包”或一组交易的能力。原子束具有以下属性:当且仅当所有交易成功执行时,其交易才会包含在每个相关链中。如果单个交易失败,则该捆绑包不能包含在任何链上。
最基本的例子还是我们的跨链转账。假设爱丽丝想发送 1 个 ETH 给鲍勃,但爱丽丝在链 A 上,鲍勃在链 B 上。假设两个汇总都有一个共享的本机桥,爱丽丝可以在链 A 上销毁她的 ETH,并在链 B 上铸造 ETH,这转移给鲍勃。但保证她不能在不销毁 ETH 的情况下铸造 ETH 至关重要,反之亦然 - 她可能会失去 ETH 或桥梁抵押不足。
这就是原子事务如此重要的原因。为了允许链之间的低延迟交互并使使用 Polygon 生态系统 感觉 就像使用单链一样,需要原子保证。
[3] 这是一个微妙的点,但从生态系统的角度来看 - AggLayer 提供了安全性,但从单链的角度来看,这种设计优先考虑活跃性而不是安全性,因为链 B 可以依赖于链 A 的链状态那是无效的。在这种情况下,链 B 将不会被 AggLayer 接受(由证明聚合电路强制执行),并且需要构建一个不依赖于 A 的新块。
[4] 我们的方法整体上很大程度上归功于Umbra Research 的共享有效性测序设计。