OG Labs:如何更好的连通 Layer2 ?

  • OG Lab
  • 更新于 2021-04-22 13:49
  • 阅读 1656

如何更好的连通 Layer2

本文整理自 OG Labs 第十一期内部探讨。

以下是探讨的主要论点与争议点:

  • 不同 L2 上同一资产的价格不同,可以套利;
  • 跨链桥并不能有效解决 L2 的流动性问题,同时也存在中性化等问题;
  • 基于市场的套利需求,为 L2 建立同一资产的 AMM 或贴现机制,能有效解决流动性问题;
  • L2 将牺牲同步可组合性(如闪电贷),但可以将 L2 看作指令层,基于消息传递去使用 L1 上的组合性;
  • 我们需要面向 L2 设计,支持 ZK 等密码学原语的消息预言机;
  • ZK 在技术特性上更好,是终极的 L2 方案,但其实 gas 消耗也不低,需要基金会为 ZK 推进节省 gas 的特殊支持;
  • OP 的流动性并没有大家想象的那么不堪,能从经济设计上衍生出很多生态。

终极的扩容方案?

在性能瓶颈与使用需求的矛盾下,layer2 必然成为阶段性热点,这是较早的共识;而在以太坊主网的架构限制与历史遗留下,相比 ETH2.0,更多人相信以 rollup 为代表的 layer2 将成为终极的扩容解决方案。

rollup

最有希望的方案是 Vitalic 强力推进的 rollup,即将多个交易的数据结构打包并压缩,产生证明,并上传到链上,再由其他节点解压,复原状态进行验证。

任何的扩容方式都会涉及到验证的问题,考察 layer2 效果的一个重要指标就是链上数据是否可用。

实际上 rollup 交易记录的详细信息存在链下,由另一个网络维持状态值,验证者对证明进行反向的验证计算,就能复原整个 rollup 虚拟机的状态和日志,从而检查 rollup 上的交易正确性。

目前的 rollup 又主要分为 ZK 和 OP 两种方式。

ZK rollup

ZK rollup 的使用了密码学中的零知识证明,从理论角度是最为可信的方案。

优点主要为:

  • ZK rollup 基于密码学保证,安全性在所有的扩容方案最高。密码学的保证大大地节省了验算的时间,目前从 ZK rollup 上推出资产,所需的验证时间大概为10-20分钟。在未来可能会出现专用的 ZK 加速硬件,验证时间有机会缩短到一分钟以内,大幅提升用户体验;
  • ZK rollup 流动性更好,因为不依靠经济保障安全性,因此不存在使用金额上限而 xDAI 这类侧链与 OP 都会存在限额的问题;
  • 默认的隐私支持。

存在的问题:

  • 不支持EVM,开发成本较高,难以留下生态;
  • 验证的过程依然要消耗不少计算资源。
Optimism rollup (OP)

OP 是一种非密码学,利用经济治理手段保证链下安全的扩容方案,为了保障安全性,提交证明的验证者节点必须进行大量的抵押。

OP 也叫「乐观证明」,「乐观」即指默认所有上传交易的节点均是可信的,仅需要从诚实者中查找不诚实者即可。在这些交易里面筛选的是不合法的交易,最终产出证明,这也称为错误性证明。

优点:方案比较成熟,实现简单;且已经引入 EVM,开发者迁移简单。

存在的问题:

  1. 存取有限额;
  2. 存在安全问题,如果交易的资产高于 OP 的抵押资产时,攻击者就会发现发起攻击是有利可图;
  3. 流动性差,OP 产出错误性证明的时间较长(最长一周),用户想从 layer2 转转入主网需要等待很长时间。

但好在 OP 技术上较为简单,生态正逐步成熟,我们可以通过一些市场化的设计,来解决流动性太差的问题: MakerDAO 为 layer2 上的 DAI 提供了7天的贴现方案,即提前通过质押 OP 的取款单借出 fDAI 释放流动性,等待 OP 7天之后产出证明,拿到钱后补还利息。

其它方案:
  • 同构侧链:POA/xDai/BSC,支持 EVM,但中心化较强,并不与以太坊主网共享安全性。
  • Plasma 链:支持智能合约,早期的 layer2 生态,但是对以太坊来说数据不可用,因此 l1 与 l2 之间需要经过检查点沟通数据,因此退出时间非常长。

流动性问题

当前存在多个 L2 网络,且每个团队的实现方式与定位都不太一样,这让原本聚合在一起 L2 的流动性产生割裂,会降低整体的资产使用效率。这里的流动性其实分为两种,一种是不涉及组合的流动性,一种是涉及组合的流动性,如对闪电贷的印象,在这里只讨论第一部分。

跨链桥

对于侧链 Layer2 ,常使用自建的资产跨链桥,基于简单的 hash 锁定,通过桥的验证者执行。桥的守卫者需要同步 L1 与 L2 的数据,但实际上 BSC 与 XDai 这类侧链上跨链桥的运行节点非常少,如 XDai 与 ETH 主网跨链桥只有 5 个守卫节点,甚至还有单节点运行的桥,因此存在较大的中心化风险,这类都是不与主网共享安全性的。

对特定场景优化

对 OP 来说,退出 L2 的保护周期长达一周,但实际上的并没有大家想象的这么夸张,如果对特定的场景进行优化,比如只涉及了简单转账的地址交易,在退出时就可以更快,几个小时就可以搞定;会就对特定的业务如去中心化交易所进行优化。

Layer2 之间多跳链接

L2 之间需要直接流转目前还比较困难,当然用户可以选择把 L1 当成中继,但是这样 gas 费与等待时间都很长。Connect 的 Vector 与 Celer 的 cBridge 可以基于状态通道的哈希锁实现 L2 之间多跳的直接转账,但目前只实现了资产的转移。

这类方案上要求 L2 具备智能合约功能,然后状态通道网络再去读取多个 L2 上智能合约中存储的状态值,再来驱动转账目标 L2 上智能合约发送资产。

市场化方案

想要真正解决流动性问题,就必须去接受同一资产在不同 L2 上的价格是不一样,因为不同的 L2 的脱出周期不同,且 L2 上生态规模、安全性保障、自身的流动性都有所不同,如 OP 上的 ETH 的价格可能就低于主网上 ETH 的价格。

因此不同的 L2 间就一定存在套利可能,这就可以引入 swap 的机制利用市场来处理流动性问题,实现 L2 间的 Cruve,而不是再依靠桥与通道。

但是这个套利过程如何运行?

对于专业做市商来说,他们可以在不同的 L2 上都持有同一资产,使用这种中心化聚合的方式搬砖套利,并未用户通过贴现的服务,如二层交易协议 DeGate。

基于 Cruve 模型实现逃离,可以去搭建另一条 L2 基础,让用户通过在 Pool 中质押不同 L2 代币众筹流动性,并在 Pool 近引入 AMM 实现自动套利,如 Hop Protocol。

也可以基于借贷模型实现,DAI 在 OP 与主网的流动性上进行了尝试:用户从 OP 取款后,预言机在主网上产出取款凭证 fDAI,将 fDAI 超额抵押借出 DAI,7天后从 OP 成功退出后偿还利息即可。

可组合性

Laye2 上需要牺牲多少的可组合性?要从两个层面来看,第一个时同步的可组合性,就是类似闪电贷这类的原子交易,可以在一笔交易中同时操作多个协议;另一种就是异步的可组合性,类似于消息层的传递,比如将 L2 当作 L1 的指令层使用,基于消息传递的预言集来操作 L1 的协议,比如 Celer 的 layer2.finance。

L2 与 L1 之间的同步可组合性需要做出牺牲。这个问题其实与以太坊的分片和波卡的同构跨链上也有所体现,我们很难同时保障跨分片的通信和原子性,除非在延迟上做出极大的让步,来保证两边链的对齐。

而基于消息传掉的组合倒是更加容易,可以在 L1 上建立一个合约,通过特定的对 L2 的消息预言机来调用合约,改变内部状态值;由于 L1 合约之间具备组合性,只要定期发送聚合的交易即可。

如 StarkWare 对 L2 上去中心化交易所的流动性聚合方案 Caspia,首先基于 L2 上的交易请求撮合交易,没法内部撮合的部分就聚合输入输出,再去 L1 网络中发送交易,期间在 L1 上传零知识证明。

需要 L2 专用的消息预言机

不管是通过市场来解决 L2 流动性割裂问题,还是把 L2 当作 L1 的指令集来实现可组合性,都需要去及时地追踪 L2 的消息,并与 L1 网络沟通(甚至上传数据证明),因此 L2 专用的消息预言机时在必须的。

并没有专门面向 L2 涉及的标准化预言机,这类预言机不仅需要及时沟通消息,保持足够的去中心化,也需要对 ZK 等密码学做出支持,甚至本身就复原并存储了完整的 L2 状态机。

实际上现在每一个项目分都会结合自己的业务,制定自己的消息传递标准,比如利用签名的许可证模式,StarkWare 的「特定条件调用」,MakerDAO 的 OP 专用预言机等。

我们能否实现一个标准化,即插即用的消息预言机呢?这将极大地提高 L2 的可用性与可组合性,创造出许多独特的业务模式。

ZK 与 OP 的取舍

长期来看,ZK rollup 的确是最终的一种理想解决方案,因为他的安全性与数据可用性最好,但早期依然存在很多问题。

ZK rollup 结合 GPU 反推证明的时间,理论上可以缩短到一分钟左右。但是实际上每在使用时,如果每分钟都去提交一次 ZK 证明,会消耗大量的 gas,早期对于项目方来说是巨大的成本。想要做到更好的体验,还是需要以太坊基金会对 ZK rollup 的 gas 费进行特殊的优化调整(节省 gas 的后门)。

OP 最大的问题在于退出的等待,但实际上并没有大家想象的那么久,大部分情况下几个小时就足够,7 天时理论上最安全的等待周期。对于不同的 L2 到 L1 之间的交互,其实可以设置不同的提现挑战期;同时给予市场的流动性方案也可以解决一定问题。

OP 另外一个问题在于,由于大部分的资金都用来做抵押,其资本效率会降低。但其实关于抵押可以实现很多有趣的经济设计,比如用多种资产去做抵押,或者对 OP 的抵押再去衍生一些流动性项目(上面有提到)。

OP 虽然技术上的属性没有 ZK 好,但是经济学上它能玩的花样会更多,并且在最早期就支持了 EVM,生态更容易发展。

面向 L2 的钱包

面对用户来说,使用 L2 的最大的阻碍在于用户体验,比如在钱包上不能看到分布在不同 L2 上资产的总余额。Metamask 对多 L2 的支持还是不够,尽管增加了 API 和不同网络的切换,但是资产上的显示还是有出错的概率。这部分也有一些第三方工具支持,比如 chainlist。

且不同 L2 间相同代币会产生多个地址,特别是在合约的使用上,新手玩家非常容易转错,这对 UX 来说是致命的。这就需要一些通过 ENS 这种人类可读的名称,进行多链地址的路由。

完整资源

[1] 本期项目资料

https://shimo.im/docs/473QyPn41GU1JN3w

我们选出了有趣的设计,包含大量财富密码

[2] 线上讨论会完整实录 https://www.bilibili.com/video/BV1pX4y1G7Rz

图片

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

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