毋庸质疑,Layer 2 扩容技术可以帮助以太坊实现性能的跃进,但是退出期的用户体验以及不同 Layer 2 网络之间的流动性割裂的问题是所必须要面对的大考。
其中最为明显的问题就是 Layer 2 的资产退出到 Layer 1 的时间窗口问题,特别是对于早期的 Optimistic Rollup 网络,基本都有 7 天的保护期。这也就意味着用户的二层资产如果需要退出到一层,需要等待 7 天时间,在这期间这笔资金是冻结状态无法使用的。
DeGate 作为致力于以太坊 Layer2 基础设施建设的团队之一,我们看到了也有很多团队开始致力于 Layer 2 资产流动性的解决方案,其中有通过状态通道,基于自建预言机和引入中间代币桥接的实现方案,其中各有利弊。
我们觉得现阶段完全去中心化的跨状态机的消息通讯需要有更成熟的二层预言机网络来验证。在现阶段基础设施条件下,优秀且足够好的流动性解决方案需要具备 : 第一,能够通过市场方式对不同层的流动性分布进行自动调节。第二,能够实现资金效率最大化的 0 资金冻结的非预付方案。 第三,最低的 Gas 消耗和最优的用户体验也至关重要。
DeGate Bridge 是基于优化稳定币 AMM 曲线,基于交易市场的方式实现的跨层资产转移的快速通道,首期的 Bridge 将通过中心化托管资产的方式实现,当以太坊上 L2 出现成熟的预言机服务后,DeGate Bridge 将转向以去中心化的方式实现资产的桥接。
当前 DeGate Bridge 服务的架构图如下,当前完整功能已完成在 Arbitruim V4 版本的测试网的部署,可访问体验:
DeGate Bridge 的目标是在 Rollup 生态早期能够帮助以太坊资产迁移门槛最大程度的降低,服务基于以太坊 Rollup 的二层基础设施的应用大规模落地,基于这个目标形成了现有的 DeGate Bridge 方案。
优化稳定币曲线
Curve 所提出的稳定币 AMM 曲线对同类资产类型的兑换十分友好,能够让价格尽量接近 1:1,同时又不会在某一笔交易后使流动性枯竭。并且该曲线本身支持超过两种资产的同池兑换,我们可以认为 Curve 的稳定币曲线对于同类资产在不同 Rollup 层的流动性兑换也同样适用。
先简单解释一下几种 AMM 的情况和特点,假设一个池子里面有两种网络下的同一种资产 , 假设资产在 Rollup A 中为 X 和在 Rollup B 中为 Y。
如果目标是价格稳定,那么最简单的公式是 x + y = D, 假设 Alice 希望兑换 dx 数量的 X,那么 (x + dx) + (y - dy) = D, 则 dy = y - (D - (x+dx)) = dx。但是这样的问题是流动性会很快枯竭,如果有一笔需要兑换大于等于 Y 的当前余额,那么就无法进行了。
如果使用 Uniswap 的公式,x * y = k,假设 Alice 希望兑换 dx 数量的 X, 那么 (x+dx)*(y-dy) = k, 所以可得 dy = y - k/(x+dx) , 这样不会出现流动性枯竭,但是在 x 和 y 数量不平衡的情况下价格波动会很大。
而 Curve 曲线则是在加法和乘法的基础上增加了一个系数 A
从公式可以看出 :
- A 趋向于 0 时 , 价格曲线趋向于 uniswap 的曲线
- A 趋向于正无穷时 , 价格曲线趋向于直线
而在 Rollups 模型中,特别是 Optimistic Rollup 的 Layer 2 到 Layer 1 需要一定的保护期,而 Layer 1 到 Layer 2 是实时的,所以我们可以大致判断在网络早期的一般情况下,Layer2 上的同种资产由于流动性受限,价值会略低于 Layer1 上的资产。如果 Price L1/Price L2 大于 1,例如 1.0x,那么会导致 Layer 1 和 Layer 2 的池子资金失衡,例如是这样的 L1:L2=20:180,那么此时交易的滑点会高,不利于用户完成大额交易,做市池的资金利用效率也会降低。这里两边资金池失衡的程度取决于 A 的取值,首先,我们希望 A 的取值是大的,以提高资金利用效率。 所以我们希望对公式做一定的人为偏移,使得在价格均衡点,例如 1.0x 处,真实余额比例是 L1:L2=100:100。
所以在 DeGate Bridge 的具体实现中,我们改进了这个公式,增加了一个 b 参数
可以通过以下简化公式来理解
通过对 b 的调节,DeGate Bridge 中对二层资产增加了一个默认的偏移量,使得 L1:L2 的价格均衡点不是 1, 而是略高于 1。
那么我们是否可以得出结论,系数 b 应该是一直乘在 L2 的真实余额上,使得出现以下我们想要的场景:
- Price L1/Price L2=1 的时候,真实余额比例 L1 : L2= 100 : 100/b
- 在均衡点 Price 1/Price 2 = 1.0x 的时候,真实余额比例 L1 : L2 = 50% : 50%,即两侧等量。
非合约实现的「优势」
当前以太坊的网络情况,Gas 消耗是一个不容忽视的问题。我们调研了大多数 Rollup 方案的原生资产桥,在资产从 Layer1 到 Layer2 的场景下,Gas 消耗大多需要十几万 Gas,也就是说按照以太坊当前价格,一笔资产上 Layer2 需要支付几十美元的 Gas 费用。这个门槛将极大的阻碍以太坊 Layer 2 的落地。
虽然我们知道使用智能合约方式也许会有一定的信任优势,但是在目前还未有成熟的二层状态预言机方案,大多数方案都基于一定的安全假设和信任基础,鉴于对用户体验和费率的权衡,我们觉得使用非合约中心化的方式是以太坊 Layer 2 早期阶段资产迁移具有一定优势的的方式之一。
下面将以 DeGate Bridge 和 Optimistic Rollup L2 原生桥对比为例,说明 L1-L2 Bridge 的工作原理。
举例,Alice 希望将 1 L1 ETH 转换成 L2 ETH,我们假设:
1 L2 ETH = 0.995 L1 ETH
DeGate Bridge 费率 = Curve 费率 = 0.04%
Gas 价格 = 100 Gwei
经由 Optimistic Rollup 原生通道:
- Alice 发送 1 L1 ETH
- Alice 为 L1 上的交易支付 ~45,000 gas
- 交易被处理后,Alice 立即收到 1 L2 ETH
- 最终,Alice 支付了 1.0045 L1 ETH,获得 1 L2 ETH
- L2ETH / L1ETH = 1 / 1.0045 = 0.9955
经由 DeGate Bridge 通道:
- Alice 发送 1 L1 ETH
- Alice 为 L1 上的交易支付 21,000 gas
- 约 5 分钟后,Alice 从 DeGate 收到 1 / 0.995 * (1 - 0.04%) 数量的 L2 ETH
- 同时,DeGate 向 Alice 收取这笔 L2 交易的费用: x gas — 非常低,可忽略不计
- 最终,Alice 支付了 1.0021 L1 ETH,获得 1.0046 L2 ETH
- L2ETH / L1ETH = 1.0046 / 1.0021 = 1.0025
在这个示例中,Alice 节省了 ~0.7% 的资金,代价是额外等待 5 分钟,以及信任 DeGate Bridge 的托管式运营(今后将转为去中心化)。
下面我们反转方向,让 Bob 转换 1 L2 ETH 成为 L1 ETH:
经由 Optimistic Rollup 原生通道:
- Bob 发送 1 L2 ETH
- Bob 在 L2 上支付的 gas 费用很低,可忽略不计
- 7 天后,Bob 在 L1 上领取 1 L1 ETH,并为此支付 ~61,000 gas
- 最终,Bob 支付了 1 L2 ETH,获得 0.9939 L1 ETH
经由 DeGate Bridge 通道:
- Bob 发送 1 L2 ETH
- Bob 在 L2 上支付的 gas 费用很低,可忽略不计
- 约 5 分钟后,Bob 从 DeGate 收到 0.995 / 1 * (1 - 0.04%) 数量的 L1 ETH
- 同时,DeGate 向 Bob 收取这笔 L1 交易的费用: 21,000 gas
- 最终,Bob 支付了 1 L2 ETH,获得 0.9925 L1 ETH
在这个示例中,Bob 支付 ~0.14% 的额外成本,将原本 7 天的等待期缩短到 5 分钟。过程中 Bob 同样需信任 DeGate Bridge 的托管式运营。
完全去中心实现
为什么 DeGate Bridge 不一开始就以去中心化的方式实现,让 L1 和 L2 上的资金池都由智能合约来托管呢?
原因是非常技术性的:L1 和 L2 分别是独立的状态机, L1 的状态可以通过原生的通道立即传递给 L2,且 L2 可以完全信任该消息,因为 L2 本身的安全性都是依赖 L1 的;而反过来却不可以,也就是说,基于 Optimistic Rollup L2 的状态通过原生的通道传递给 L1 的时候,L1 不能立即信任该消息,而是要有一定的等待期,等待期是为给潜在发生的挑战留足时间,以此来制止和纠正 L2 上潜在的作弊。
DeGate Bridge 的去中心化实现,依赖于从 L2 向 L1 上传递准实时消息的可靠成熟的预言机,当这样的预言机出现后,DeGate Bridge 将能够启动去中心化的升级,届时 DeGate Bridge 也将获得去中心化产品的特性:
- Bridge 资金池不设 Admin Key,即任何人无法以任何形式挪用用户的做市资金;
- 任何人均可利用 DeGate Bridge 的交互界面的开源代码,自行部署交互界面后接入 DeGate Bridge 协议。
在完全部署去中心化版本之前,资金池将由 DeGate Home Dao 和社区合作伙伴共同建立,若产生资金安全问题,由 DeGate Home Dao 所有资产进行担保赔付。
展望
我们希望通过 DeGate Bridge 的部署,能够高效的帮助以太坊 Layer 2 生态能够更快的落地,我们也期待和愿意同以太坊社区生态项目建立合作,一同建立更多样资产的跨层通道。
附 : DeGate Bridge 测试网功能 (部署与 Kovan 和 Arbitrum V4 测试网)
1. 访问DeGate Bridge
2. 通过水龙头 Faucet 获取测试代币 KUSD(ERC20),也可以通过水龙头页面跳转获取 KOVAN 上的 ETH 作为测试的 GAS。
3. 几十秒后你将获得 100 个 KOVAN 网络的 KUSD 和 Arbitrum 测试网的 KUSD。
4. 首先选择从 Kovan 网络兑换 20KUSD 到 Arbitrum 上,签名后即开始兑换流程
5. 订单发起后,在订单详情中可以明确清晰的看到交易目前的状态,交易共会通过本层确认和目标层发送两个过程,所有过程中的费用消耗也将罗列,整个过程大概 5 分钟
6. 同时也可以尝试反向将 Arbitrum 上的 KUSD 换到 Kovan 网络,因为需要在 Arbitrum 上发起交易,Metamask 会自动弹出提示添加 Arbitrum 网络并完成切换
7. 完成后可在首页查询到历史的订单记录