以太坊 Layer 2 资产桥方案解析:Arbitrum、zkSync 与 DeGate Bridge

简析目前存在的几种 L2 方案

以太坊自 2015 年诞生以来,快速成长为最活跃、最繁忙的区块链,无论是从应用的丰富性、链上的资产规模还是从交易量、安全性等指标看,以太坊都是当前无可争议的公链之王。而随着以太坊生态的快速发展,特别是 DeFi 的彻底引爆,导致原本设计的吞吐量严重不足,根据 etherscan.io 的每日交易数据统计,当前以太坊 TPS 在 17 左右(合约操作占比较大降低了这一数值),动辄几十甚至上百美元的 Gas 费和超长的交易等待时间成为限制以太坊生态进一步蓬勃发展、进入主流世界的主因。

长期以来,整个以太坊社区都在为解决吞吐量和高昂手续费问题而努力,其中一个主要解决方案即以太坊 2.0,它将大幅增加每秒交易数量,并将最快于 2021 年底发布;而如 EIP-1559 提案,则希望对交易手续费计费方式进行调整,来变相达到降低 Gas 费用的目的。

与此同时,有一个声音出现了:真的有必要将所有交易都放在主链上计算处理么?

Layer2 简介

将本应在以太坊主链即 Layer 1 (L1)上处理的交易,转移到 Layer 2 (L2)上处理,随后再将结果从 L2 传回 L1 确认,我们将这种解决方案称为以太坊 Layer 2。L2 的理论 TPS 达到了 2000-4000,这已经超越了 Visa 的处理能力——每秒 1700 笔交易。因此,许多人认为 L2 方案是以太坊赢得主流用户的关键。

目前存在的 L2 方案,主要包括以下几个:

  • Optimistic Rollups:数据上链、欺诈证明。应用团队包括 Optimism、Offchain Labs Arbitrum rollup、Fuel Network;
  • ZK Rollups :数据上链、零知识证明。应用团队包括 Loopring、Starkware、Matter Labs zkSync、Aztec 2.0;
  • Validium :数据链下保存、零知识证明。应用团队包括 Starkware、Matter Labs zkPorter;
  • Plasma :数据链下保存、欺诈证明。应用团队包括 OMG Network、Matic Network、Gazelle、Leap DAO;
  • State Channels: 应用团队包括 Connext、Raiden、Perun.

需要重点指出的是,侧链方案因为其共识安全性没有继承 L1,所以我们并不认为侧链属于 L2 方案。

在众多方案中,Rollups 正逐步取得市场的认可,成为以太坊最可靠的扩容解决方案,一方面该方案直接继承了 L1 的共识机制和安全特性,另一方面它也不会损害 L1 的安全性和主权。事实上,Vitalik 直言不讳的说过,Rollup 是以太坊长期扩容解决方案中可以最快被实现的一个。而 Rollups 的两种方案 Optimistic Rollups 和 ZK Rollups 最大的区别是它们分别使用了欺诈证明 (fraud proofs) 和有效性证明 (validity proofs) 来确保 batches 里的后状态根 (post-state root) 的正确性。

对于 Rollups 方案而言,如何将资产从 L1 存入 L2,再从 L2 提回 L1,更进一步的,如何从一个 L2 网络提取到另一个 L2 网络,是一个核心问题,我们将承担这一责任的基础设施称为桥(Bridge)。

原生桥实现

我们研究了当前主流的 Rollup 方案的原生桥实现原理,并从 Optimistic 和 zkSync 方案中各选取一个代表,进行对比。

Arbitrum

Arbitrum 协议利用其 L1、L2 之间的通信能力,理论上可以无须信任的将任意形式的以太坊资产(包括 Ether、ERC20、ERC721 等)在 L1、L2 之间转移。当将资产从 L1 转入 L2 时,资产被存入一个 L1 上的 Arbitrum 桥合约中,之后一笔相同数量的资产在 L2 上被铸造并存入指定地址;而将资产从 L2 转回 L1 时,资产将在 L2 上被销毁,随后等量的资产将在 L1 的桥合约中变为可用。此外,从 L2 赎回资产到 L1 时,有一个关键性的区别是,用户发送交易后,必须等待一个挑战期的结束,才能最终在 L1 上执行。这是由 Optimistic Rollup 安全模型决定的。

值得注意的是,官方建议使用「可重试票据 Retryable Tickets」机制进行 L1、L2 之间的通信。可重试票据的运作方式大致如下:L1 向 L2 发起的交易首先被存入 inbox 中,并附带 calldata、callvalue、gas info 等交易参数。当这笔交易首次执行失败后,它将被放入 L2 的「重试缓冲区(retry buffer)」中,这意味着在一段时间内(通常为一个挑战期,即大约一周),任何人都可以通过重新执行这笔交易来赎回票据。L2 至 L1 的重试交易没有时间限制,争议期结束后的任何时间点都可进行。

这种机制设计主要是为了应对这样的场景:当某个用户希望将某笔 token 从 L1 存入 L2,首先会将这些 token 存入 L1 的桥合约中,同时在 L2 上铸造等量的 token。假设 L1 上的交易已经完成,但是 L2 上的交易却因为手续费不足失败了,这会导致一个严重问题:用户在 L1 上的 token 已经转出,但是在 L2 上却没收到 token,实际上,这些 token 被锁在了 L1 的合约里。通过可重试票据机制,用户(或者其他任何人),可以在一周内,使用足够的手续费重新执行这笔交易,并最终在 L2 上获得 token。

以下是 Arbitrum 原生桥的基本步骤:

L1 ->L2

  1. 用户从 L1 发起 Deposit 交易
  2. 资产存入 L1 合约,交易被批量存入 Inbox 中
  3. 交易在 L2 被执行,铸造资产转入指定地址
  4. 如果交易失败,则交易被存入 L2 的重试缓冲区,用户可以在一个挑战期内发起重试

L2 -> L1

  1. 用户在 L2 发起 Withdraw 交易
  2. L2 链将在一定时间内收集到的交易打包,生成默克尔树,并将根节点作为 OutboxEntry 发布到 L1 的 Outbox 中
  3. 用户或者任何人可以对根节点和交易信息进行默克尔验证
  4. 挑战期结束后,用户即可在 L1 完成交易,如果交易失败,则用户可以发起重试

详情可参考 。

zkSync

在桥实现上,zkSync 和 Arbitrum 相比,主要的区别在于 Withdraw 时,对交易的验证采用了基于零知识证明的有效证明,而非欺诈证明,其基本步骤为:

L2—>L1

  1. 用户在 L2 发起 Withdraw 交易:将交易数据编码为字节串,并使用正确的 zkSync 私钥对该字节串进行签名,并为交易描述生成 Ethereum 签名或提供 EIP-1712 签名,通过相应 JSON RPC 方法发送交易
  2. 发送交易到 L1:交易进入 zkSync operator 创建的区块,并发布到 L1 上的 zkSync 智能合约中
  3. 对区块进行验证:若干分钟后,证明该区块正确性的 ZK proof 将生成,该 proof 会通过一个验证交易发布到 L1 上,直到这个验证交易完成,Withdraw 交易完成

详情可参考 。

可以发现,在退出时间上,zk Rollup 方案明显优于 Optimistic Rollup 方案,但由于 zk Rollup 要实现完全兼容 EVM 尚需时日,所以预计 Optimistic Rollup 仍然会成为前期主流 L2 方案。也正因此,利用第三方桥来解决 Optimistic Rollup 退出期太长的问题,来带给用户更好的使用体验,成为一些团队努力的目标。

DeGate Bridge 设计理念和实现原理

DeGate Bridge 的目标是在 Rollup 生态早期能够帮助以太坊资产迁移门槛最大程度的降低,服务基于以太坊 Rollup 的二层基础设施的应用大规模落地。我们认为在现阶段基础设施条件下,优秀且足够好的流动性解决方案需要具备 :

第一,能够通过市场方式对不同层的流动性分布进行自动调节。 第二,能够实现资金效率最大化的 0 资金冻结的非预付方案。 第三,最低的 Gas 消耗和最优的用户体验也至关重要。

DeGate Bridge 基于优化稳定币 AMM 曲线和交易市场的方式实现跨层资产转移的快速通道,受限于提供 L2 状态的预言机的咱不完善,首期的 DeGate Bridge 将通过中心化托管资产的方式实现,当以太坊 L2 上出现成熟的预言机服务后,DeGate Bridge 将转向以去中心化的方式实现资产的桥接。

DeGate Bridge 详细方案设计,可参考文章:

Bridge 方案对比

在这一小节中,我们将对已上线生产或者测试网的原生 Bridge 和 DeGate Bridge 进行实测,并主要考察以下几项指标:

  • 上下桥 Gas 费用;
  • 上下桥时效性;
  • 操作复杂度;

我们在测试中统一使用 ERC20 代币而非 ETH (ETH 无须 Approve,且手续费更便宜),同时我们按 ETH 价格 $4000,Gas Price 为 100Gwei 对手续费进行拟合。

最终对比结果如下

Withdraw 手续费计算方式说明:

  • Optimism(SNX):提币操作会聚合多笔交易,按总手续费除以交易笔数计算
  • Arbitrum (Testnet):二层费用不计,只计算一层交易消耗 Gas 费
  • zkSync:费用在二层以多种 token 支付,通过一层到账交易计算大概成本
  • DeGate Bridge:费用在二层以多种 token 支付,通过一层到账交易计算大概成本

通过对比可见:

  • 时效性:Optimistic Rollup (包括 Optimism 和 Arbitrum)的下桥时间普遍需要 2 天-1 周,表现较差,DeGate Bridge 的表现较好,接近即时;
  • Gas 费用:Optimism 表现最差,Degate Bridge 的手续费消耗最少,特别是还节省了 Approve 的手续费;
  • 操作复杂度:DeGate Bridge 可以在无需用户 Approve 的情况下直接交易,对用户体验更加友好;

展望

我们相信 Layer2 和以太坊 2.0 的相继落地,将有机会成为以太坊的二次增长曲线,使以太坊进化为承载数万亿美元规模的经济带宽。而 L2 Bridge 将作为区块链基础设施之一,在这一进程中发挥重要的作用。

原文链接:

本文参与2022世界杯预选赛赛程直播社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 2021-05-12 09:55
  • 阅读 ( 559 )
  • 学分 ( 10 )
  • 分类:扩容

0 条评论

请先 登录 后评论
链闻
链闻

20 篇文章, 432 学分