Ξ

    Search by

    Layer2 终极指南

    从模块化区块链角度分析 L2 类型,并举例说明不同 L2 用例的技术、路线图等。


    d

    dcbuilder.eth       2021-12-02

    来源 | mirror.xyz/dcbuilder.eth


    介绍

    在本文中,我将谈谈以太坊上的 L2,当前扩容生态系统的状态;以及为什么我认为长期来看在以太坊上运行 L2 为最经济和最技术可持续的扩容解决方案。

    免责声明:本文汇总了我的想法、其他人的资源和各种技术信息。这篇文章并不是对扩容生态系统的简单总结,而是对以太坊 L2 可扩展性的当前状态和未来可行性更详细的概述。

    为了更深入地研究,我们需要先了解一些定义和概念。


    摘要

    为了总结这篇冗长的指南,我将列出与该技术及其未来前景有关的重要几点:

    • 用户将不再需要与以太坊主网交互,因为它将仅作为 L2 的数据可用性层
    • Web3 应用程序的 UX 将把所有的复杂性都以简明的形式呈现出来
    • 模块化的区块链是经济和技术最可行的长期可扩展性设计方案
    • 目前,以太坊在模块化区块链中占主导位置,因为它拥有很强的安全性,并随着转向 PoS 安全性也会进一步提高
    • 长期来看,有效性证明比欺诈证明更佳
    • Volition L2 基础设施 (Validium + zk-rollup) 正成为基于 zkVM 的 L2 的黄金标准
    • 以太坊作为 L1 层同时也利用数据分片、维克尔树 (verkle trees)、无状态和其他改变提高可扩展性
    • L2 领域正在加速构建一个共享的跨 L2 通信框架,这将使不同的 L2 项目之间共享流动性和具有智能合约可组合性
    • L2 使用 ETH 作为 gas 费,但之后会利用激励机制创建 DAO 治理代币以实现去中心化运营
    • 应用程序设计空间正不断扩大,因为构建者可用的带宽将更多且面临的执行层障碍将更少

    Layer2 是什么?

    L2 (二层) 是一种扩容解决方案,它具有一个单独的执行层 (代码运行的地方,如 EVM 这样的环境) 并运行在 L1 (在我们的讨论中 L1 即为以太坊) 之上。而这个执行层继承了 L1 网络的安全保证和去中心化特性。这意味着,如果 L2 由于漏洞、基础设施故障而宕机,L1 也会在智能合约桥接内安全地保护用户的资产。

    根据提交到主网上的最新状态快照可以取回资产。真正的 L2 桥接是完全无需许可和去中心化的,因此一旦用户存入资金,用户总能访问自己的资产。目前几种扩容解决方案使用的是不同的加密证明机制,其中都具有不同的安全和可扩展性权衡。在下文中我们将深入讨论它们之间的差异。

    L2 的主要类型

    有两种参数可以用来对 L2 扩容解决方案进行分类。其一是根据使用的加密证明分类,其二是看它们的数据可用性 (DA) 存储在链上还是链下。

    两种主要的证明类型:

    • 有效性证明 - 这是一种利用零知识 (ZK, zero-knowledge) 密码学以确保交易有效性的数学证明
    • 欺诈证明 - 这种证明引入了一种所谓的争议时间延迟 (Dispute Time Delay, DTD),一旦证明提交至 L2,验证者留有一定的时间以标记出无效的证明;无效证明可能包含着不正确的状态转换,因而会对涉及的验证者施加惩罚;随后状态回滚至最近的有效快照状态处

    数据可用性存储在链上或链下是什么意思呢?

    • 链上:状态数据连同所有交易的所有执行的 calldata (智能合约函数调用、原生代币转移、签名) 一起放入交易捆/rollup 的加密证明中,这使得可以在链上访问和验证所有数据。
    • 链下:执行的 calldata 和状态由 L2 处理并存储在链下。这使得这个方案不够安全和去中心化。然而,链下存储数据方案更容易将更多交易打包进一个 rollup 中,也因此比链上调用数据证明方案的速度快许多。

    扩容解决方案分类

    扩容解决方案分类

    这些是帮助区分不同类型 L2 的主要相关属性。但是,既然我们可以直接通过 L1 实现扩容,为什么要使用 L2 呢?为什么不使用更便宜的链,如 Solana、Fantom、Avalanche 或 BSC?我们将在下一节回答这个问题。


    模块化 vs. 单一型基础结构

    在区块链中,有一个著名的概念叫做三难困境 —— 即试图优化三个主要的因素:安全性、去中心化和可扩展性。在同一个系统中实现三种优化十分困难。通常来说,区块链对三点中的某一点做出权衡并实现其他两点的优化。而在以太坊这个用例中,我们首先优化安全性和去中心化水平,同时将提高可扩展性作为次要优先的工作。需要明确的是,可扩展性并非以太坊核心开发者的主要优先考虑事项。

    整个 2021 年,由于 DeFi 和 NFT 的增长,以太坊主网变得越来越拥挤。因而以太坊对区块空间的需求前所未有地高。但是,我们不能简单地通过改变区块 gas limit 的大小来增加区块可以包含的交易数量,因为这将极大提高运行一个节点的硬件要求,这意味着运行节点将变得更加困难 (降低去中心化)。再者,如果区块变得太大,这会破坏共识 (降低安全性)。

    单一型区块链

    其他链采用了不同的方法,它们优先考虑可扩展性,其次是安全性,最后才是去中心化。让我们以 Solana 主网 beta 版本为例。该网络有一个主要的客户端开发团队 (Solana Labs)、大约 1000 个验证者 (来源:SolanaBeach),以及另一种称为 Proof of History (PoH) 的共识机制。

    Solana 采取了独特的扩容方案,这是一种单一型区块链。随着计算能力的增加,他们计划无限扩展运行网络的验证节点。这种方法使网络去中心化程度降低,因为节点验证者被迫不断购买性能更好的硬件以不断跟上网络。由于量子隧道效应,当我们达到芯片内部所能容纳的极限时,人们担心计算能力的增长速度会放缓。某种程度上,我们需要一种新的计算范式出现或技术上的重大突破,以使这种方法可持续。因此,我的结论是区块链扩容有更好的长期替代方案。

    模块化区块链

    模块化区块链的方案本质上由一个主要网络组成,该网络优先考虑安全性和去中心化,以便它可以充当 L2 的数据可用性层。如果这个主要网络出现故障,所有 L2 都会出现故障。但是,如果某个 L2 出现故障,所有资金都是安全的 (由 L1 提供安全性保障)。这是以太坊采用的方法,因为 L2 将为我们提供最大的扩容空间。当然,还有其他一些扩容 L1 的方案,如数据分片状态休眠机制 (state expiry) 和维克尔树 (verkle trees) 以及其他各种方法。然而,需要更多时间实现这些方案,因为以太坊优先提高安全性和去中心化。

    模块化区块链的一个关键方面是它们可以无限扩展,而无需快速升级硬件。它们之所以能做到这一点,是因为与单一型区块链的架构相比,它们在技术和经济上都是可持续的。至于为什么模块化架构比单一型架构更可持续,更详细的论证可以在这篇文章,作者:推特号 @ epolynya (u/Liberosist - Reddit)。

    从本质上讲,区块链的可持续性从两个维度来分析:

    技术可持续性

    • 节点需要保持同步
    • 在合理的时间内完成从区块链的创世区块开始的同步
    • 避免状态过度膨胀而导致失控

    经济可持续性

    • 理想情况下,L1 产生的收入高于运营网络的成本
    • 不能人为地提高吞吐量,因为最终所有中心化的 L1 将不得不增加它们的费用

    Rollup 和数据分片 (rads) 成为满足这些需求的唯一解决方案,这就是为什么模块化架构是唯一长期可行的扩容解决方案。

    更完整的解释请阅读下文中“拓展阅读”板块里 @epolynya's articles 的文章。


    L2 的当前状态以及用户如何从中受益

    我们正实现扩容,过去几年一直研究的解决方案已经上线了 —— 至少提供了有限的可扩展容量。而且在不久的将来会有更多解决方案在主网上发布其 L2 的改进版本和 Alpha 版本。在上文的 “L2 的主要类型” 板块中描述了扩容方案的不同属性,根据这些属性可以将扩容方案分成不同的类别。

    L2 解决方案的不完整列表

    Optimistic Rollups

    • Arbitrum

    ArbitrumOffchain Labs 团队构建。该网络本身叫做 Arbitrum One,它利用 optimistic rollup 的技术方案来扩容以太坊。Arbitrum One 使用欺诈证明 (fraud proofs),并具有链上调用数据可用性,这意味着每笔交易的所有数据都被完全排序、捆绑并提交到主网上。由于 Arbitrum 使用了欺诈证明,它会有周期大概为七天的争议时间延迟 (dispute time delay, DTD)。一旦 DTD 通过了,就可以认为网络上的状态更改是有效的,用户可以通过本地桥接提出他们的可用余额。我们稍后会讨论其他中心化的桥接,这些桥接允许你通过跨 L2 的流动性池绕过欺诈证明的周期,实现即时提款。

    Arbitrum One 是目前锁仓量最高的 L2 网络。一个很棒的网站 L2Beat 向我们统计了这些数据。

    已经有许多协议和应用程序支持 Arbitrum 了,包括支持无缝切换至 Arbitrum L2 的基础设施。目前使用 L2 的唯一问题是它需要累积更多的流动性,并且像跨 L2 AMM 架构 (比如由 Starkware 和 Loopring 发明的 dAMM) 这样的创新方案以及 Connext 和 Hop 这样的流动性协议需要足够多的流动性和足够去中心化,以便所有扩容解决方案能够共享同样的基础设施,而不会导致生态系统碎片化。

    关于 Arbitrum 应用程序的生态系统概述,请浏览 Arbitrum Portal 网页。

    主要工具:

    • 区块浏览器 - Arbiscan
    • 桥接 -Arbitrum 原生桥接 (提款大约需要等待 7 天的 DTD 时间)
    • 网络 RPC 配置- Chainlist (搜索 Arbitrum One 并添加至 MetaMask) / 在桥接你的资产之前请检查你的移动钱包是否支持 Arbitrum (这可能会导致你的财产永久丢失) — 个人建议:Rainbow wallet (免责声明:尚未支持 Arbitrum)
    • AMM 聚合器 - 1inch

    如果读者使用 Arbitrum 桥接时感到困惑,请查看 Arbitrum 桥接教程。如果想要从以太坊以外的其他网络进行桥接,请查看下文的 L2 桥接板块 (注意,这些桥接都有不同程度的中心化)。

    Arbitrum Nitro

    Arbitrum Nitro 是 Arbitrum One L2 的升级版,它使用 Web Assembly (WASM) 目标取代了自定义的 AVM (Arbitrum VM) 以负责欺诈证明。这个升级也会使得整个系统与 EVM 更加兼容。另一个变化是,EVM 模拟器 (EVM-emulator) 会被 Geth 取代 (Geth 是目前运行最多的以太坊客户端)。ArbOS 组件也被修改,以提供跨链通信;还会发布一个新的、改进的交易批处理和压缩系统,以最小化 L1 成本。

    这次升级将会无缝推出,所以用户无须做任何事情。升级后,执行速度预计会提高 20-50 倍并极大地降低交易成本。更多内容请阅读 Offchain Lab 团队发布的公告

    Arbitrum 的未来方向

    像 Offchain Labs 团队宣称的那样,Arbitrum 不仅仅是一个 optimistic rollup 方案,他们会推出其他基于零知识证明 (zero knowledge proofs) 的扩容解决方案,同时还将继续改良 Arbitrum One optimistic rollup L2 方案。这是零知识化趋势的一个很好的例子,许多项目正在转向零知识方向。因为一旦 zk L2 的技术实现得到了更好的研究并能够实现通用的 EVM 计算,执行环境就会更加灵活,或者说可扩展性更强。

    • Optimism

    Optimism 是一家公益公司 (PBC),它在以太坊上构建了一个 optimistic rollup L2 解决方案 Optimistic Ethereum (OE)。我将通过解释 Arbitrum 和 OE 在基础架构上的异同来描述 OE。详细的比较可以阅读 Kris Kaczor 发布的推文介绍

    Optimism 和 Arbitrum 的相同之处:

    • 都属于 rollup 并且所有交易数据都存储在 L1 上
    • 都属于 “optimistic” 机制,因为都使用欺诈证明
    • 都利用定序者 (sequencer) 来实现即时 “最终确定性”
    • 都具备通用的跨链通信功能,可以用来构建高级代币桥
    • 都支持与 EVM 相关的工具,但是需要专门的插件

    Optimism 和 Arbitrum 的不同之处:

    • 具有不同的欺诈证明验证机制
    • Optimism OVM 2.0 目前是 EVM 等同的 (EVM equivalence),而 Arbitrum One (即便 Nitro 升级之后) 只是 EVM 兼容的
    • Optimism 采用单轮欺诈证明,而 Arbitrum 采用多轮欺诈证明
    • 在 Optimism 上部署 app 依然需要通过许可 (为之前的申请者开放私有白名单网络),而 Arbitrum 发布了公开主网版本 (无需许可)

    主要工具:

    OVM 2.0

    OVM 是 Optimistic Virtual Machine (Optimistic 虚拟机) 的缩写,它是执行 OE L2 中所有交易的虚拟机。OVM 2.0 于 11 月 11 日完成了主网升级。

    Optimism 通过 OVM 2.0 升级实现 EVM 等同性这一目标,这将使得 OE 成为完全等同于 EVM 的编译目标。像 Dapptools (智能合约代码库和命令行工具 — 形式化验证、符号执行、项目管理等等)、Hardhat、Solidity、Vyper 等等这样的开发者工具将可以直接在 OVM 2.0 本地运行,这些工具的开发者不必担心如何支持碎片化的代码库。这就是以太坊社区中每个人都提到的强大的“网络效应”。值得注意的是,EVM 的任何竞争者都必须从头开始重建所有这些开发者工具。

    阅读 Optimism 的博客文章以了解他们如何实现 EVM 等同性。

    追溯性公共物品募资

    我认为 Optimism 团队最重要的公告之一就是他们承诺将其所有利润用于推动公共物品发展 (总计超过 100 万美元),并追溯性地使用二次方投票。团队还承诺将 L2 定序者的利润 100% 捐赠出去以推动公共事业发展。这笔利润是由产生的交易费收入减去向以太坊主网提交欺诈证明所需支付的成本而剩下的金额。这位以太坊社区中其他 L2 项目树立了一个利他主义的榜样。

    OE 的未来方向

    Optimistic Ethereum 未来的计划雄心勃勃,其路线图可在 Optimism 规范中查看。

    摘自其规范

    img

    该路线图和抽象的设计是为了使每个组件能够独立发展。这 4 个主要组件是:

    • optimistic 主网部署
    • 欺诈证明基础设施
    • 无状态客户端
    • 分片

    每个组件都会发布独立且增量式的版本,每一次更新都会让 Optimistic Ethereum 更加统一、更加强大。

    • Boba Network

    Boba 是一个以太坊 L2 扩容解决方案,由 OMG 基金会核心贡献者 Enya 团队构建。Boba 是 Optimistic Rollup 解决方案,可以降低 gas 费,提高交易吞吐量,并扩展智能合约的性能。Boba 通过社区驱动的流动性池为用户提供了快速退出功能 (类似于 Connext 或 Hop 协议等其他解决方案),将 Optimistic Rollup 的退出周期从 7 天缩短到只有几分钟,同时让流动性提供者能够进行流动性挖矿并从中获益。

    Boba 最初通过分叉 Optimism 而形成,他们团队是 OVM (optimistic 虚拟机)的关键贡献者之一。一个有趣的事实是,Boba 部署 OVM 2.0 的时间比 optimism rollup 早,后者于 11 月 11 日在 Optimistic Ethereum 上发布。尽管 Boba 是分叉而来的,但它们确实有一个模块化的结构,使其能够向主网提交证明,这允许在未来实现可升级性或零知识化。团队计划为即将发布的 v3 完全重写代码库,v3 将在未来几个月在主网上发布。Boba 的设计还能够实现智能合约可扩展性,并允许开发者构建dapp,调用在 web 规模的基础设施 (如AWS Lambda) 上执行的代码,这使得无法在链上执行或成本过于昂贵的算法得以使用。

    BOBA 空投 - 治理代币

    资源:

    Metis 是以太坊上的 L2 扩容解决方案,它使用并行或分片式的 optimistic rollup 架构。在 Metis 虚拟机 (或 MVM) 中,有着所谓的去中心化自治组织,即DAC (Data Availability Committee),它们拥有独立的计算和存储层,可以根据 L2 应用 (如 DAO、dapp、协议等等) 的需求定制。这些 DAC 是 optimistic rollup 的并行执行层。由于 DAC 具有跨层通信协议,各个 DAC 之间是完全可互操作的,并且流动性可以无缝地在它们之间转移。根据 Metis 的技术白皮书,他们设计的扩容解决方案可以对以太坊进行横向扩容,而无需在基础设施上投入大量资金。

    在 Liscon 期间,我偶然遇到了 Metis DAO 团队,我对其基础构架的理解是,它是一个具有不同执行层的网络,不同的执行层专门为特定的应用者服务以达到扩容目的 (DAO、dapp 等等),同时通过向主网提交欺诈证明来保证其具有以太坊 L1 级别的安全性。可能也会有一些公共 DAC,比如一些用来做 swap 的 AMM 流动性协议。由于其具有跨 DAC 的原生互操作性,其他 DAC 的用户也可以在需要时使用这种公共 DAC。这是一种新颖的设计和有趣的实验。

    ZK-rollup

    零知识技术被视为密码学中最伟大的进步之一,因为它允许对语句和条件进行数学证明,而不揭露证明所需要的任何信息。我和许多很聪明的人谈过 ZKPs,他们说它本质上是一种数学魔术,因为证明本身非常复杂,你很难理解其中的数学原理。

    Vitalik 在一篇文章《理解 rollup》中提到,ZK-rollup 使用有效性证明;每一个 batch 或 rollup 中包含一个名为 ZK-(SNARK / STARK) 的加密证明,该证明由PLONK 之类的协议验证。在证明后状态根有效之后,rollup 将证明发布到以太坊主网。我将在“拓展阅读”板块里写下更多资源供大家学习零知识密码学。

    ZK 领域目前最需要解决的目标之一就是创建一个完全兼容 EVM 或 EVM 等同的L2 zk 解决方案。这是个很艰难的任务,也是许多团队努力克服的最大障碍之一。许多团队已经宣布了在不久的将来能够实现这一目标的解决方案。

    目前大多数产品中可用的解决方案只是具有有限功能的支付层 (Polygon Hermez、Aztec 等) 或使用自己的自定义执行引擎 (VM) 添加了一些功能,这些执行引擎通常不兼容 EVM (如使用 Cairo 的 StarkEx、Loopring、使用 Zinc 语言的 zkSync 1.x 等等)。

    • zkSync

    ZkSyncMatter Labs 构建的零知识 L2 网络。目前可用的 zkSync 迭代不兼容 EVM,并且支持支付功能;智能合约仅限制于一个低级的语言 Zinc;铸造 NFT 和其他一些功能。然而,在 Rinkeby 测试网络上已经有了一个完全兼容 EVM 的 zkSync 版本,并有望在未来几个月在主网上发布。

    zkSync 1.x 已于今年 3 月上线,为 Gitcoin 等平台提供服务,用户可以在 zkRollup 上为公共事业捐赠而只需付小部分 gas 费。任何人都可以通过本地桥接将资金桥接到 rollup,并通过 zkWallet 使用网络进行支付。该钱包还允许用户在网络上铸造和接收 NFTs,以及发送和接收支付。zkSync 也与其他项目合作以在本地支持 zkSync 支付,比如前面提到的集成 Gitcoin。一旦网络与 EVM 兼容,大多数应用程序将开始支持 zkSync。这是因为只要对代码库做少量的更改,就可以在在网络上部署标准 Solidity 合约 ABIs。目前,zkSync 上的所有合约都必须在 Zinc 框架中编写,这大大地限制了其所能发挥的网络效应。

    代码: zkSync 是完全开源的,所以任何人都可以检查他们的 GitHub 存储库的源代码。

    zkSync 2.0

    zkSync 2.0 是网络下一次升级,它将带来 zkEVM 功能,并开放图灵完备操作的网络空间。它将完全支持所有用于在以太坊上编写智能合约的工具,比如像 HardHat、ethers.js、Dapptools、OpenZeppelin、Solidity、Vyper 这样的核心工具。此外,像 TheGraph 这样的核心基础设施将能够在链上索引数据,以创建更好的区块链数据索取基础设施,以构建可扩展的去中心化应用程序。

    无数项目已经计划在 zkSync 2.0 上部署他们协议的最新版本。包括 Aave、Curve、Balancer、1inch、Argent wallet 等其他各种协议。它也将得到 Connext 和 Hop 等桥接的支持以获得跨 L2 的流动性,而无需桥接到以太坊。

    许多团队同时追求实现 zkEVM 这一技术目标,旨在不牺牲安全性的情况下实现完全的 EVM 兼容性/等同性。主要目标是具有去中心化的定序者和验证者基础设施,并完全支持 SNARKs (Starkware 方案则是 STARKs)。由于各种工程原因,zkSync 推迟了其 zkEVM 首次部署的日期 (2021 年 8 月),详见本帖子

    如果读者想试用 zkSync 2.0,这里有一个 Uniswap v2 的克隆版本 UniSync ,你可以在 Rinkeby 测试网上试用一下。要了解更多关于 zkEVM 的信息,我建议阅读他们的社区常见问题解答

    • Starkware

    StarkWare 是一家开发基于 STARK 解决方案的区块链公司。他们为区块链应用程序提供安全的、去信任的和可扩展的解决方案。

    StarkWare 的关键贡献之一是其在零知识区块链计算领域的科学研究和带来技术进步:发明了 STARKs (Scalable Transparent Arguments of Knowledge)。这是一种具有完全去信任设置的有效性证明形式,能够将所有链上计算转移到一个单独的链下 STARK 证明器 (prover) 中。然后,这个证明器必须使用一个链上 STARK 验证器 (STARK Verifier) 来验证这些计算的完整性。

    STARKs 最好的学习中心之一是 Starkware 的 STARK 页面,在这里你可以阅读关于数学基础的学术论文,然后深入研究使用 STARKs 的代码示例以及各种其他有用的资源。更多关于 STARKs 的学习资源可以在 “拓展阅读” 板块中找到。

    想要要了解 Starkware 的最新信息,请关注他们的 Medium 博客内容页面

    • StarkEx

    StarkEx 是由 Starkware 开发的 L2 可扩展性引擎,可以在 ZK 环境中执行 Cairo 操作。它目前支持的功能有:

    • Volition,链上/链下混合数据可用性解决方案
    • 非托管
    • 快速提款
    • 支持 ERC-721 和 ERC-20
    • 在 L2 上铸造 NFT
    • DeFi 池
    • dAMM (分布式 AMM)
    • 实时预言机喂价
    • 兴趣/资金跟踪
    • 数据可用性:Rollup, Validium (稍后详细介绍)

    其他即将上线的功能:

    • 数据可用性:Volition
    • 唯一铸造
    • 实现与侧链的互操作性

    StarkEx 生成有效性证明,确保所有链下计算都已完整地执行,生成的 STARK 证明先在链上得到验证,然后再提交至以太坊主网。

    有关 StarkEx 如何运作的更多信息,请访问 StarkEx 页面

    • dYdX

    dYdX 是一个链上衍生品平台,在 Starkware 构建的 zk-rollup 上运行。该平台用 Cairo 语言完全重写,并在其独立的 L2 上运行,用户可以轻松地从以太坊主网向 dYdX L2 存入资金,并以较低的交易费进行交易。它整个订单簿都在 L2 上,因而 L2 上的用户体验更佳,并且不需要牺牲安全性和去中心化,因为 rollup 本身就是无需许可和非托管的 (有一个去信任的证明器和验证器)。

    dYdX 是 StarkEx 的一个自定义实现,是目前锁仓量最高的 zk-rollup L2 (根据 L2beat 数据,其锁仓量价值约 10 亿美元)。

    • StarkNet

    StarkNet 是以太坊上的一个无需许可的、去中心化的 ZK-Rollup。它支持图灵完备的计算,并通过 Solidity -> Cairo 编译器提供 EVM 兼容功能,然而,本地 Cairo 代码的性能会更好。StarkNet 还将提供一系列的数据可用性解决方案,这意味着用户每笔交易都可以在 zk-rollup 和 validum 方案之间切换 (在下文的 validum/volition 部分有更多介绍)。

    由于 L1<->L2 可以实现通信以及 STARK 证明器和验证器将完全无需许可和去中心化,该网络将具有与以太坊主网相同的安全保证,同时将大大地提高吞吐量并提供优秀和无缝的用户体验。

    Starkware 于 11 月底在主网发布了 StarkNet Alpha。Starkware 团队受到 optimistic rollup 部署方式的启发,在初期,在 StarkNet 上部署智能合约需要得到许可。这意味着 Starkware 团队将不得不手动批准智能合约的部署。在公告中,他们还宣布未来的 StarkNet 版本将不会向后兼容 Alpha 版本,因为他们将重启网络状态。

    还将推出 Alpha 1 和 Alpha 2 中的其他功能,包括:

    • 智能合约构造器
    • 更优的测试框架
    • 区块和交易哈希
    • 账户和代币合约
    • 支持智能合约可升级性和事件 (events)
    • Warp: 由 Nethermind 开发的 Solidity -> Cairo 转译器
    • 以太坊签名
    • StarkNet 全节点

    通过学习使用 Cairo 在本地和在 StarkNet alpha 上编写、编译和部署智能合约,开发者已经可以开始为 StarkNet 构建。首先查看 Cairo 和 StarkNet 的文档

    还有很多围绕 StarkNet 生态系统构建的工具和服务 (摘自 StarkNet Alpha公告):

    • Voyage: StarkNet Alpha 区块浏览器
    • OpenZeppelin 正致力于 StarkNet 的标准合约实现,并开始开发者环境的工作:Nile
    • ShardLabs 正在开发一个 StarkNet HardHat 插件 和一个更好的测试框架。
    • Erigon 团队正在扩展他们的以太坊全节点以支持 StarkNet (代码名字:Fermion)。他们正在和我们一起设计StarkNet 的核心机制。
    • Equilibrium 正在研究用 Rust 语言的 StarkNet 全节点实现,
    • Cairo 审计服务:在未来几个月,ABDK、ConsenSys Diligence、Peckshield 和 Trail of Bits 将对 Cairo 进行审计
    • Polygon Hermez

    Polygon Hermez 是在以太坊上的一个无需许可的、去中心化的 ZK-rollup 解决方案。Hermez zk-L2 及其团队被Polygon 收购以及并入 Polygon 的生态系统中。Polygon 有一个 PoS 数据可用性层、一条 plasma 链,并且还在开发基于 optimistic rollups 等其他扩容技术的解决方案。

    Polygon Hermez 团队也在一篇 Medium 博客文章中宣布了其将完全支持 EVM (zkEVM) 的计划。他们预计将在2021 年第四季度末推出一个测试网,并在 2022 年第二季度发布主网版本。

    img

    Polygon Hermez 发布的暂定计划表

    Polygon Hermez 协议使用了与上文提到的其他 zk-rollup 非常相似的动态。它有一个链下证明器以验证交易并生成一个 SNARK 证明,随后该证明将提交给链上验证器;如果证明是有效的,新的状态将被提交至以太坊主网并确定下来。想要阅读关于 Polygon Hermez 基础设施的更多细节,可以访问他们的文档

    Hermez 团队也有一份白皮书,详细描述了该项目的未来蓝图。不过现在这份白皮书有点过时了,因为后来 Hermez 与 Polygon 合并了。并且 HEZ 代币不再存在了,因为 HEZ 兑换成 MATIC (1HEZ = 3.5MATIC) 了, HEZ 被完全淘汰了。除此之外,因为它是 Polygon 旗下的一个方案,所以他们有相同的目标: 为以太坊生态系统带来巨大的可扩展性。

    目前,任何人都可以使用 Polygon Hermez,但是它不兼容 EVM。它主要用于 zk-rollup 环境中的支付平台。使用 Polygon Hermez:用 MetaMask 或 WalletConnect 连接到他们的网页钱包 UI,并将资金存入他们的 L2,然后,你就可以支付一小部分 gas 费与其他用户自由交易了。

    • Aztec Network

    Aztec Network 是以太坊上一个专注于隐私的 ZK-rollup L2。Aztec Network L2 能够让用户以完全隐私的方式进行快速、手续费低、兼容 DeFi 的交易,且不用牺牲安全性和去中心化。Aztec基于 PLONK 构建,这是他们开发的SNARK 技术的通用标准。Aztec 2.0 是该协议的最新版本,改进了 v1 的各种缺点。

    Aztec 协议的功能:

    • 身份隐私: 匿名加密,隐藏发送方和接收方的身份标识
    • 余额隐私: 交易金额加密,对用户的加密货币余额加密
    • 代码隐私: 网络观察者甚至不能看到某笔交易属于哪个资产或服务
    • 可扩展地隐私访问 DeFi (Uniswap 等)
    • PLONK (目前是 TurboPLONK,未来是 UltraPLONK) 协议的 gas 优化版本
    • 可编程隐私与 Noir —— 隐私合约语言

    作为一名用户,你可以:

    • 存款: 将资产存入 Aztec 为你的代币加一层隐私保护
    • 隐私支付: 余额和身份加密 —— 所有代币
    • 多设备恢复: 以免你的资产因密钥丢失而丢失
    • 提款: 将你的代币通过隐私的方式提款至 Layer1
    • 逃生舱口: 就算是发生 rollup 全部宕机的情况,也能保证你能安全退出

    Aztec 团队开发了一个隐私钱包应用程序 zk.money,用户可以将资金存入 Azetec 2.0 zk-rollup 中,并按下 “shield” 按钮,便可在网络上进行交易。

    • Loopring (路印协议)

    Loopring 是开源的 zkRollup 协议。它是以太坊智能合约和 ZK 电路的集合,描述了如何构建高度安全、高度可扩展的、基于订单簿的 DEX、AMM 和支付应用程序。

    最近,他们还增加了 NFT 铸造和转移功能,而且还有一份公共称将在 2021 年第四季度末推出一个 NFT 市场。L2新增内容包括:

    • 重新设计交易所的 UI/UX
    • 多层 Loopring 钱包 (将跨 L2/跨链)
    • Loopring 区块浏览器 (Loopring subgraph)

    未来还计划添加:

    • NFT 市场
    • zkEVM
    • dAMM
    • 多层钱包+移动端
    • 交易所完善

    本文中我提到过很多次,几乎每个 L2 方案的目标都是 (以不同的方式) 实现 zkEVM。因为长期来说,在 L2 安全性、可扩展性、执行优势上,有效性证明与欺诈证明相比更具有优势。这是各个 L2 团队逐渐实现 zk 化的趋势。

    Loopring 的 CTO 写了一篇很棒的文章,关于他如何看待 L2 的未来

    另一个伟大的创新是 dAMM,这是 Starkware 和 Loopring 合作开发的技术:建立一个跨 L2 的 AMM,以防止流动性碎片化。

    Loopring 团队正为他们的交易所构建大量的功能,以改善整体的用户体验,同时也降低了成本。他们还计划将他们的钱包扩展到其他 L2,如 Arbitrum、zkSync 2.0、Optimism,以及兼容 EVM 的其他 L1 公链,如 BSC、Moonbeam 和 Acala (Polkadot 的卡槽链)、Harmony 等等。

    根据他们的关于页面,Loopring 的运作方式与上面提到的其他 zk-rollup 非常相似:

    “Loopring 中继器 (又名运营者) 是他们后端系统的实现,这个中继器与协议交互从而使得 zkRollup 运行。它托管和更新链下默克尔树,创建 rollup 区块,生成 zkSNARK 有效性证明,然后向以太坊发布数据和证明,等等。我们的中继器已经为了它的用例进行了高度优化:从订单簿匹配到证明生成。注意:在做所有这些事情的时候,它永远不能访问或冻结用户的资金 —— 协议根本不允许它这样做。”

    “虽然 Loopring 协议与中继器无关 (任何人都可以构建和使用自己的中继器来运行他们的 zkRollup/产品),但 Loopring L2 (及运行在其之上的产品) 都是由 Loopring 中继器提供服务的。Loopring 中继器 API 可以被那些想要在以太坊上进行低成本、高速度的交易和转账交互的构建者、用户和其他应用程序使用,或者以其他方式读写我们的 L2。”

    有用的资源

    Validium/Volition (链下 calldata)

    在这个板块中,我们将讨论一种混合的扩容方案,这种方法不会将 calldata 放在链上,而是在安全性方面做出一些妥协,以提高其可扩展性。这种方法不再被认为是“真正的 L2”,因为真正的 L2 扩容网络将继承 L1 同样的安全保证。

    Validium 是什么?

    Validium 是一种扩容解决方案,它使用有效性证明,但数据可用性存储在链下。这种方案在以太坊级别的安全性方面做出了妥协,但它仍然比侧链安全得多,因为其状态转换已经通过使用 STARKs/SNARKs 验证了有效性。目前,基于 validium 的解决方案只适用于特定的用例,并不能与 EVM 或 WASM 等执行目标兼容。但 Starkware 和zkSync 等团队最近更新了进展,这将很快成为可能。

    想要更深入地比较 zk-rollup 和 validum,请阅读zkSync 发布的比较文章

    Volition 是什么?

    Volition 是 L2 可以采用的一种架构 (由 Starkware 首创),用户每笔交易都选择 validium 或是 zk-rollup 方案。这将选择权交给用户,他们自己来决定是否维持最大程度的去中心化、安全性,或是选择可扩展性。这种架构得到了很大的关注,并将成为 Starknet 和 zkSync 2.0 以及未来其他基于有效性证明的解决方案的一个整体设计决策。

    • Starkware

    Starkware 已经与多个项目合作,构建多个运行 StarkEx 引擎的自定义 validium 用例,以提供大规模的可扩展性。而对于那些想要实现真正 L2 安全性保障的项目,可以采用具有 StarkEx 引擎的 volition 模型。

    • ImmutableX

    ImmutableX 是一个 L2 NFT 项目,它利用 StarkEx voiliton 基础设施为 NFT 提供大规模的可扩展性。它通过提供一个开放的 NFT 市场,允许合作项目在 StarkEx 的网络上运行自己的 NFT 游戏和应用,并为 NFT 爱好者提供低成本、快速、安全、可扩展的用户体验。

    想要开始在 ImmutableX 上构建,请联系他们并查看他们的文档

    • Sorare

    Sorare 是一款虚拟足球游戏,它利用 StarkEx Validium 方案来为用户提高 NFT 游戏的可扩展性。

    • DeversiFi

    DeversiFi 是一个去中心化的加密货币交易所,它在一个自定义的 StarkEx Validium L2 上运行。

    • zkPorter

    zkPorter 是 zkSync 的 validium 实现,它将在一个基于 volition 的设计中与 zkSync 2.0 并行运行。摘自 zkEVM 常见问题解答

    zkPorter 将数据可用性 (重构状态所需的基本交易数据) 放在链下而不是以太坊上。数据可用性由 PoS 网络提供安全保障,而这个 PoS 是由 zkSync 的代币质押者在维持。在 zkPorter 可以实现更高的可扩展性 (每秒交易处理数可达数万笔),因此,与侧链相比,交易费用极低 (范围为几美分)。”

    “zkPorter 的安全性仍然优于其他 L1 或侧链。在最坏的情况下,如果恶意的参与者同时控制了定序者和总质押的⅔,他们可以对一个有效的状态转换进行签名,但扣留数据。在这种情况下,状态是“冻结的”,用户将无法提款,但攻击者的质押资产也会被冻结。因此,对于质押了大量资产的攻击者来说,他们无法直接利用漏洞获取经济利益。”

    更多信息可以在 zkPorter Medium 文章中找到。

    我们如何从中获益?

    Users对用户来说

    多亏了 L2,用户将最终只需付很低的费用就能使用他们最喜欢的 Web3 应用程序。由于交易确认几乎是即时的 (L2 定序者的功劳),用户体验将会更佳,而区块链的吞吐量也会大大提升。这将使得用户访问“不可回溯的区块空间”的成本更易于接受,并通过简单直观的应用程序帮助新用户实现网络民主化。

    Alpha: 许多 L2 方案 (在顶部启动的协议或提供服务的应用程序) 都在逐渐推进去中心化进程,其中,这个过程通常涉及对早期采用者和贡献者进行追溯性代币分发。如果你现在使用这些项目或对其贡献,那么如果这些项目发布代币了,你很有可能会获得奖励。

    Builders对构建者来说

    应用程序开发者、协议设计者以及参与构建的其他所有人都将能够构建具有可组合性和互操作性 (甚至跨 rollup 交互) 的可扩展的去中心化应用。

    扩容不仅允许更多用户为网络带来指数级的增长价值 (梅特卡夫定律),而且还允许在链上执行计算成本更高的操作,这将扩展应用程序的设计空间并使得新的 Web3 用例在经济上和技术上更加可行。

    像社交代币、去中心化社交网络和协议 (如 ShowtimeAave social graph protocol)、NFT 游戏 (如在 L2 上运行的 ImmutableX) 等等用例最终将成为可能。构建者正逐渐卸下一些阻碍他们推进的枷锁,zk-rollups 同样允许自定义执行层,而不会限制于 Solidity 语言和 EVM 环境。

    目前的缺陷

    目前,流动性分布在不同的 L2 项目中,在撰写本文时还没有直接跨 L2 使用 AMM 的方法。许多开发者工具无法直接在不同的 L2 上部署 DApp,所以团队需要对其软件进行修改,以增加对不同扩容解决方案的支持。在未来,这个问题可以通过实现完全 EVM 兼容性/EVM 等同性 (理想情况下) 或者编写一个标准设计规范来缓解。最终,zk/optimistic-rollup 将能够无缝共享开发工具。

    当前部署的 L2 的部分技术基础设施 (如定序者或桥接) 是中心化的,这是因为 Arbitrum 和 Optimism 等解决方案处于测试阶段 (一旦它们足够自给自足,这些护栏将被解除)。L2 还破坏了可组合性和互操作性,因此现在无法在 L2 之间实现无缝通信,也不能调用另一个 L2 的智能合约。

    在预言机基础设施和质量数据喂价方面还有很多工作要做。Chainlink 正在努力与所有 L2 以及其他预言机提供商集成。但是,要使 L2 的基础设施像在以太坊主网上一样强大,还需要时间和努力。

    L2s 用户体验方面的另一个关键问题是法币入口。目前绝大多数中心化交易所不支持从本地提款到 L2s,因此对于技术不熟练的人来说,将资金桥接到 L2 是非常麻烦的 (尤其是还得付以太坊 L1 上的 gas 费)。目前的解决方法是使用交易所提款到像 Polygon PoS 这样的侧链,它在像 Hop 或 Connext 这样的跨链 (中心化) 桥接中具有足够的流动性。

    但我们工作最重要的一点是对用户的教育。我看到无数人在抱怨以太坊高昂的 gas 费,并转到交易费更便宜的其他 L1 公链 (即 Avalanche、Solana、Fantom、Terra),代价是牺牲了去中心化和安全性。作为以太坊社区的一员,我想请大家帮助教育大众了解以太坊的可扩展性,以及大众如何能够付出可以接受的成本,仍然活跃在我们的生态系统中。我们还应该与不同的应用程序和协议交谈,并在他们的治理论坛内提交提案,为 L2 流动性提供流动性挖矿奖励 (如 OlympusDAO)。有了流动性,用户的迁移将更加无缝,因为流动性是用户仍在使用 L1 最重要的原因之一。而在我看来,未来以太坊主网将作为 L2 的数据可用性层存在,不再面对个人用户。


    L2 流动性

    正如我上面提到的,在整个以太坊生态系统中,有许多关于流动性碎片化的合理担忧 (流动性无法跨 L2 共享)。在本节中,我将介绍一些计划解决这一问题的项目和流动性模型。

    Hop 协议

    "Hop 是一个可扩展的 rollup 对 rollup (也支持 Polygon PoS 和 xDai) 、通用型的非托管代币桥。它允许用户几乎即时将代币从一个 rollup 或侧链发送到另一个 rollup,而不必等待网络的挑战期 (optimistic rollup 内的概念)。"

    "它的工作原理是让做市商 (也称 Bonder) 参与进来,他们在目的链上放置流动性以赚取少量手续费。"

    "这种流动性是由 Bonder 以 hTokens 的形式提供的,然后在 AMM 中与他们的原生代币对应物进行交换。"

    "最终用户可以将代币从一个网络无缝转移到另一个网络。"

    Hop 团队还提供了一个 SDK,使开发者能够将 Hop 的功能集成到他们的去中心化应用程序中。

    Connext

    Connext 是一个由不同网络 (L1s 和 L2s) 上的流动性池组成的网络。用户在这些池子之间交换价值,类似于Uniswap 这样的 AMM DEX。

    Connext 路由器作为网络的骨干,为用户的 swap 提供流动性并赚取费用作为回报。

    他们创建了 NXTP,这是一个轻量级的通用 xchain/xrollup 交易协议,保留了底层执行环境的安全属性 (也就是说它不依赖于任何外部的验证者子集)。

    Connext 协议可以通过 xPollinate 用户界面访问。

    Synapse 协议

    "Synapse 是一个跨层协议,为区块链之间的无摩擦互操作提供支持。通过在任何 L1、侧链或 L2 生态系统之间提供去中心化、无需许可的交易功能,Synapse 为资产转移、swap 和具有跨链功能的通用信息传递等区块链交互提供支持。并在这样做的过程中实现基于其跨链架构的新原语。"

    "Synapse 网络是由跨链多方计算 (MPC, multi-party computation) 验证器与阈值签名方案 (TSS) 一起运作来提供安全保障。该网络是无领袖的,每个验证者在收到 MPC 验证者子集追踪的各种链上的事件时运行相同的程序来维持网络安全。一旦三分之二的验证者使用他们自己的个人密钥集体对相同的交易进行签名,网络就会达成共识,并向目标链发布交易"。

    Celer cBridge

    "Celer cBridge 是一个多链网络,能够在不同的 L1 区块链 (如以太坊和波卡) 和不同的 L2 扩容解决方案 (如Optimistic Rollup、ZK Rollup 和侧链) 之间实现即时、低成本和任意价值对的资产转移。"

    deBridge

    "deBridge 是一个跨链互操作性和流动性转移协议,允许在各种区块链之间实现真正去中心化地转移任意数据和资产。deBridge 智能合约的跨链通信由 deBridge 治理社区选出的独立预言机/验证者网络提供支持。"

    "该协议通过在原生链上锁定/解锁资产,以及在二级链或 L2 上发行/销毁封装资产 (deAsset),由此实现在不同区块链之间转移资产。不同区块链之间的跨链通信由被选中的验证者维持,他们运行 deBridge 节点来对跨链交易进行验证。"

    dAMM

    dAMM 是由 Loopring 和 Starkware 共同开发的跨 L2 AMM 设计。

    dAMM 架构

    dAMM 架构

    dAMM 使:

    • 基于 ZK 的 L2 (如 DeversiFi、Loopring 等等) 可以异步共享流动性 —— 使流动性提供者接触更多的交易
    • 流动性提供者在参与 L2 交易的同时,为 L2 充当 L1 AMM (如 Uniswap) 流动性的角色 => 不需要牺牲流动性而实现扩容
    • dAMM 利用 L1 的无需许可属性,缓解由于不同的 L2 而造成的流动性碎片化问题。

    Tokemak

    Tokemak 是一个流动性路由协议,属于新兴的 DeFi 协议浪潮的一部分 —— 俗称 DeFi 2.0 (或 DeFi 2021)。

    "它可以被认为是一个去中心化的做市商平台和流动性路由器,将传统的流动性和 DeFi 的做市商分解开来。Tokemak 允许控制流动性的流向,也提供了一种更容易、更便宜的方式来提供和获取流动性。"

    Tokemak 宣布他们计划针对流动性碎片化问题创建一个流动性深度池,可以将流动性路由到 Hop 等跨 L2 桥桥接的池中,以解决目前的流动性碎片化问题。

    总结

    L2 的流动性碎片化是一个需要重视的问题,已经由不同的项目提供各种解决方案。我个人的猜测是,一个包含dAMM+Hop/Connext+Tokemak 设计的混合模式将会出现以解决流动性碎片化问题,这种形式会看起来完全统一。


    资源

    工具

    下面列出了我每天都在使用的工具,以评估以太坊 L2 的应用情况,它们交易成本有多高,以及 L2 协议的收入是多少。

    Dune Analytics

    Dune Analytics 是一个数据分析平台,允许任何人轻松地汇总区块链数据并对其进行可视化。在 Dune 上,你可以在几小时内为你的研究项目、文章、DAO 或任何其他项目创建一个数据中心。关于 L2 方面,我用它来监测 L2桥接里面有多少锁定了多少。相关的数据仪表盘:

    • Bridge Away dashboard@eliasimos 创建,向我们展示了有多少资金锁定在各种桥接内:如桥接至其他 L1 公链 (Avalanche、BSC、Fantom, …);桥接至侧链 (Ronin、Polygon PoS) 以及其他 L2 (Arbitrum、Optimism、zkSync、Boba)。了解用户的桥接情况也是很好的,观察资本的流向以了解以太坊的不足之处以及如何改进。如果以太坊提供更好的用户体验,那么离开网络的资本就会少得多 (尤其是新用户)。
    • 由 @kevdnlol 提供的⛽钱包交易和 gas 费仪表盘,以便分析以太坊的 gas 市场。

    L2BEAT

    L2BEAT 是一个优秀的以太坊 L2 锁仓量监测平台、L2 数据分析平台。

    L2BEAT:L2 总锁仓量

    L2BEAT:L2 总锁仓量

    L2BEAT:项目仪表盘

    L2BEAT:项目仪表盘

    L2beat 的一大特点是它介绍了不同方案使用的扩容技术类型,以及它们目前的用途。这个网站还有一个很棒的常见问题解答页面,我经常推荐给刚刚了解 L2 的初学者参考。

    L2Fees

    L2FeesDavid Mihal 构建其中一个 dashboard。其展示的数据显示了与以太坊主网相比,在某些 L2s 上执行不同的操作成本是多么低。

    L2 费用比较

    L2 费用比较

    CryptoFees

    CryptoFees 是 David 建立的又一个数据 dashboard,显示了协议的收入。L2 协议也出现在这个列表中;我使用这个 dashboard 来查看 L2 协议获得了多少收入以及他们是如何使用这些收入的。部分收入用于支付向主网提交zk-SNARK/STARK/欺诈证明的费用,其余的是 L2 可以支配的费用。以 Optimism 为例,他们把所有的收入都用于推动公共物品的发展,我认为这是支配这些收入的最好方式。

    Nansen

    Nansen 是一个区块链分析平台,它用数百万个钱包的标签来丰富链上数据。它是一个付费平台,完全不便宜。但是,如果使用得当,对于它所提供的回报价值量来说,它是非常值的。我个人使用 Nansen 来认识 DeFi 和 NFT 里的叙述,但是我最近已经开始使用它们对 L2 上智能合约的钱包分析器功能,看看哪些实体正在桥接到 L2,以及速度如何。它呈现了一个清晰得多的画面,因为很多地址和活跃参与者都被标记出来。

    Chainlist

    Chainlist 是一个包含 RPC 配置的应用,该应用是 Metamask 或其他 web3 钱包内使用的某种网络所需要的 。你可以添加不同 EVM 兼容的网络——L1、侧链和 L2。Chainlist 上可用的相关网络有 Optimistic Ethereum mainnet、Arbitrum One、Boba Network,未来还有更多。

    拓展阅读

    我的文章只能这么长 (已经很长了),复制粘贴别人的工作是没有意义的。关于 L2 有无数优质的学习资源,可以促进大家的理解。如果你有任何建议,请在 Twitter 或 Telegram @dcbuild3r 上私信我。

    L2 scaling

    L1 scaling

    STARKs

    其他



    ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系eth@ecn.co进行授权。


    Ethereum Community Network
    以太坊社区网络
    蜀ICP备2021001286号
    Ethereum Community Network
    以太坊社区网络
    蜀ICP备2021001286号