作者:Nick Pai, Katie Chiou / 来源:https://archetype.mirror.xyz/LskN487jd3aRva3_ypT3yGZJeu9OKri
翻译:火火/白话区块链
一、简介
新的互操作性项目在基础设施堆栈中的定位对于做出明智的投资决策至关重要。区块链基础设施的技术堆栈在多年来发生了巨大变化,要求对理解互操作性的框架进行相应调整。
通过这篇文章,我们希望反思区块链互操作性堆栈的演变,解析其各个组成部分,并分享我们对接下来的思考模型。
原生Layer1
原生Layer1 (L1): 2017 年,区块链格局由孤立的链组成,这些链只能通过CEX作为枢纽进行一定程度的连接。
“Alt(可替代的)”L1:随着以太坊获得市场份额,它成为其他区块链拥有与以太坊的本地桥梁的赌注,而不必总是通过 CEX。这些联系进一步巩固了以太坊对其他链的主导地位,创造了“Alt L1”的叙事。
1、“Alt”第 1 层
以Layer 2 (L2) 为中心:下一步的发展是新的网络不仅连接到以太坊,还将其用作数据可用性层。这些网络,如 Arbitrum 和 Optimism,为最终用户提供了增强的用户体验,但没有交易安全性,因为它们使用以太坊作为结算层。自然地,它们被称为“以太坊 L2”或 rollups。
2、以 Layer2 中心
这把我们带到了今天,L2 已经获得了很大的动力,以太坊路线图是“以 Rollup 为中心”的,现在每个 L2 之间都有连接,这与五年前区块链基础设施的状态相比是一大进步。
如今,围绕区块链互操作性的设计问题通常围绕以下因素构建:
1)L2 提供非常快速且廉价的 UX
2)L2 和 L3(应用链)作为新用户应用程序的所在地
3)更多链利用共享安全和基础设施
4)重点关注 L2 链之间的通信,而不仅仅是 L1 到 L2 链的通信
3、未来会发展如何?
区块链之间的连接数量让那些想要更好地了解一切如何运作的人们变得更加模糊。
我的Token如何从 L2 转移到 L2?
谁在保护我的数据?我隐含地信任谁来保证我的数据安全?
为了回答这些问题,我们需要了解堆栈的每一层。
4、本文要介绍的内容:
1)L2s
- 为什么 L2 快速且便宜以及它们的安全性如何
- L2与以太坊(L1)的关系
- L2 和数据可用性 (DA) 层之间的关系
2)测序仪
- 什么是定序器
- 共享测序仪
3)欺诈证明、有效性证明和权威证明 (PoA)
4)桥梁
- 桥梁类型
- 桥接器与定序器
5)意图
- 什么是意图
- 意图与桥梁
6)CEX 和 DEX
现在让我们深入了解一下。
二、正文
1、第2层
用户与 dApp 交互,并且用户要求这些 dApp 快速且便宜,这就是为什么如今的 dApp 经常部署在 Polygon、Arbitrum 和 Optimism 等 L2 上,而不是部署在以太坊上。
1)为什么 L2 比 L1 便宜?
L2 处理链下交易,并定期将批量的最终交易发布到某个链上层,以确保数据确实已发布并可用于验证(数据可用性)。L2 之所以能够如此之快,是因为它们在私人服务器上记录链下用户交互,从而提供“web2”体验。在后台,L2 将批量的这些事务发布到数据可用性层,提供额外的透明度和安全性。
如今,L2 如何发布和存储交易数据/历史记录?
选择安全的数据可用性层是 L2 做出的最重要的安全决策。如果 L2 是“以太坊Rollup”,那么它将其交易数据发布到以太坊。
选择以太坊有两个原因。首先,以太坊是“最不可变”的层。一旦汇总将交易数据发布到以太坊,在以太坊上逆转最终性的成本就非常昂贵。因此,L2 可以将其状态发布到以太坊,并且非常有信心(在以太坊约 13 分钟的最终确定期或 32 个时隙的 2 个纪元,每个纪元各花费 12 秒之后)他们的交易不会被删除。第二个原因是以太坊数据的高可用性。以太坊拥有大量节点来复制和验证交易数据,因此数据不太可能消失或完全不可用。
然而,使用以太坊来获取数据的成本是众所周知的。虽然以太坊通常是最安全的数据可用性层,但它并没有针对仅存储数据进行优化——它是一个通用计算机器。在EIP4844实现之前,没有办法只请求块空间,你必须支付与其他人在以太坊上发送正常交易相同的 gas 费。因此,如果 L2 选择在以太坊上发布状态,它会选择蓝筹选项,但也会为其安全性支付溢价。
对于想要减少向州政府支付费用的 L2 来说,有哪些选择?那就是进入DA层。
像 Celestia 这样的数据可用性 (DA)层经过优化,可以专门提供数据可用性,其中对块空间的需求较低,而且块空间本身也更便宜。
自然的缺点是,考虑到引导网络所需的必要性和时间,较新的 DA 层在启动时的经济安全性低于以太坊。像 Celestia 这样的纯 DA 层的另一个缺点是,您无法自然地对数据进行计算,这在仲裁或验证证明时增加了一层复杂性。当在 L2 上发送交易时,您应该问:这个 L2 将其状态发布到哪个 DA 层,我是否信任它,以及以后如何访问该数据?
模块化DA层
2)为什么 L2 需要付费发布数据?
在外部 DA 层上发布状态消除了 L2 的集中化向量,因为它允许对状态进行无需许可的独立验证。在乐观Rollup的情况下,需要数据可用性来生成欺诈证明。对于 ZK rollups,需要数据可用性来确保审查阻力和活跃性。
如果 L2 从未在链上公开发布其状态,那么它只会位于私人服务器中。用户将完全受到 L2 运营商的摆布,这也带来了有关活跃度的问题(如果中心化运营商离线怎么办?)。
如果 L2 将其状态发布到相对不安全的链上,那么用户也会受到该链的支配。例如,如果 L2 将其历史快照发布到 Tron,那么孙宇晨将有能力更改 L2 的历史。
这就是为什么大多数 L2 选择将状态发布到高度安全且经过考验的链(例如以太坊)。用户希望知道他们可以控制自己的数据,并且他们的交易不会被修改或逆转。
值得重复的一个关键点:L2 的安全性取决于它向其发布状态的 DA 层/L1。
没有 DA 的汇总:
3)这是否意味着 DA 层与以太坊具有竞争力?
他们争夺大量数据。在 EIP4844 之后,这些 DA 层将直接与以太坊“Blob”市场竞争。
对于发送Token或与 DeFi 应用程序交互等其他类型的交易,以太坊与其他图灵完备的区块链(例如 Solana、BSC 和 Avalanche)竞争,这些区块链不向以太坊发布其状态。
2、Sequencer(定序器)
1)什么是Sequencer?
Sequencer 是实际将 L2 状态发布到 DA 层的参与方。他们负责确定 L2 上事务的规范顺序并将该历史记录的快照发布到 DA 层。Sequencer向 DA 层支付费用来发布数据,通过收集在 L2 上发送交易的用户支付的所有费用来赚取收入。Sequencer可以是单一的白名单方,也可以是去中心化市场中争夺发布下一组 L2 状态的竞争者。通常,测序人员需要了解:
- 在 DA 层上声明,以便它可以将数据发布到 it/mint 桥接资产(如果 DA 层支持智能合约)
- L2 层上的状态,以便它可以对 L2 事务进行排序
大多数动态假设Sequencer也是一个块构建器(这对于当今生产中的定序器来说是正确的),但这些角色可以根据分散式定序器、共享定序器和 PBS 的设计/开发来解耦
2)什么是共享Sequencer?
一般来说,如今共享Sequencer的提案将交易排序和执行分开;共享Sequencer不执行事务。这种设计决策使共享定序器具有可扩展性——它们速度快,定序器节点要求很轻,因为排序是无状态的,并且分散定序器集变得相对容易。
然而,由于这些定序器不执行交易,这给区块构建者(实际执行跨连接域的状态转换的各方)施加了集中力量。连接到共享排序层的汇总越多,构建者在跨领域具有竞争力所需的要求就越高。资源需求越高,构建者级别的集中化风险就越大。围绕去中心化区块构建和提议者与构建者分离的设计空间是巨大的,出于范围的考虑,这里不会深入探讨这个问题。
另一个问题:共享定序器本身不提供交叉汇总原子条件事务执行。
例如,一个常见的需求是用户将Token从 Optimism 桥接到 Arbitrum,然后在 Arbitrum 上交换Token。理想情况下,用户希望这两个操作按顺序执行,或者根本不执行。在最坏的情况下,用户最终会在 Arbitrum 上获得未交换的Token。
为了对Rollup A 和 B 之间的事务启用这种条件执行,共享定序器需要对 A 和 B 进行排序,并将共享 L2 状态发布到包含两个条件事务的 DA 层。
这很可能是共享定序器下一步发展的方向:由“共享欺诈证明”或 ZKP 保护的相互依赖的 L2 状态。为了实现这一目标,共享定序器行为和系统合约必须进行更改,以支持在单个 L1 事务中发布多个 L2 状态。
预测:如果共享排序成为单一排序的主导范式,那么使用共享排序器的 L2 之间的状态有效性将是相互依赖的。
关于共享定序器的另一个潜在问题是,使用共享定序器网络的团队可能会失去对某些操作参数和价值获取机会的控制。例如,共享排序器可以提取对汇总本身有价值的汇总内 MEV。鉴于这将是共享排序器市场中明显的逐底竞争,因此共享排序器更有可能专注于提取汇总间 MEV,而无论如何,单个汇总器都无法轻松访问这些 MEV。
3、欺诈证明与有效性证明与权威证明
我们已经确定 L2 应该将其数据发布到透明的地方,但我们如何验证数据呢?
如果 L2 定序器发布到 L1 的任何数据都被认为是有效的,那么什么可以防止 L2 定序器发布 L2 历史记录的错误快照呢?定序器不能从用户钱包中额外支付一点 ETH 吗?
1)欺诈证明
在乐观Rollup中,L2 状态以乐观方式发布,并且在通过挑战窗口(例如 7 天的挑战窗口)之前不会被视为最终状态。在此挑战窗口期间,任何人都可以对 L2 状态承诺提出异议,如果他们认为该承诺缺少正确的交易历史记录。要提交争议,必须发布一份欺诈证据,该证据用于交互式过程中以解决争议。
欺诈证明的主要优点是仅在存在争议时才需要生成。
2)有效性证明
有效性证明声称 L2 状态有效,并在发布时证明这一点。没有争议窗口;如果该证明由旨在验证此类证明的 L1 合约验证,则 L2 状态有效。
通过有效性证明来证明 L2 状态的主要优点是发布到 L1 的 L2 状态可以立即实现最终确定。这意味着 L1 合约可以立即将 L2 状态视为“最终”状态并对其采取行动。这就是为什么 ZK Rollups 的 L2 到 L1 提款速度非常快(约 24 小时),而 Optimistic Rollups 的挑战窗口为 7 天。
3)权威证明(PoA)
验证 L2 状态的最后一种方法是通过权威证明 (PoA)机制。此时,发布 L2 状态的定序器基本上有权声明:“这是有效的,因为我正在发布它。” 这就是当今实践中许多汇总的工作方式:排序器运行经过许可的完整汇总节点,通过 PoA 验证状态。没有挑战窗口,也没有证明。用户只需相信这些定序器不会修改 L2 状态。
4)欺诈和有效性证明实际上是如何运作的?
这些证明实施起来非常困难,验证起来也非常昂贵。它们本质上需要模拟一组所谓的 L2 事务和初始状态的 L2 VM 执行。如果在初始状态上的那些所谓交易之后产生的结果状态与定序器发布到 L1 的结果不同,则该状态是有争议的。
这些证明必须在 L2 状态发布到的同一 DA 层上进行验证,这使得验证的运行成本很高。
欺诈和有效性证明之间的主要权衡:
A、验证证明的成本:有效性证明通常比欺诈证明昂贵得多。
B、速度:欺诈证明使用争议时间延迟 (DTD) 系统(挑战窗口),这意味着交易在窗口通过之前不会在 L1 上达成最终结果,而有效性证明会在单个交易中立即得到验证。
C、实施复杂性:两种类型的证明验证合约都很难构建。有效性证明更多地依赖于密码工具的简洁性,以便它们可以在单个交易中模拟 L2 状态。欺诈证明是交互式的,因此需要更少的加密工具,但需要更多的链下基础设施来支持交互式证明系统。
D、L2 VM 实现复杂性:通过有效性证明验证的 L2 状态通常需要对 EVM 进行修改,以使有效性证明验证更便宜。通过欺诈证明验证的 L2 状态可以更轻松地准确反映 EVM。
E、Sequencer 的运行成本:有效性证明需要为每次向 L1 提交的内容付费,而欺诈证明仅在提交挑战时才会产生费用。然而,在提交质疑的情况下,欺诈证明需要为争议仲裁各方之间的每次交互付费(交互式),而每个有效性证明都是在单次交易中生成的(非交互式)。
F、风险资金上限:如果欺诈性排序器没有争议,所有 L2 资金都面临风险。如果定序器未提交有效的有效性证明,则 L2 状态将被有效冻结,但不会损失资金。
G、验证者的运营成本:在防欺诈系统中,应该始终有至少一个诚实的验证者监视排序器的提交。在有效性证明系统中,假设提交了有效性证明,则无需外部验证器
值得注意的是,非交互式欺诈证明的设计正在开发中,尽管在技术上实现起来更具挑战性。
4、桥梁
在深入研究具体示例之前,有必要梳理一下不同上下文中讨论桥梁的方式之间的细微差异。
任意消息桥(AMB)是一种跟踪任意跨链状态的协议——任意意味着从Token传输到数据存储再到其他任何事情。更简单地说,消息桥本质上使一条链的状态在另一条链上可用。(这听起来很像共享Sequencer。)
代币桥是消息桥的一种应用,它利用跨链状态在链之间转移资产/资本。
例如,如果Token桥看到交易 A,Optimism 上发生了 10 ETH 的“销毁”,那么它会指示 Arbitrum 上的合约向用户释放 10 ETH。如果 10 个 ETH 的销毁从历史记录中消失,那么Token桥可能要为此损失承担责任。Token牌桥建立在消息桥之上,因为它需要了解源链和目标链上的状态,并且还需要知道交易何时在源链上完成,然后才能作用于目标链。
在 L2 之间移动资产的最安全(尽管最慢)的方法是通过源 L2 的规范Token桥提取到 L1,然后通过 L2 自己的规范Token桥从 L1 存入目标 L2。使用规范Token桥通常是一个缓慢的过程,因为它依赖于从 L2 到 L1 的退出。
“规范Token桥”本质上是 L2 定序器提供的一项特殊服务。通过规范Token桥存入 L2 意味着将资金锁定在 L1 上的定序器合约上,并要求 L2 定序器在 L2 链上铸造等量的资金。
从 L2 提款需要将资金发送到 L2 上的特殊合约进行“销毁”,并等待排序器向 L1 发布此销毁的证明。一旦该证明得到确认,就像排序器向 L1 发布的任何其他 L2 状态一样,排序器的 L1 合约可以向用户释放Token。
使用规范Token桥的速度与等待汇总全节点在 L1 上最终确定 L2 状态一样慢,但它也与与 L2 交互时一样“安全”。
在 L2 之间转移资产的一种更快的方法是使用快速桥接器。快速桥将您的资金暂时托管在非排序器合约上,然后将您的资金放在目标链上。这意味着用户暂时信任快速桥,不会修改他们的信息或窃取他们的资金。
桥梁的工作速度有多快:
上图显示了用户能够快速收到资金的资金流向、桥接器因提供快速桥接服务而赚取的费用以及桥接器为用户承担的最终风险。
首先,快速桥接将桥接金额减去所需目标链上的费用记入用户。在本例中,这是 10 ETH 减去 0.1 ETH 费用。用户高兴地离开,因为如此之快就收到了预期金额的资金。
假设这座桥更喜欢在以太坊上托管资产。因此,在用户不知情的情况下,桥接协议将通过较慢的规范桥接以太坊提取用户的存款。一旦规范的桥接提款完成(例如上图中的 7 天后),桥接协议最终会在以太坊上产生 0.1 ETH 的费用盈余(10 ETH 用户存款减去记入用户的 9.9 ETH)。
作为获得此服务报酬的交换,桥梁承担用户存款的最终风险:如果用户存款在 7 天最终确定期内的任何时间被源链的排序器恢复,则桥梁将损失资金。这是因为桥已经将用户资金记入目标链,但将不再通过规范桥接收用户的原始存款。
桥接器与定序器
用户如何确信,如果他们在源链上存入 10 ETH,他们将在目标链上收到 10 ETH(减去费用)?这归结为各自桥的安全机制,我们将看到它看起来与定序器的安全机制非常相似。
当桥接器将资金记入目标链上的用户时,用户需要一种方法来验证桥接资金是否已正确收到。理想情况下,桥接器还可以在发生错误时提供追索选项。桥提供这种保证的一种方式是允许用户在挑战窗口中挑战桥。与欺诈证明过程非常相似,这允许用户将自己的安全掌握在自己手中,并在他们从未按预期收到资金的情况下提供欺诈证据。这就是为什么桥将其交易历史记录发布到不可变的 DA 层非常重要,以便为用户提供透明度,并向他们保证,如果他们确实挑战桥,桥就无法修改其历史记录,并且必须纠正错误。
因此,现在很明显,快速桥和定序器都需要 DA 层,以便让用户相信他们正在诚实地处理交易。
桥的安全性取决于它向其发布状态的 DA 层及其争议机制。
这些快速桥梁可以为用户提供经济原子性,而无需技术原子性。如果用户可以表达他们在一个汇总上执行一笔交易的偏好,并以另一笔交易为条件,并且只有在满足这两个条件时才愿意付款,通过提供这些经济激励,快速桥梁为用户提供了技术原子性的属性在不同汇总之间缺乏某些实际通信或共享排序层的情况下,将其执行外包给专门机构。
桥还可以通过发布到目标链的附带消息以及有效性证明来为用户提供安全保证。这些类型的桥称为ZK桥。目标链需要部署一个合约,该合约可以模拟源链的共识,并可以验证源链上所声明的事件是否发生。有效性证明用作此验证合约的输入,以向合约证明发送到目标链的消息是在源链上发送的请求的准确表示。
当然,如果网桥不想透明且不可变地在任何地方发布数据,也可以使用 PoA。
5、意图
意图是用户希望满足的一组偏好,包括他们希望满足这些偏好的目标链。
意图市场提供跨一个或多个链存储意图的规范历史记录。意向市场允许用户表达他们的偏好,中继者可以满足这些偏好,并为满足这些偏好提供验证。如果用户认为中继者没有正确实现他们的意图,那么意图市场应该为用户提供一种对中继者提出争议或挑战的方式。
这听起来很像一座桥。
意图与桥梁
意图是创新的,因为它们为表达和执行交易的不同的、更灵活的机制/语言打开了设计空间。
意向市场不一定是跨链的,但它已经做好了跨链的准备,因为它已经定义了一种新的范式和语言来表达偏好和存储规范的意向历史。
因此,跨链意图市场可以被认为是通用消息桥接的更具体形式。
Archetype 团队在之前的文章中概述了意图系统(SUAVE、Anoma)的具体示例。
6、CEX/DEX
我们在这篇文章的开头首先回顾了在加密货币时代的亿万年前,CEX 是如何成为加密资产的主要枢纽的。鉴于我们刚刚概述的自那时以来的所有演变,CEX/DEX 在当今的框架中处于什么位置?
CEX 本质上的功能类似于 dApp 和Token桥,因为您可以使用它们作为将Token从一个网络转移到另一个网络的方式。您几乎可以将 CEX 视为权威证明桥梁。如果用户的资金被盗,该交易平台几乎无法为用户提供追索权。主要的途径是亲自合法地向 CEX 提出质疑。GLHF。存在于单链上的 DEX 是 dApp。跨链 DEX 就像Token桥加上 dApp。
三、结论
让我们回顾一下我们构建的模型的完整图表:
区块链互操作性堆栈在过去几年中经历了多次迭代,为历史上密切关注该领域的人们留下了有价值的收获。无论您使用哪种循环流行语(排序器、桥接器和跨链意图市场),互操作性基础设施都从相同的首要原则功能开始:
1)规范地对交易进行排序(无论是单链还是跨多链)
2)将数据发布到透明且不可变的 DA 层
3)提供数据证明/验证机制
牢记这些原则,我们可以提出更好的问题,并更好地评估未来互操作性堆栈中的价值将在哪里产生。