撰文:闪电黄世亮
在官方宣传上,Arbitrum 和 Optimism 里的资产(包括 ETH、usdt、uni 等等)的安全等级和 L1 相同的。虽然到现在为止,实际运行的结果是 Rollup 还没有出现资产丢失的报道。但其实,这些资产是很复杂的,分三种情况。
在 6 月 1 日,Circle 宣布了它们将发布官方的 Arbitrum 版本的 USDC。
在 Arbitrum 上,其实早就有了 USDC,这个 USDC 是怎么来的?这个原有的 USDC 在 Circle 发布官方版后,现在改名成了 Bridged USDC,代号从 USDC 变成了 USDC.e。但这个改名都只是在区块浏览器层面上的解析名的修改,并不能在合约层面上修改。
这个 USDC.e 是从 Arbtirum 的官方桥,从 L1 桥接过去的,下面是我刚做的测试
从 L1 通过 Arbitrum 的官方桥将 USDC 发送到 Arbitrum,在 L1 上 USDC 就是 Circle 官方部署在 L1 的 USDC 合约,到了 Arbitrum 就变成了 USDC.e,这个合约是 Arbitrum 部署的。
就这两个版本的 USDC,我们能够搞明白在 Arbitrum 上的资产的来源。
1.通过 Arbitrum官方桥从 L1 跨到 Arbitrum 的资产。
这些资产在 L1 上会被保存在 Arbitrum 部署在 L1 的用于充值提现的那个合约,这就是 Rollup 在 L1 的主合约,用于记录 L1 上所有充值用户的状态。
用户从 L1 通过 Arbitrum 官方桥跨到 Arbitrum 时,发生的动作是用户将资金存入 Arbitrum 部署在 L1 的主合约里,然后在 Rollup 这一端 Arbitrum 会 mint 出等额的资产给用户。反过来,就是 Rollup 这一端销毁,在 L1 那一端提现。
这些通过 Arbitrum 官方桥充值到 Arbitrum-Rollup 的资产,的安全性是符合 Rollup 设计文档里写的,安全和 L1 近似。哪怕是 Rollup 的运营商跑路了,用户也可以强行在 L1 上的这个 Rollup 合约里进行提款。
2.由项目方在 Arbitrum 独立发行的代币资产。
像 AiDoge 就是在 Arbitrum 发的一个币,这个币在 L1 上是没有的。这种资产就是把 Arbitrum 当成是一个独立的链来看待。
Circle 在 Arbitrum 上发布的 USDC 官方版,就属于这一类。
如果 Arbitrum 跑路了,这种基于 Arbitrum 原生性发布的资产肯定是归零了,你也无法在 L1 上恢复的。因为 L1 上本质上就没有这一块资产。
3.还有另外一类资产,是通过第三方跨链桥跨到 Arbitrum 上的。
主流的第三方跨链桥,如 multichain,就是把 Arbitrum 当成是一条独立的链来看待,比如将 BSC 和 Arbitrum 进行桥接。
通过桥两边链资产的锁定和释放,进行跨链。
这一类通过第三方桥的跨到 Arbitrum 的资产,其安全性是同时受制于第三方桥和 Arbitrum 的,任何一方跑路和出 bug,资产都可能会丢失。
第三方桥这种情况会更复杂一些,因为第三方桥一般都是资金池的工作方式。
比如 multichain 这个桥,从 ETH-L1 和 Arbitrum 进行 ETH 资产的桥接,那 multichain 必须在 L1 和 Arbitrum 两端都有对应的 ETH 资金池,以提供用户跨链。当然用户从 L1 跨到 arbitrum 时,就是用户将 ETH 充值到 multichain 的 L1 资金池,然后 multichain 将 arbitrum 上的 ETH 释放给用户。
如果第三方桥的一端资金耗尽,那桥就只能单向工作了。
而对 Arbitrum 官方桥来说,并没有资金池的概念,动作是充值和 mint,提现和销毁,的概念。
所以通过第三方桥进出 Rollup 的资金,其安全性还受桥的资金池的影响。绝大多数第三方跨链桥的资金池本质上是一个多签,这些资金池是可以被卷款跑路了。
如果一切如 Rollup 的设计文档设计的,Arbiturm 官方桥本质上在 L1 的那个充值合约是不能卷款跑路的。
但现在 Arbitrum 并没有实现欺诈证明,所以本质上 Arbiturm 可以关闭 Rollup 服务,通过恶意修改 Rollup 和 L1 两边的状态来实现偷钱。