文章围绕 rsETH 跨链桥被攻击事件,讨论了两种基于零知识证明的改进方案。其一是把 DVN 的信任锚从 RPC 状态改为 Ethereum 上的 blob 数据,通过 ZK 重新构建 L2 状态并验证燃烧事件,从而避免被伪造链上状态欺骗;其二是使用 pessimistic proof,对跨链提现设置数学上的资金约束,确保累计提现不超过真实存入,即使验证器被攻破也能限制损失。文章最后指出,随着 L2 出块和证明速度提升,链原生、低信任的跨链互操作会逐步成为基础设施。

KelpDAO 发行 rsETH,这是一种 liquid restaking token。为了让用户在不同链之间转移 rsETH,KelpDAO 使用 LayerZero 的 Omnichain Fungible Tokens(OFT)标准。这使得 rsETH 可以在源链上被 burn,并在目标链上铸造等量的 token。为了确保这一过程安全,目标链需要知道 burn 确实发生在源链上。
这正是 Decentralized Verifier Network(DVN)的职责。DVN 监视源链,当它看到一次 burn 时,会签署一份证明,确认该 burn 已发生。目标链使用这份证明来决定是否铸造对应的 token。应用会自行决定在消息被信任之前需要多少个 DVN 达成一致。KelpDAO 选择了一个。
在 Unichain 和 Ethereum 之间的通路上,攻击者入侵了单个 DVN 所依赖的 RPC endpoints,这些 endpoints 用于获取源链数据。DVN 的签名密钥从未被盗。它基于伪造的 RPC 响应,诚实地签署了一份证明,声称 Unichain 上发生了一次实际上并不存在的 burn。Ethereum 凭借这份证明释放了约 $292M。
那么,该如何构建一个不会发生这种情况的 bridge?
这种方法不需要重建 bridge。相反,我们可以更改 DVN 的 public inputs 所锚定的对象。
在被利用的模型中,DVN 通过运行自己的 op-geth 节点来跟踪 Unichain 的 state,并对这些节点报告的任何内容进行签名。如果这些节点被入侵,DVN 就会针对伪造的 state 签署一份有效证明。
如果我们把锚点换成一个 DA commitment,cross-chain messages 就会继承 Ethereum 的 finality。
Unichain 是一个 OP Stack rollup,这意味着它会把所有交易数据以 EIP-4844 blobs 的形式发布到 Ethereum。DVN 可以从 Ethereum 读取 Unichain 的交易数据,重建其应有的最终 state,并使用 SP1 证明这次重建是正确执行的。
这本质上就是 OP Succinct 在 settlement 层所做的事情,只不过应用到了 bridge verification 层。然后,链上 verifier 会在释放任何 rsETH 之前,检查 rsETH 的 burn 是否与重建出的 state 相符。如果没有该 burn,资金就会保持锁定。
这种方法会为 cross-chain transactions 增加 5–15 分钟。对于高价值转账来说可以接受,但对于实时 UX 而言,这是一个值得权衡的取舍。
上面的方法聚焦于验证 Unichain 的 state。一个互补的方法则从另一侧入手,通过限制无论 verifier 报告什么,Ethereum 上最多能提取多少来实现保护。
Pessimistic proof 在数学上执行一条简单规则:来自某条链的累计 withdrawals 不能超过累计 deposits。每一次 cross-chain withdrawal 都附带一个 proof,证明源链的流出仍然被其流入所覆盖。如果数学结果对不上,withdrawal 就会在链上被拒绝。这正是 AggLayer 目前的工作方式,它使用 Succinct SP1 在生产环境中生成 pessimistic proofs。
应用到 rsETH 上,这意味着那次特定攻击——Unichain 上几乎没有 rsETH,却在 mainnet 上铸造了约 $292M——是不可能发生的。即使 DVN 完全被攻破,这一点也成立。恶意证明可以随意声称 Unichain 的 state 如何,但账目仍然必须与实际发生的 deposits 保持平衡。
对于暴露于多链 contagion 风险的 token,这通常是最务实的防护措施。损失上限被限制在被攻陷链上的 bridged supply,而不是整个生态系统中的 total supply。
更长远的发展方向是,cross-chain verification 不再是一个附加组件,而是成为原生基础设施。实时 L2 proving 已经接近实现。主流 L2 的 withdrawal 时间正从七天缩短到几分钟。一旦 proving 足够快,共享 sequencing 加上实时 ZK verification 就会让 chain-native interop 变得可行。rsETH hack 预示了一个即将过时的类别。
但在我们到达那一步之前,每个 bridge 都建立在一个等待被检验的信任假设之上。如果你正在构建 bridge,并希望押注 proof 而不是人,SP1 已经在为 @celestia 、@AcrossProtocol 和 @Agglayer 提供 ZK bridging。我们很想和你聊聊。
- 原文链接: x.com/fakedev9999/status...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!