利用RRC-7755推进以太坊互操作性

本文介绍了RRC-7755,这是一种用于安全跨链通信的互操作性标准,它无需信任任何第三方。该标准利用密码学证明来实现无需信任的验证系统,但当前在Optimistic Rollup上的实现面临高昂的Gas成本和资金锁定机会成本等经济障碍。文章还探讨了RRC-7755的技术细节、安全保障、经济经验教训,并强调了其设计原则对于未来互操作性的价值,尤其是在ZK Rollup领域中的应用前景。

简而言之:我们正在分享我们关于 RRC-7755 的研究;这是一种用于安全跨链通信的互操作性标准,无需信任任何第三方。

介绍

如今,在区块链之间转移资产和信息通常需要通过复杂的桥接网络,每个桥接器都有其自身的安全考虑和用户体验。 这种碎片化阻碍了真正互联的链上世界的潜力。 认识到这一关键差距,并借鉴 Vitalik Buterin 等思想领袖关于基础的、信任最小化的互操作性的想法,我们的 Base 团队开发了 RRC-7755。 该标准旨在实现安全的跨链通信,而无需依赖受信任的中介,从而挑战了当前的主流方法。

我们成功构建了一个系统,证明安全、无需信任的跨链消息传递在技术上是可行的。 RRC-7755 证明,你可以仅使用区块链本身的基础安全性来验证跨链操作。

然而,在当今的基础设施上实施这种严格的安全性揭示了重大的经济障碍,特别是对于诸如 Base 之类的乐观 Rollup 而言,证明验证的高 Gas 成本以及由于固有的漫长挑战期而导致的资本锁定机会成本。

这些经济现实使得当前的 RRC-7755 实现对于当今乐观 Rollup 上的频繁、低价值用例来说是不切实际的。 虽然这导致我们暂停了对 RRC-7755 的直接工作,但该项目成功地产生了关键的见解并确立了一个明确的“北极星”。 所遇到的原则和技术障碍直接指向 ZK-Rollup,在 ZK-Rollup 中,近乎即时的最终确定性大大降低了经济摩擦,使这种无需信任的模型极具前景。 我们希望这次深入探讨能够为未来的互操作性设计提供有用的基准和参考点,特别是在 ZK 领域——无论是对于我们的团队还是更广泛的社区。

这篇文章详细介绍了 RRC-7755 的技术历程:它的工作原理,它提供的安全保证,所汲取的经济教训,以及为什么它的设计原则仍然是互操作性未来的宝贵基准,尤其是在 ZK 生态系统中。

区块链群岛:没有桥梁的岛屿

孤岛问题

将加密生态系统想象成一个群岛。 每个岛屿(区块链)都有自己独特的文化、规则和资源。 以太坊是最大、最成熟的岛屿,但由于住在那里变得越来越拥挤和昂贵,人们开始在附近的岛屿上定居——例如 Base、Optimism 和 Arbitrum 等二层解决方案。

这些新岛屿解决了关键问题——居住成本更低,出行速度更快,有些是专门为游戏或金融等特定活动设计的。 但有一个问题:在岛屿之间旅行既昂贵又复杂。

当用户和应用程序需要在多个链上运行时,他们面临着一个根本性的挑战:如何在这些孤立的环境之间安全且轻松地移动价值和信息? 如果岛屿之间没有有效的“桥梁”,生态系统仍然会是分散的,资源和机会都处于孤岛状态。

独特的跨链安全挑战

大多数现有的跨链桥都需要大量的信任假设。 它们依赖于中介系统——验证器网络、多重签名方案或乐观验证——来证明不同区块链上的状况。 这种模型虽然实用,但会迫使用户和应用程序信任桥梁运营商、他们的安全协议以及诸如挑战期之类的机制的有效性。

当处理跨链通信的独特复杂性时,这种对信任的依赖变得岌岌可危,从而引入了在单个区块链中很少见到的风险:

  1. 状态最终性差异: 不同的区块链以不同的速率实现交易最终性,且确定性的程度也各不相同。 尝试在具有不同步最终性特征的链上同步操作会产生可利用的时间缺口。 恶意行为者可能会利用这些差异来执行双重支付或在链上创建不一致的状态,从而导致潜在的经济损失或协议不稳定。

  2. 链重组: 区块链历史,特别是在链的顶端附近,有时会被重写(“重组”)。 虽然通常是短暂的,但在桥接操作期间,源链或目标链上的重组可能会使先前确认的跨链交易无效。 这构成了重大风险,因为原本认为已经结算的资产或消息可能会有效地从账本历史中消失。

  3. 消息传播保证: 确保消息在链之间可靠地转发需要为转发参与者提供强大的经济激励措施。 不充分或设计不当的激励结构可能会导致消息延迟、审查或完全无法传递,从而可能阻止跨链交互或锁定用户资金。

  4. 安全不对称性: 区块链具有不同级别的经济安全性、共识算法稳健性和验证器集去中心化。 在具有不同安全配置的链之间进行交易,本质上会将交互暴露于较弱链的安全级别。 如果来自高安全性链的资产通过安全性较低的链桥接或交互,则可能会变得容易受到攻击,从而产生系统性风险。

这些复杂性阻碍了真正安全的跨链应用程序的开发。 它们迫使开发人员构建复杂的缓解措施或接受交易对手风险。 解决这些根本性的挑战需要超越基于信任的模型,转向可验证的、密码学保证的跨链交互,这些交互体现了“不要信任,要验证”的原则。

RRC-7755:岛屿之间安全桥梁

在深入了解 RRC-7755 如何工作的技术细节之前,让我们先探讨一下它解决跨链通信问题的基本方法。 虽然现有的桥为了方便而牺牲了安全性,但 RRC-7755 采取了不同的路径:利用密码学证明来创建一个无需信任的验证系统,该系统不需要第三方验证器。

工作原理:一个简单的流程

RRC-7755 通过一个简单的流程运行,该流程涉及链上和链下组件:

  1. 请求: 链 A 上的用户指定他们想要在链 B 上执行的操作,并为任何可以执行该操作的人提供补偿

  2. 警报: 链 A 的 Outbox 合约发出一个事件,警告一个名为“执行者”的专门参与者网络

  3. 交付: 执行者在链 B 上执行请求

  4. 调用路由: 链 B 的 Inbox 合约将指定的调用路由到其对应的帐户

  5. 验证: 执行者在链 B 上创建一个收据

  6. 证明: 执行者创建一个证明,证明该收据存在于链 B 上,并将其提交给链 A

  7. 补偿: 链 A 验证证明并向执行者发放付款

post image

用户无需信任执行者,因为证明本身就是无可辩驳的证据,证明消息已完全按照请求传递。

用户体验

从用户的角度来看,RRC-7755 的功能几乎就像使用单条链一样——无需切换网络、与复杂的桥界面交互或管理多条链上的 Token。 底层的复杂性由协议和执行者处理,从而创造了无缝的体验。

思考这个系统的另一种方式是,它是一种将跨链交互中涉及的所有风险和摩擦从用户转移到旨在处理它的复杂链下参与者的机制。

这种简单性对于主流采用至关重要。 使用 RRC-7755 的去中心化应用程序可以为用户提供与多个链上的合约交互的能力,而无需他们了解所涉及的技术复杂性。

当与 ERC-4337 智能账户配对时,该协议还可以为 DeFi 应用程序保留一个关键属性:保持原始用户身份作为目标链上的消息发送者。 这实现了以前使用传统账户无法实现的许可跨链交互,从而为安全的跨链 DeFi 开辟了新的可能性。

了解存储证明

这就是事情变得令人兴奋的地方。 RRC-7755 拥有一个结算层,可验证消息是否已完全按预期传递,除了以太坊 L1 和所涉及的 L2 中已经存在的信任假设之外,没有添加任何信任假设。 这是由 EIP-1186 存储证明实现的——一种用于验证智能合约存储值的密码学技术。 让我们来分解一下。

数字公证人:一个真实的类比

想象一下,你住在加利福尼亚州,同时在纽约购买房屋。 你需要绝对确定房产契约存在且未被篡改,但你无法亲自前往纽约县书记员办公室。

在传统世界中,你将依靠受信任的中介机构——律师、产权公司和托管服务——来为你验证这些事实。 实际上,你是在信任这些第三方会告诉你真相。

存储证明消除了对此信任的需求。 它们就像拥有一个技术系统,让你可以直接验证纽约记录办公室中该财产契约的确切内容,而无需离开你在加利福尼亚州的家——并且可以确定信息未被更改。

Merkle 树

为了了解存储证明的工作原理,我们首先需要掌握区块链中广泛使用的一种基本数据结构:Merkle 树。 Merkle 树提供了一种高效且安全地验证大型数据集完整性的方法。

post image

核心思想很简单:

  1. 各个数据项(树的“叶子”)被哈希。

  2. 成对的这些哈希值被连接,然后一起哈希以形成下一级别的节点。

  3. 这个过程重复进行,配对和哈希节点,直到只剩下一个哈希值:根。

这种结构具有两个对我们的目的至关重要的关键属性:

  1. 篡改证据: Merkle 根充当整个数据集的唯一、固定大小的指纹。 即使任何叶子中的单个字节的数据发生更改,生成的 Merkle 根也会完全不同。

  2. 高效验证: 为了证明数据集中的某个特定数据存在,只需要提供数据本身以及将其链接回根的哈希序列。 任何人都可以使用这个相对较小的证明来重新计算根哈希值并验证数据的包含性和完整性,而无需访问整个数据集。 该证明的大小通常随着数据集大小的增加呈对数增长,因此即使对于大量数据,验证也非常高效。

以太坊如何存储数据

以太坊实际上并不使用标准 Merkle 树,而是使用一种更复杂的数据结构,称为 Merkle Patricia Trie (MPT)。

MPT 结合了 Merkle 树的验证特性,以及使其能够高效地存储和更新键值对的附加功能——非常适合以太坊的需求。 这种结构允许高效的查找、插入,最重要的是,可以对整个状态进行加密验证。

以太坊的状态以分层结构组织:

全局状态根 -> 账户 -> 账户存储根 -> 合约数据

在顶层,以太坊维护一个全局状态根——一个 32 字节的哈希值,以加密方式表示区块链的整个状态。 从这个单一哈希值,你可以验证系统中的任何状态。

每个以太坊账户(无论是用户钱包还是智能合约)都存储在这个状态 Trie 中,并包含四个基本字段:

  • nonce:一个计数器,用于跟踪从此账户发送的交易数量

  • balance:账户持有的 ETH 数量(以 wei 衡量)

  • storageRoot:一个哈希值,指向另一个包含账户存储数据的 MPT

  • codeHash:对于智能合约,它是合约字节码的哈希值

对于智能合约,storageRoot 尤其重要。 它指向另一个 MPT,该 MPT 组织了所有合约的状态变量。 这种嵌套结构创建了一条可加密验证的路径,从全局状态根到存储在任何合约中的任何特定数据。

这种架构的强大之处在于,对任何智能合约中任何变量的任何更改都会向上传播,从而更改合约的存储根,从而更改状态 Trie 中账户的元数据,最终更改全局状态根。 这提供了一种防篡改机制,可以使用单个哈希值验证以太坊的整个状态。

这种精确的、分层的状态数据组织方式使得存储证明成为可能,我们将在接下来探讨。

存储证明

存储证明本质上是一条密码学路径,从已知的状态根通向特定的数据。 它允许任何人验证特定值是否存在于合约中的特定存储位置,而无需信任任何中介。

要创建存储证明,我们:

  1. 从已知的状态根开始

  2. 按照路径到达特定账户

  3. 导航到该账户中的特定存储槽

生成的证明是哈希的集合,允许验证者重建此路径并确认数据的真实性。 大多数 RPC 提供程序都提供生成这些证明的方法,使其可用于实际应用。

嵌套存储证明

RRC-7755 的创新之处在于通过嵌套存储证明将此概念扩展到跨链验证。

post image

对于链 A 上的智能合约验证有关链 B 的信息:

  1. 链 A 必须能够访问 Layer 1 的状态根

  2. 链 B 必须将其状态根发布到 Layer 1

  3. 然后链 A 可以验证:

    1. 链 B 的状态根是 L1 状态的一部分
    2. 特定数据存在于链 B 的状态中

这创建了一条密码学信任链:

链 A -> 以太坊 L1 -> 链 B -> 特定数据

EIP-4788 提案标准化了以太坊 L2 如何访问 L1 信标根,从而启用了这条链上的第一个链接。 每个 L2 已经将某种形式的状态发布到 L1,从而启用了第二个链接。

这一突破意味着一条链上的合约可以以密码学方式验证另一条链上发生的事情,而无需信任任何验证器、预言机或其他第三方。

幕后花絮:RRC-7755 实现

虽然我们之前已经介绍了 RRC-7755 的高级流程,但让我们检查一下使该系统在实践中起作用的关键技术组件。 我们将重点关注该实现的两个特别优雅的方面:合约架构和身份保留机制。

智能合约架构

RRC-7755 使用一对专门的合约来处理跨链通信:

  • Outbox 合约(在源链上): 管理请求创建、补偿锁定和证明验证。 当用户想要在另一条链上执行操作时,他们将其请求提交给 Outbox,Outbox 将生成一个唯一的消息 ID 并锁定指定的补偿金额。

  • Inbox 合约(在目标链上): 接收并执行用户请求的操作。 当执行成功时,它会将执行收据存储在一个确定的存储槽中,该存储槽可以在以后以密码学方式进行验证。 该收据是上一节中详细介绍的存储证明的目标,允许源链释放补偿。

这种架构的强大之处在于其简单性。 没有特权管理员角色,没有外部验证器,也没有多重签名方案。 整个系统通过透明的、不可变的合约运行,合约的行为由底层区块链保证。

解决身份问题

跨链通信的一个具有挑战性的方面是保留用户的身份。 在传统的桥系统中,当消息到达目标链时,它来自桥合约,而不是原始用户。 这为需要验证谁授权操作的应用程序带来了重大限制。

RRC-7755 通过与 ERC-4337 智能账户的本地集成来解决此问题。 以下是它如何以简化的术语运作:

  1. Inbox 可以充当 ERC-4337 UserOperation 的“支付者”,而不是直接执行调用

  2. 这允许原始用户的智能账户执行操作,而不是 Inbox 本身

  3. 因此,目标合约会将调用视为来自用户的账户,而不是桥

技术实现通过让 Inbox 合约承担双重角色来实现此目的:

  • 作为执行用户指定调用的标准合约

  • 作为为 UserOp 提供 Gas 费用的 ERC-4337 支付者

这种灵活性允许 RRC-7755 同时支持基本的跨链消息传递和高级的身份保留交互,使其适用于各种应用。

经济可行性

虽然我们的存储证明系统提供了严格的安全保证,但在现实世界中构建无需信任的系统意味着要面对经济现实。 为什么 RRC-7755今天不是每个地方的默认桥? 归根结底是执行者承担的成本。

执行者的负担

想象一下一位执行者使用 RRC-7755 将资产(例如 10 ETH)从 Arbitrum 桥接到 Base:

  1. Alice想要在 Base 上获得 10 ETH,这是从 Arbitrum 发起的。 她在 Arbitrum 上锁定了 10 ETH + 一笔赏金。
  2. Bob是一位执行者,预先支付了他自己的 10 ETH 在 Base 上发送给Alice。
  3. Bob执行、获取证明并将其提交回 Arbitrum 以索取Alice最初的 10 ETH + 赏金。

为了使该系统发挥作用,Alice的赏金必须涵盖Bob的成本:

  1. 目标链(Base)上的 Gas: 执行Alice的请求。
  2. 源链(Arbitrum)上的 Gas: 验证证明以索取赏金。
  3. 关键因素:资本机会成本: Bob的 10 ETH 会被锁定,直到证明在 Arbitrum 上得到验证。

这种机会成本是当前摩擦所在,这是由当今 L2 基础设施中固有的两个关键因素驱动的:

  1. 证明的价格: 在 EVM 链上验证嵌套存储证明并不便宜——想想 80 万到 100 万 Gas。 此外,证明本身 (12 - 15 kB) 会导致 Rollup 产生大量的 L1 数据成本。 虽然我们看到了明确的优化这些验证成本的途径(可能优化 10 倍!),但它们代表了今天的障碍。

  2. 乐观 Rollup 最终性:现在是像 Base 这样的乐观 Rollup 的致命弱点。 它们需要大约 7 天的挑战期,然后它们的状态才能被认为在以太坊 L1 上是最终的。 由于 RRC-7755 依靠这些 L1 状态根来实现其绝对安全保证,因此执行者必须等待整个这段时间,他们的证明才是有效的。 将资本锁定 7 天会产生巨大的机会成本,使得与更快、基于信任的替代方案相比,大多数交易所需的赏金过高。 这是乐观 Rollup 安全模型的基本经济后果。

这些经济因素使得 RRC-7755 对于向乐观 Rollup 的频繁的小额价值传输来说是不切实际的。 安全溢价实在太高了。

但这是关键的转折: 这种经济壁垒在很大程度上随着 zk-rollups 的出现而消失了。 为什么?

  1. 近乎即时的最终性: ZK 证明,一旦在 L1 上得到验证,就可以提供即时最终性。 没有 7 天的挑战期。

  2. 最小的机会成本: 延迟从 7 天缩短到几分钟或几小时(zk-rollup 批量处理并发布到 L1 所需的时间)。 这大大降低了执行者的资本锁定成本。

  3. 证明优化协同作用: 前面提到的 Gas 和数据优化同样适用,使得 ZK 验证更加高效。

虽然验证 Gas 成本需要在各个方面进行优化,但基本的障碍——7 天的资本锁定——会随着 ZK 的出现而消失。

除了原始成本组成部分之外,确定适当的赏金本身也提出了一个仍然需要解决的挑战。 RRC-7755 本身并没有规定定价机制。 这让用户猜测,如果赏金太低,则面临交易失败的风险,如果赏金太高,则会过度支付。 可能的解决方案涉及链下协调,可能通过请求报价 (RFQ) 系统,用户可以预先与执行者或执行者网络协商价格。 虽然这种依赖链下基础设施是可行的,但会引入用户体验摩擦,并可能将价格发现集中在主要的执行者网络周围,这在某种程度上违背了协议去中心化和中立性的核心目标。

RRC-7755:成就和未来前景

设计和实施 RRC-7755 是我们探索区块链互操作性未来的一项重要工作。 我们成功构建了一个系统,证明基于底层区块链安全原则的链间信任最小化消息传递在技术上是可行的。 在一个致力于解决跨链桥安全复杂性的生态系统中,该项目提供了一种密码学安全方法的具体实现。 所探索的概念已在生态系统中引起共鸣,影响了正在进行的工作和围绕互操作性的讨论。

实现的技术属性

  • 安全性: 实施了使用基于 L1 状态的存储证明的跨链状态验证系统,允许链 A 在数学上验证链 B 上的状态,而无需新的受信任的第三方。 这用密码学证明代替了外部证明。

  • 表现力: 支持用户指定的任意 EVM 调用,为构建跨链应用程序的开发者提供了一个低级别、不受约束的原语,从而实现广泛的用例。

  • 去中心化: 通过一个无需许可的“执行者”参与者网络运行,消除了中继或验证的特权角色,并通过避免集中依赖性来提高弹性。

  • 身份保留: 与 ERC-4337 智能账户本地集成,允许用户的账户(而不是桥合约)成为目标链上的 msg.sender,这对于许可的 DeFi 和其他身份识别应用程序至关重要。

  • 响应式用户体验: 将执行者快速链下执行与之后链上结算分离,在保持执行者补偿的密码学安全保证的同时,为用户提供近乎即时的反馈。

未来方向

构建和测试 RRC-7755 实现发现了关键挑战,并指出了互操作性的强大未来解决方案:

  • 零知识证明: 传统存储证明的高 Gas 成本突出了 ZK 证明(如 Groth16)用于跨链验证的潜力,以相同的数学确定性显着降低了证明大小 (~98%) 和 Gas 成本 (~66%)。

  • 证明聚合: 启发了对批量验证系统的研究,通过在单个交易中验证多个证明,有可能将每个请求的证明成本大规模降低 70-80%。

  • 链集成标准: 支持独特的 L2 数据发布方法的复杂性促使人们努力标准化 L2 如何将状态提交给 L1,从而简化了未来跨链系统的集成和维护。

  • 协议弹性: 强调了跨链协议需要优雅地处理链升级和分叉,从而形成更强大的设计,包括容错和可选的回退机制。

  • 经济设计和意图: 执行者模型激发了围绕跨链资本市场和基于意图的架构的创新,提出了流动性提供者可以为执行者提供资金的模型,为更广泛的跨链前景创建了一个基础经济层。

结论

RRC-7755 证明了安全、无需信任的跨链消息传递在技术上是可行的,并且似乎已在生态系统中引起共鸣。 一些项目正在探索类似的验证方法,包括 Offchain Labs 提出的 消息广播系统、Uniswap 的 The CompactAcross Protocol 的结算层。 我们的努力为如何以密码学确定性进行跨链交互提供了一个具体的例子。

开发过程突出了关键的经济考虑因素。 虽然验证成本提出了一个挑战,但像 Base 这样的乐观 Rollup 立即广泛采用的主要障碍是约 7 天的最终确定性窗口,这给执行者带来了巨大的资本成本。 然而,这些原则与 zk-rollups 非常吻合,zk-rollups 的近乎即时的最终确定性大大降低了这种经济摩擦,为该模型提供了一条有希望的道路。

鉴于 Base 缺乏经济可行性,我们目前正在暂停 RRC-7755 的开发。 该项目通过证明技术概念并提供有价值的见解实现了其目的。 它可以作为未来互操作性设计的有用基准和参考点,特别是在 ZK 领域——无论是对于我们的团队还是更广泛的社区。

RRC-7755 是一个强有力的提醒,即我们可以在不放弃我们的去中心化和信任最小化核心价值观的情况下推进区块链技术和用户体验。 构建这个未来——一个真正全球化、开放的链上经济——需要精确地解决这些艰苦的、基础性的问题。

在 Base,我们每天都在努力构建可靠的基础设施,以支持链上的创新、创造力和自由。 我们正在积极寻找先驱者加入我们这项使命。 如果你热衷于解决该领域中的艰巨技术问题,我们正在招聘 ——我们很乐意收到你的来信。

在社交媒体上关注我们,以了解最新信息:XX 上的 Base 团队)| Farcaster | Discord

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

0 条评论

请先 登录 后评论
Base 中文
Base 中文
江湖只有他的大名,没有他的介绍。