简析目前存在的几种 L2 方案
以太坊自 2015 年诞生以来,快速成长为最活跃、最繁忙的区块链,无论是从应用的丰富性、链上的资产规模还是从交易量、安全性等指标看,以太坊都是当前无可争议的公链之王。而随着以太坊生态的快速发展,特别是 DeFi 的彻底引爆,导致原本设计的吞吐量严重不足,根据 etherscan.io 的每日交易数据统计,当前以太坊 TPS 在 17 左右(合约操作占比较大降低了这一数值),动辄几十甚至上百美元的 Gas 费和超长的交易等待时间成为限制以太坊生态进一步蓬勃发展、进入主流世界的主因。
长期以来,整个以太坊社区都在为解决吞吐量和高昂手续费问题而努力,其中一个主要解决方案即以太坊 2.0,它将大幅增加每秒交易数量,并将最快于 2021 年底发布;而如 EIP-1559 提案,则希望对交易手续费计费方式进行调整,来变相达到降低 Gas 费用的目的。
与此同时,有一个声音出现了:真的有必要将所有交易都放在主链上计算处理么?
将本应在以太坊主链即 Layer 1 (L1)上处理的交易,转移到 Layer 2 (L2)上处理,随后再将结果从 L2 传回 L1 确认,我们将这种解决方案称为以太坊 Layer 2。L2 的理论 TPS 达到了 2000-4000,这已经超越了 Visa 的处理能力——每秒 1700 笔交易。因此,许多人认为 L2 方案是以太坊赢得主流用户的关键。
目前存在的 L2 方案,主要包括以下几个:
需要重点指出的是,侧链方案因为其共识安全性没有继承 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 协议利用其 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
L2 -> L1
详情可参考 官方文档。
在桥实现上,zkSync 和 Arbitrum 相比,主要的区别在于 Withdraw 时,对交易的验证采用了基于零知识证明的有效证明,而非欺诈证明,其基本步骤为:
L2—>L1
详情可参考 官方文档。
可以发现,在退出时间上,zk Rollup 方案明显优于 Optimistic Rollup 方案,但由于 zk Rollup 要实现完全兼容 EVM 尚需时日,所以预计 Optimistic Rollup 仍然会成为前期主流 L2 方案。也正因此,利用第三方桥来解决 Optimistic Rollup 退出期太长的问题,来带给用户更好的使用体验,成为一些团队努力的目标。
DeGate Bridge 的目标是在 Rollup 生态早期能够帮助以太坊资产迁移门槛最大程度的降低,服务基于以太坊 Rollup 的二层基础设施的应用大规模落地。我们认为在现阶段基础设施条件下,优秀且足够好的流动性解决方案需要具备 :
第一,能够通过市场方式对不同层的流动性分布进行自动调节。 第二,能够实现资金效率最大化的 0 资金冻结的非预付方案。 第三,最低的 Gas 消耗和最优的用户体验也至关重要。
DeGate Bridge 基于优化稳定币 AMM 曲线和交易市场的方式实现跨层资产转移的快速通道,受限于提供 L2 状态的预言机的咱不完善,首期的 DeGate Bridge 将通过中心化托管资产的方式实现,当以太坊 L2 上出现成熟的预言机服务后,DeGate Bridge 将转向以去中心化的方式实现资产的桥接。
DeGate Bridge 详细方案设计,可参考文章:基于低滑点 AMM 曲线的跨 Rollup 流动性方案
在这一小节中,我们将对已上线生产或者测试网的原生 Bridge 和 DeGate Bridge 进行实测,并主要考察以下几项指标:
我们在测试中统一使用 ERC20 代币而非 ETH (ETH 无须 Approve,且手续费更便宜),同时我们按 ETH 价格 $4000,Gas Price 为 100Gwei 对手续费进行拟合。
最终对比结果如下
Withdraw 手续费计算方式说明:
通过对比可见:
我们相信 Layer2 和以太坊 2.0 的相继落地,将有机会成为以太坊的二次增长曲线,使以太坊进化为承载数万亿美元规模的经济带宽。而 L2 Bridge 将作为区块链基础设施之一,在这一进程中发挥重要的作用。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!