动机
L2 扩容解决方案的一个关键问题是,在 L2 上原生铸造的资产只能在发行的 L2 上使用,但无法在不使用外部桥接的情况下桥接回 L1 或其他 L2。这造成了碎片化。根据 L2Beat 的数据,在撰写本文时, ETH L2 上的原生铸造资产(120 亿美元)已经是规范桥接资产(240 亿美元)的一半。
共享结算层只能解决使用相同共享结算层的 L2 的这个问题。一旦出现更多共享结算层,生态系统就会变得支离破碎。
我们提出双向规范桥接作为解决方案,其中 L2 铸造的资产可以反向规范桥接至 L1。它只是一个类似 ERC-1155 的接口,L2 结算合约采用该接口,并在 L2 执行环境中添加了额外的预编译。
双向规范桥
以下是双向规范桥接的高级描述。
- L2 结算合约将成为其上发行的所有原生资产(已进行反向规范桥接)的记录账本。结算合约(在 L1 上)应实现 ERC-1155 接口,其中资产 ID 字段表示 L2 资产地址。
- 要将 L2 原生资产发送到 L1 地址,L2 用户只需将资产发送到预先指定的系统地址,这将导致 L1 上的 L2 结算合约向其自身发行 ERC-1155 代币。接下来,可以利用 L2->L1 调用机制将新发行的资产移动到任何所需的目的地。这在同一个 L2 交易中完成。
- 要将反向规范包装的资产发送回其原始 L2,可以调用 L2 结算合约上的特殊
burnAndDeposit函数。 - 由于 L2 结算合约是 ERC-1155 合约,因此 L1 EOA 和其他 L2 可以简单地持有资产或正常包装资产。这需要 L2 规范桥支持 ERC-1155 资产的包装。
- 在正常使用中,预计 L2 结算合约发行的 ERC-1155 代币的唯一持有者是其他 L2 结算合约。这意味着 L1 上的状态开销很小。
额外考虑:
- 由于 L2 结算合约充当所有未偿还资产(其他 L1 地址所拥有的资产)的记录账本,因此无需额外的信任假设即可维持资产的安全性。
- 假定任何资产以反向规范方式桥接到 L1 地址都是由用户发起桥接的风险。
- 实际上,最终用户可以利用快速流动性桥,而跨链流动性提供者则利用双向规范桥来重新平衡。
- 此机制可以扩展到 L2 上的 L3。在 L3 上发行的资产可以反向规范桥接到 L2,然后再反向规范桥接回 L1。我们需要结算合约上的 1155 ID 能够与资产地址一起在 L2 上表示 1155 资产 ID——例如,这可以通过哈希来实现。
致谢
感谢 Shumo Chu 的审阅和评论。