2020 年爆发的 DeFi 热潮将链上活跃度推至新高度,也将公链面临的性能问题直接放在了大众眼前。作为目前拥有最大生态的以太坊 Gas Price 飙升,在相当长的时期内维持在 100 Gwei 以上,让以太坊获得了「贵族链」的戏称。虽然近期以太坊 Gas Price 有所下降,但也无法改变冗余存储和冗余计算带来的效率下降的问题。在诞生的各类效率提升的技术中,Layer2 赛道下的 Rollup 技术无疑是当前解决方案中最为亮眼的。 Rollup 的技术方案承袭了其他 Layer2 前辈们,如闪电网络、Plasma 等解决方案的思路。但最为关键的还是其将二层数据再反存到一层的思路。这一思路与以前所有的 Layer2 方案都不同,成为了 Rollup 技术解决用户使用二层时可用性、易用性问题以及衍生的安全性问题等的关键。 围绕 Rollup 技术,诞生了不少优秀的解决方案团队,本文着重介绍了其中四个——Matter Labs、Optimism、Offchain Labs?以及?Starkware。他们在 ZK Rollup、Optimistic Rollup 以及混合 Rollup 上做出了诸多尝试,成为 Rollup 技术体系在不同方向上落地的主要推动团队。除了技术解决方案团队之外,也有不少团队在摸索具有 Rollup 特色的应用,如 Layer2 世界的公交车?Layer2.finance、减缓 Layer2 带来的流动性分割问题的 Caspian 以及帮助 Optimistic Rollup 用户实现快速提款的 Dai Bridge 等,本文也将对这些应用方案做探讨。 从数据表现来看,由于 Layer2(数据统计不包括侧链) 方案应用场景尚未铺开,目前整体 Layer2 上的锁仓资金不到 DeFi 整体锁仓的 3%,而 Rollup 占据了其中的近 1/3。目前,Optimistic Rollup 的落地已经近在咫尺,通用的 ZK Rollup 系方案还需要一段时间。Op 系的技术有望将以太坊 TPS 提升至 500 上下,ZK 系则能有 100 倍左右的提升,也有一些混合 Rollup 方案其理论 TPS 能达到 2 万。 总体而言,Layer2 是公链发展的必由之路,而 Rollup 技术则是目前为止 Layer2 技术中将易用性、安全性、扩展性、通用型等的平衡做的最好的技术。未来几个月,我们也将看到 Rollup 的解决方案和应用大规模落地,值得期待! Rollup 概述 什么是 Rollup? 在链下的世界中,人们习惯了高速的交易、即时的确认、海量的存储,集中和信任带来效率。进入链上,基于代码控制和博弈机制的运转的分布式系统实现了分散和去信任,存储冗余和计算冗余成为保障系统安全性的重要手段。但冗余不可避免地带来成本提升和效率降低,链上应用的体验让用户产生时代倒退的感觉。为此,也诞生了各类提升区块链运转效率的改进方案。 链上改进方案中包括了扩展区块大小、改变共识算法、分片等等。虽然链上的改进方案在当前的区块链技术发展阶段还没有完全展现出在提升效率上的实力 (如 ETH2.0 的分片还在开发中),但其都无法改变在区块链上为了安全性必须要承受冗余存储和计算的约束的现状。而这一约束可以被链下的改进方案打破。将存储和计算转移到链下,并设计机制保障链下存储和计算的可信与安全是链下扩展方案的核心。Rollup 就是链下方案中的一类。 那么,Rollup 是什么?国内通常把它翻译成「卷叠」,读起来有点怪但是还是十分形象,打包为卷、压缩为叠,链下的交易数据打包压缩后传到链上存储,Rollup 就是对符合这一特征的一类 Layer2 技术的总称。与此相关的一个趣事是 Matter Labs 公开称 ZKSwap 并不是 Rollup,只是一个?Validium,因为当时的 ZKSwap 未满足这一特征。 如何演进出 Rollup? 在 Rollup 之前,Layer2 已经有了几代技术。但是由于去信任化、安全性、易用性或者通用性方面的问题,都没有成为被广为接受的方案。Rollup 技术的出现成为打破这一局面的关键。 最早的 Layer2 是侧链技术,其发展一直不温不火,最近由于 Polygon 的崛起引来了很多讨论。但,如 Polygon 一类的侧链的运行基础是信任(关于信任,可以参考 Vitalik 的文章《Trust Models》,其中提到,」trust is the use of any assumptions about the behavior of other people」)一组验证者,这类有强信任假设的方案,在没有易用的无信任假设的方案诞生前,可以被作为一种折中方案应用,但绝不是最终的最优方案。另外,业界对于将侧链归类于 Layer2 是持怀疑甚至是质疑态度的,原因在于侧链不会保持向主链同步状态变更,更接近一条独立的链,一个新的 Layer1。 闪电网络是最早的尝试无信任假设的 Layer2 解决方案之一。他通过 RSMC 和 HTLC 技术分别解除了对交易对手方的信任依赖和对资金路由节点的信任依赖。即,用户无需假定交易对手方和转发资金的中间节点是不会作恶的。但是这种方案在安全性、易用性、通用性上都付出了代价 [ 详情可以参考火币研究院文章《穿云而过的闪电网络》],限制了该项技术的应用推广。 Plasma 是闪电网络之后出现的技术。其模型兼有侧链和闪电网络的特点。Plasma 与闪电网络的不同在于链下交易的传递、组织和提交形式。闪电网络链下交易的传递基于以状态通道连接而成的网络,交易存储在交易双方的状态通道中,通道中的交易对手方均可自行提交通道中的交易带来的状态变更。但 Plasma 选择了与侧链更为接近的交易传递和组织形式,会有 Layer2 的运营者负责接收交易、组织存储 (在 Plasma Cash 方案中,需要用户自己存储一部分交易信息) 和将状态变更提交上链。然而,侧链是基于信任的模式,用户侧链上的运营者 (或者说矿工) 不作恶。在去信任化上,Plasma 沿袭了闪电网络使用欺诈证明的思想,通过设置挑战期和激励博弈来防止作恶。但是,Plasma 同样存在安全性、易用性、通用性上的问题,现今基本是一条已经被放弃作为独立 Layer2 的技术路线。 Rollup 方案仍然保留了 Plasma 借用二层的运营者来接收、存储和提交状态变更的思想,但考虑到此前方案中将数据存储在链下的思路衍生出了安全性和易用性问题,而直接将数据存储在链上无法实现效率提升,因此诞生了将数据压缩上链的思路。交易数据上链后最直接解决的是用户易用性的问题,链上的数据是公开透明的,意味不再需要为了防欺诈而要求用户做出一些十分伤害体验的行为,如保持一定的上线频率以及自行保存用于自证清白的数据 (闪电网络和 Plasma 都有此要求)。同时,数据上链也间能接解决了一些可能衍生的安全问题,如闪电网络瞭望塔隐私泄露、Plasma 上的批量退出等在 Rollup 的场景下是不需要被考虑的。 图 1-2 如 因此,演进至今,Rollup 其实是借鉴吸收了过往众多方案思想并融合了其特有的链上压缩存储思路。在当前来看,Rollup 无疑是 Layer2 方案中最受期待的。在其即将落地之时,希望通过本文梳理 Rollup 当下的技术、应用与数据。 Rollup 技术核心要点 在上一章中,我们介绍了什么是 Rollup 以及 Layer2 的思想如何演进传承直至诞生了 Rollup。在本章,我们将深入介绍 Rollup 技术的核心要点。不同 Rollup 技术路线、同一技术路线下的不同团队在将 Rollup 具体落地时会各有差异,因此本小节主要针对 Rollup 共性的思想进行介绍。 Rollup 如何运转? 如下图 2-1 所示,是 Rollup 运转原理的示意图。在 Layer2 上,用户的各种交易会被发送给二层的运营者。运营者会将一批交易进行压缩。压缩成为一笔交易后,调用链上的处理合约进行处理。这笔调用交易就会像其他的 Layer1 的交易一样进入交易内存池。在 Layer1 上,矿工会接收一层网络中所有的交易并打包成区块发布,这其中就会包含由二层打包上来的交易。 虽然不同 Rollup 的具体实现会不一样,但均需要解决三个共性的问题:如何实现交易压缩、如何将二层的状态转换同步到一层以及如何保证二层运营者如实提交了二层的所有状态转换。我们将在下面三个小节分别讨论。 如何实现交易压缩? 关于为什么要将数据上链,在上一章中已经有阐述。上链后,二层交易数据在链上的数据可用性 (或者说数据有效性、数据可获得性) 能得到保障。但数据如果原样上链,是难以达到通过二层提升效率的目的的,所以会进行压缩。讲到压缩,大家通常的理解是对占用字节数的压缩,也就是体积上的压缩,其实不然。压缩主要是对交易消耗 Gas 数的压缩,因为以太坊上的区块限制是以 Gas 为限制而不是字节数,更小的字节数对应着更小的存储占用,但不等同于更小的 Gas 消耗。Rollup 中的压缩,一方面确实压缩了交易占用的字节数,另一方面也会减少交易执行的计算量以降低 Gas 消耗。 交易字节数的压缩的方式主要包括使用效率更高的编码方式、缩减交易占用字节数、减少需要上传的数据等。 图 2-2 交 图 2-2 是 Vitalik 归纳的交易在以太坊一层和在 Rollup 上占用的字节数。虽然各团队在最终实现时与 Vitalik 归纳的并不完全相同,但思路是一致的,因此我们在本文中仍然引用 Vitalik 的归纳。 首先,在二层的交易中,Nonce 可以在交易中被省略;Gas 相关的 Gasprice 和 Gas 也不必出现在每笔二层交易中;To 和 From 地址不需要使用以太坊的地址,而是使用其在状态树中的索引 (如图 2-3 所示,二层的账户可以由一棵 Merkle 树来组织);Value 可以使用科学技术法存储节省位数;对于签名,可以将一个批次中的交易签名进行聚合,降低每个交易的签名存储消耗。同时,这些交易数据会被存储在链上 gas 成本比较低的字段 Calldata 中。 值得说明的是,上传的一层的数据不仅仅是上述的交易内容,还会包含批次交易发生前后的状态根 (图 2-3 中的 State Root),以及用于证明 (或用于备查) 状态转换合法性的数据。ZK Rollup 系的技术能比 Optimistic Rollup 系技术取得更好的压缩效果,一个重要的原因就是 ZK 需要上传的交易数据比 Op 少,Op 为了方便验证者挑战需要上传一些中间状态信息,但 ZK 只需要针对批次的交易上传证明信息。 除了压缩交易占用字节数以外,Rollup 中交易的计算量也会比直接在一层上执行要少,因为交易不必在一层上重新执行,只需要验证二层运营者提交的状态转换是否正确。对于 ZK 来说,主要来自于验证状态转换证明 (零知识证明) 是否合法;而对于 Op 来说,主要来自于欺诈交易的挑战消耗。 目前,经过压缩后,在理论上,ZK 系技术能带来的吞吐量提升在 100 倍上下,而 Op 在 30 倍左右。 如何将二层的状态转换同步到一层? 上一小节在讲交易压缩时提到二层运营者除了提交交易信息外,还会提交批次交易发生前后的状态根。这个状态根与以太坊一层的状态树的状态根类似,是账户状态的归集。 如图 2-3 所示,Rollup 的状态可以用 Merkle 树来组织,叶子节点为账户状态,中间节点存放层层向上进行哈希计算的信息,根节点是最终的哈希值,是二层所有账户状态的摘要。 如图 2-4 所示,是批次交易发生前后的状态转移示意图。二层的交易会改变交易相关的账户的状态,引起叶子节点的信息变动,最终导致根哈希值的变动。二层的运营者会在本地维护二层账户的状态树,记录批次交易发生前后的根哈希值,在上传批次交易时将此二哈希值一并上传。 总结与展望 Rollup 作为以太坊二层新一代技术,相比闪电网络、Plasma、侧链等等被寄托了更高的期待。目前 Rollup 还主要在前期的技术积累和难点攻克的阶段,尚未大面积铺开应用生态。 从技术落地上,可以预见的是,Optimistic Rollup 路线的方案因为可以率先实现兼容 EVM 的通用二层网络,通用方案会先于 ZK 系技术落地。而对于 Layer 2,不管是何种类型的 Rollup,对 EVM 的兼容会是决定生态能否快速成长的重要因素,这一点不仅表现在 Rollup 上,在侧链领域,我们也能看到兼容 EVM 的 Polygon 和不兼容的 xDai 在发展上的巨大差异。同时,由于技术本身的限制,预计 ZK 系和 OP 系将在此后分别针对 EVM 兼容和退出时间缩短上努力,以克服由此带来的障碍。此外,跨 Layer 2 的交互会是长期来看另一各重要的问题,该领域的解决方案大概率是基于场景的基于信任的解决方案会先诞生。 从生态上看,Rollup 方向下各分支目前均处于早期,生态不完善,尽管我们观察到各头部项目在 ZK、OP 和 Arbitrum 上已在部署中,但整体仍是以 DEX 类为主。而随着 Rollup 技术在去年下半年至今的推进,今年下半年我们将会看到 Rollup 各个头部团队的重要更新和落地。由此,我们也推测,第一批落地的仍将是头部 DEX、钱包、预言机和一些数据类中间件项目;随着第一批基础设施的不断完善、各 Rollup 项目在技术上持续优化,头部 DeFi 应用将开始大规模推进在 Layer2 上的落地;随着吞吐量的提升和交易手续费的数量级级别的下降会解开束缚在一层应用身上的枷锁,跨 Layer 2 交互及跨以太坊交互的技术同步跟进,新的 DeFi 场景定会诞生。 Rollup 未来是否已来,我们共同期待。 —- 编译者/作者:领众资本 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
一文纵览以太坊扩容主力Rollup技术、应用与数据表现
2021-07-15 领众资本 来源:区块链网络
LOADING...
相关阅读:
- 盘古开源浅析你的NFT安全吗IPFS与Filecoin消除风险2021-07-15
- 打破巨头垄断赋能区块链应用去中心化计算网络CUDOS会是新风口吗?|龙2021-07-15
- 比特币和区块链将会像互联网一样改变世界2021-07-15
- 简析以太坊 Layer 2 技术方案及扩容特性2021-07-15
- 读懂比特币侧链方案 Drivechain:如何实现比特币和多条侧链双向锚定?2021-07-15