作 者
【火币研究院】赵文琦,陈晗,袁煜明
摘 要:
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概述
1.1什么是Rollup?
在链下的世界中,人们习惯了高速的交易、即时的确认、海量的存储,集中和信任带来效率。进入链上,基于代码控制和博弈机制的运转的分布式系统实现了分散和去信任,存储冗余和计算冗余成为保障系统安全性的重要手段。但冗余不可避免地带来成本提升和效率降低,链上应用的体验让用户产生时代倒退的感觉。为此,也诞生了各类提升区块链运转效率的改进方案。
链上改进方案中包括了扩展区块大小、改变共识算法、分片等等。虽然链上的改进方案在当前的区块链技术发展阶段还没有完全展现出在提升效率上的实力(如ETH2.0的分片还在开发中),但其都无法改变在区块链上为了安全性必须要承受冗余存储和计算的约束的现状。而这一约束可以被链下的改进方案打破。将存储和计算转移到链下,并设计机制保障链下存储和计算的可信与安全是链下扩展方案的核心。Rollup就是链下方案中的一类。
那么,Rollup是什么?国内通常把它翻译成“卷叠”,读起来有点怪但是还是十分形象,打包为卷、压缩为叠,链下的交易数据打包压缩后传到链上存储,Rollup就是对符合这一特征的一类Layer2技术的总称。与此相关的一个趣事是Matter Labs公开称ZKSwap并不是Rollup,只是一个Validium ,因为当时的ZKSwap未满足这一特征。
1.2如何演进出Rollup?
在Rollup之前,Layer2已经有了几代技术。但是由于去信任化、安全性、易用性或者通用性方面的问题,都没有成为被广为接受的方案。Rollup技术的出现成为打破这一局面的关键。
来源:火币研究院
最早的Layer2是侧链技术,其发展一直不温不火,最近由于Polygon的崛起引来了很多讨论。但,如Polygon一类的侧链的运行基础是信任 一组验证者,这类有强信任假设的方案,在没有易用的无信任假设的方案诞生前,可以被作为一种折中方案应用,但绝不是最终的最优方案。另外,业界对于将侧链归类于Layer2是持怀疑甚至是质疑态度的,原因在于侧链不会保持向主链同步状态变更,更接近一条独立的链,一个新的Layer1。
闪电网络是最早的尝试无信任假设的Layer2解决方案之一。他通过RSMC和HTLC技术分别解除了对交易对手方的信任依赖和对资金路由节点的信任依赖。即,用户无需假定交易对手方和转发资金的中间节点是不会作恶的。但是这种方案在安全性、易用性、通用性上都付出了代价 ,限制了该项技术的应用推广。
Plasma是闪电网络之后出现的技术。其模型兼有侧链和闪电网络的特点。Plasma与闪电网络的不同在于链下交易的传递、组织和提交形式。闪电网络链下交易的传递基于以状态通道连接而成的网络,交易存储在交易双方的状态通道中,通道中的交易对手方均可自行提交通道中的交易带来的状态变更。但Plasma选择了与侧链更为接近的交易传递和组织形式,会有Layer2的运营者负责接收交易、组织存储(在Plasma Cash方案中,需要用户自己存储一部分交易信息)和将状态变更提交上链。然而,侧链是基于信任的模式,用户侧链上的运营者(或者说矿工)不作恶。在去信任化上,Plasma沿袭了闪电网络使用欺诈证明的思想,通过设置挑战期和激励博弈来防止作恶。但是,Plasma同样存在安全性、易用性、通用性上的问题,现今基本是一条已经被放弃作为独立Layer2的技术路线。
Rollup方案仍然保留了Plasma借用二层的运营者来接收、存储和提交状态变更的思想,但考虑到此前方案中将数据存储在链下的思路衍生出了安全性和易用性问题,而直接将数据存储在链上无法实现效率提升,因此诞生了将数据压缩上链的思路。交易数据上链后最直接解决的是用户易用性的问题,链上的数据是公开透明的,意味不再需要为了防欺诈而要求用户做出一些十分伤害体验的行为,如保持一定的上线频率以及自行保存用于自证清白的数据(闪电网络和Plasma都有此要求)。同时,数据上链也间能接解决了一些可能衍生的安全问题,如闪电网络瞭望塔隐私泄露、Plasma上的批量退出等在Rollup的场景下是不需要被考虑的。
因此,演进至今,Rollup其实是借鉴吸收了过往众多方案思想并融合了其特有的链上压缩存储思路。在当前来看,Rollup无疑是Layer2方案中最受期待的。在其即将落地之时,希望通过本文梳理Rollup当下的技术、应用与数据。
二、Rollup技术核心要点
在上一章中,我们介绍了什么是Rollup以及Layer2的思想如何演进传承直至诞生了Rollup。在本章,我们将深入介绍Rollup技术的核心要点。不同Rollup技术路线、同一技术路线下的不同团队在将Rollup具体落地时会各有差异,因此本小节主要针对Rollup共性的思想进行介绍。
2.1.Rollup如何运转?
如下图2-1所示,是Rollup运转原理的示意图。在Layer2上,用户的各种交易会被发送给二层的运营者。运营者会将一批交易进行压缩。压缩成为一笔交易后,调用链上的处理合约进行处理。这笔调用交易就会像其他的Layer1的交易一样进入交易内存池。在Layer1上,矿工会接收一层网络中所有的交易并打包成区块发布,这其中就会包含由二层打包上来的交易。
虽然不同Rollup的具体实现会不一样,但均需要解决三个共性的问题:如何实现交易压缩、如何将二层的状态转换同步到一层以及如何保证二层运营者如实提交了二层的所有状态转换。我们将在下面三个小节分别讨论。
2.2.如何实现交易压缩?
关于为什么要将数据上链,在上一章中已经有阐述。上链后,二层交易数据在链上的数据可用性(或者说数据有效性、数据可获得性)能得到保障。但数据如果原样上链,是难以达到通过二层提升效率的目的的,所以会进行压缩。讲到压缩,大家通常的理解是对占用字节数的压缩,也就是体积上的压缩,其实不然。压缩主要是对交易消耗Gas数的压缩,因为以太坊上的区块限制是以Gas为限制而不是字节数,更小的字节数对应着更小的存储占用,但不等同于更小的Gas消耗。Rollup中的压缩,一方面确实压缩了交易占用的字节数,另一方面也会减少交易执行的计算量以降低Gas消耗。
交易字节数的压缩的方式主要包括使用效率更高的编码方式、缩减交易占用字节数、减少需要上传的数据等。
图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.如何将二层的状态转换同步到一层?
上一小节在讲交易压缩时提到二层运营者除了提交交易信息外,还会提交批次交易发生前后的状态根。这个状态根与以太坊一层的状态树的状态根类似,是账户状态的归集。
如图2-3所示,Rollup的状态可以用Merkle树来组织,叶子节点为账户状态,中间节点存放层层向上进行哈希计算的信息,根节点是最终的哈希值,是二层所有账户状态的摘要。
如图2-4所示,是批次交易发生前后的状态转移示意图。二层的交易会改变交易相关的账户的状态,引起叶子节点的信息变动,最终导致根哈希值的变动。二层的运营者会在本地维护二层账户的状态树,记录批次交易发生前后的根哈希值,在上传批次交易时将此二哈希值一并上传。
2.4.如何防止二层运营者欺诈?
既然,交易信息、状态转换信息都由二层运营者上传,如何阻止运营者上传虚假信息呢?这个问题对于所有要和主链进行状态同步的Layer2来说都存在。
Rollup诞生之前的闪电网络和Plasma采用的均是欺诈证明的方式,而Op系技术承袭二者思想同样使用了该方式。即,在运营者提交信息时不做关于状态转换合法性的校验,但是会为该批次的交易的提交预留挑战期。如果在挑战期内,无人对其合法性做出挑战则交易被确认;若有,则挑战者需提供欺诈证明,证明运营者作恶。
欺诈证明是相对容易的实现方式(相比后面要提到的有效性证明),但带来的代价是用户体验和资金效率的牺牲。在没有保证链上数据有效性的闪电网络和Plasma的方案中,需要用户保证一定的在线频率(也叫做用户活性)来防止欺诈,同时,用户资金无法及时取出需要等待挑战期结束。在Optimistic Rollup下,虽然也是使用欺诈证明,但对用户体验和资金效率伤害的情况有所改善。由于数据上链,挑战者可以由除用户外的第三方提交,降低了对用户活性的假设大幅改善体验。另外,Op方案下,虽然仍然存在挑战期,但是对于非欺诈的交易,交易的最终性是可以预期的,Op的使用者可以自行搭建验证节点快速验证交易合法性而不必等到挑战期结束,虽然交易仍然要等到挑战期结束后才能被主链确认,但其最终性可以被快速确认,利用这一点流动性提供商可以提前为用户释放资金流动性。不过,这种解决方案并不是内嵌在Op之中,需要依赖应用解决方案。
相比于欺诈证明,更有技术挑战性的防欺诈方式是要求二层运营者提供有效性证明,即,二层运营者直接证明其提交的状态转换是有效的(正确的),自证清白。这也是ZK Rollup系方案使用的方式。在该种方式下,提交即正确,用户不必担心欺诈,提取资金也不会有冻结期。方案近乎完美,美中不足是太难,以致于在很长一段时间内,ZK系解决方案只能针对一些特定的操作生成证明,无法通用。但随着密码学技术理论和实践的突破(PLONK、多项式承诺等),通用的ZK解决方案已经近在眼前了。
三、主要技术团队分析
上一章我们介绍了Rollup技术的核心要点,这一章,我们将对数个代表性的Rollup团队及他们的解决方案进行梳理。同时,对于每一个方案,我们也将从Rollup所关注的安全性、退出时间、用户活性假设、通用性、计算量、复杂度、吞吐量提升等方面进行分析,以进一步理解Rollup技术。
3.1MatterLabs
Matter Labs的二层解决方案zkSync是ZK Rollup技术路线的头部项目。当前的主网版本承载的资金量超过9百万美元,二层的单笔交易手续费可以低至$0.001(但目前在$0.1级别)。不过虽然其理论吞吐量可达数千,由于需求不足,实际运行的TPS小于0.1。同时,提现时间现在仍在小时级别。
这些数据一定程度上反映了ZK系解决方案在当前表现并不良好,但这种不良好更多是由于当前整个二层的发展阶段和ZK系技术尚有瓶颈待突破造成的。Matter Labs在ZK Rollup技术路线上处于绝对领先的地位,其兼容EVM的虚拟机也将是ZK系技术迈向下一个阶段的里程碑。
3.1.1.项目进展
Matter Labs基于密码学证明开发出zkSync解决方案,该方案于2020年7月上线主网,2021年5月份将上线zkSync1.x版本,并且将在2021年5月份上线2.0版本的公开测试网,8月份上线主网。
1.0版本支持资产转账,不支持通用智能合约;1.x版本支持NFT原子交换和铸造等功能;2.0版本将使用ZK Rollup和zkPorter混合账户架构,该架构支持两种账户的完全互操作,支持图灵完备的ZincVM,可移植现有的Solidity源代码,原生支持所有以太坊钱包,并且其开发中的zkPorter,通过放弃链上数据可用性,带来TPS的大幅提升,远超ZK Rollup 2000的理论值,可达到20,000笔以上。
3.1.2.技术方案
当前zkSync的主网版本是以ZK Rollup技术为核心的,其解决方案思路和前两章介绍的ZK Rollup的思路基本一致我们不再赘述。但Matter Labs官方在四月中旬发文再次着重介绍的zkPorter的解决方案值得关注。
纯Rollup的技术解决方案最重要的特点是保证了链上的数据可用性,而链上数据可用性能免除对用户活性的要求,大幅提升用户体验和可用性,但随之带来的是有限的扩展性。因为链上每个区块有gas上限,所以理论上,所有保证链上数据可用性的技术方案都会有扩展性的上限,只能带来线性的提升。
为了同时免除对用户活性的假设并大幅提升扩展性,zkPorter将数据存放在链下以绕开gas limit导致的十分有限的吞吐量的上限,同时,对于所有交易,其状态转换的证明仍旧会提交到链上,由链下的守护者进行验证。zkPorter中还有一个重要的点是引进了分片,ZK Rollup所在的分片是基础分片,其余所有的分片可以由用户自行决定数据可用性方案,这些分片的可用性可以由zkSync的守护者来维护,也可以由该分片上的协议自行维护。在该种架构下,TPS可以提升至2w,手续费也可再降低十倍(如图3-1)。
3.1.3.特点
安全性高,没有资金体量上限。Rollup部分具备与Layer1同等的安全性,同时二层的承载资金量的增加不会降低二层的安全性。Layer1上的数据有效性和零知识证明是zkSync解决方案的关键。智能合约可基于Layer1上的状态、数据和证明自动化验证交易的有效性,没有其他安全性假设。
退出时间相对较短。当前zkSync实际退出时间最长需要数小时,但理论退出时间是在15分钟左右的。主要原因是当前二层的交易数量不多,延长推出时间可以降低每笔交易需要平摊的手续费。即便如此,相比使用欺诈证明类型的技术方案(如Op Rollup、Plasma、闪电网络等)数周的推出时间,仍然是相对较短的。
无用户活性假设。由于该技术方案保证了Layer1上的数据可用性,并且所有交易都有有效性证明,因此不需要用户保证一定的上线频率来防欺诈。
通用性差,暂不支持通用的智能合约。当前版本的zkSync仅支持充提和转账,能力过于有限导致当前zkSync没有太多应用场景,整体的锁仓量在zk系的方案中表现并不亮眼。这是整个ZK Rollup技术路线当前面临的共性问题,即仅支持专用型的操作。但是,zkSync团队当前正在研究EVM兼容以及实现通用的智能合约,并且团队预计在今年即可上线支持通用智能合约和EVM的2.0版本。
计算量大。对每笔交易,除了要计算每笔交易本身带来的状态转换之外,还需要生成相应的状态转换证明,生成证明的过程需要消耗大量的计算资源。相较而言,其他如闪电网络、Plasma、Op Rollup省去了这部分的计算资源消耗。同样的交易,zksync的二层运营商成本会高于op系列解决方案的成本,但在当前二层利用率并不高的情况下该资源消耗并未成为zksync发展的重要挑战。如果基于ZK Rollup的二层应用场景增长,专用的证明器或者定制化的硬件也可以缓解该问题对资源消耗和用户体验带来的影响。另外,zkPorter的方案也为低计算量和更高的tps提供了解决方案。
复杂度高。由于零知识证明技术的复杂性,普通的应用开发团队几乎不能应用ZK Rollup的方案去迁移和开发应用。兼容EVM的ZK Rollup方案会大大改善这一问题,但是其代码的复杂度也会大幅上升,代码的审计会比OVM的难度高很多,对该ZincVM的安全性和鲁棒性的验证可能需要经数年的考验。
Rollup部分吞吐量提升有限,但zkPorter部分吞吐量有望巨幅提升。由于一层区块gas limit的上限限制,Rollup技术的吞吐量提升无法与其他不保证链上数据有效性的Layer2方案相比。但Matter Labs团队也意识到了这个问题,提出了新的zkPorter的方案以巨幅提升TPS。
3.1.4.应用
目前,zkSync作为ZK Rollup技术的头部解决方案受到许多生态应用方的关注,如Curve已经在以太坊测试网上集成zkSync,imToken与zkSync达成深度合作并将在钱包中支持zkSync,SushiSwap和Argent已选择将zkSync作为最终落地的扩容方案。但由于当前zkSync支持的操作有限,实际完成集成和应用的还很少,主要集中在支付领域。如Gitcoin、Storj、Golem等均集成zkSync作为支付方式之一。这些应用场景相比繁荣的一层的生态在实用性和资金回报上都相去甚远,也这就导致了zkSync实际的吞吐量仅在0.05 tx/s左右。
3.2Optimism
如同Matter Labs是ZK Rollup技术的头部团队,Optimism是Optimistic Rollup技术路线的头部团队。该团队脱胎于原本研究Plasma技术的Plasma Group团队,后放弃Plasma转向Optimistic Rollup。
其提出的OVM为降低一层到二层的代码迁移成本提供了重要的思路,便捷的代码迁移是生态快速融合的基础。虽然其主网还未上线,但是Synthetix已经在其基础上运行,目前承载资金量超过1亿美金,单笔交易的费用可以低至$0.07左右。吞吐量方面,Optimistic Rollup技术方案的理论值在500左右。
数据表现尚不强劲的主要原因是Optimism目前还处于有限访问的阶段,只针对部分已授权的应用开放少许功能测试,但其对于通用智能合约较好的兼容性仍然受众多项目方的青睐。从短期看,它的应用场景会更加广阔。
3.2.1项目进展
Optimism基于Optimistic Rollup的技术提出了OVM并且构建了Optimistic Ethereum。其在2021年1月开启Optimistic Ethereum主网的软启动(试运行)。随后在3月份,Synthetix开始了向OE的迁移,目前已经能在Synthetix上进行Layer2上的staking,但其更核心的合成资产和交易的业务尚未部署到主网上。预计在2021年7月,OE会上线公共主网。
3.2.2技术方案
Optimism的Optimistic Ethereum是对Optimistic Rollup的代表性实现,其技术核心思想在前两章有过深入讨论这里不再重复,但需要针对其OVM做特别说明。
Optimism支持在二层扩容网络上使用OVM,一方面兼容以太坊虚拟机最大程度保障通用性,另一方面做了一些适应性调整保障OVM可以实现Optimistic Rollup的机制。这些调整主要包括三个方面,第一方面是调整虚拟机中的一些操作码,来保证程序在一层和二层执行的时能得到相同的结果,例如对TIMESTAMP、ADDRESS等操作码的调整;第二方面是调整了编译器,保证Solidity编写的程序能被正确编译成OVM支持的操作码;第三方面是修改Geth客户端,让其兼容OVM对交易的处理方式。
3.2.3特点
安全性弱于一层。欺诈证明路线的方案,依赖于一层的抗审查性。如果二层交易的资金量很大,可能会诱使一层的矿工发起51%攻击,审查挑战交易,导致二层作恶的排序者提交的虚假交易无法被成功挑战。
退出期长,资金效率低。Op Rollup基于经济激励的博弈模型使得交易在挑战期结束以前不具有确定性,并且无法运行全节点的终端用户无法提前验证交易的确定性。因此Op Rollup相较ZK Rollup的验证时间长,PoW共识机制下的挑战窗口期约为2周,PoS共识机制下的挑战窗口期为1周。
无用户活性假设,但需要验证者。Optimism 团队的解决方案保一层上数据的可用性,虽然仍然需要监控一二层状态防止欺诈,但不需要用户自行监测,可由第三方的验证者代替。
灵活性高,支持通用智能合约。Optimistic Ethereum是第一个无需大规模重写智能合约即具有完整跨层移植功能的Rollup解决方案,即以太坊上的应用的合约代码迁移成本非常低。因此,在短期成为了众多应用团队关注和选择的解决方案。
计算开销较低、一层gas消耗较低。该解决方案中的的状态转换的有效性不需要在一层主动验证,相比于ZK系的解决方案能节省大量的验证的gas消耗。并且省去了在二层生成证明的计算开销。
吞吐量提升十分有限。纯Rollup系的技术,对吞吐量的提升由于受限于一层区块的gas limit,本身就十分有限,加之Op需要提供更多的中间状态数据便于挑战,所以只能带来几十倍的吞吐量提升,是各类二层技术中提升最为有限的方案。
3.2.4应用
虽然基于Optimistic Rollup的Optimistic Ethereum在安全性和资金效率上都不如ZK系的技术,但由于其兼容EVM的解决方案有望成为Rollup系技术中最先落地的,许多团队采用其作为下一个阶段的扩容解决方案。当前,Synthetix已在Optimistic Ethereum上实现质押服务,Uniswap也一直在与其合作推进二层的落地,在近期也宣布了将在其上推出alpha版本。。Volmex在Optimism本地测试网上开发应用并进行OVM部署,IDEX上线低延迟、高TPS的2.0版本, MakerDAO为Optimism提供二层DAI快速提款方案以缩短提款时间至几分钟,Compound预计选择Optimistic Rollup,Saddle未来将智能合约迁移至Optimism上。
3.3Offchain Labs
Arbitrum方案是由Offchain Labs提出并创建的,最早是一个纯粹的研究型学术项目,后经过不断优化和改进,逐渐转入实践。
该方案也是基于Optimistic Rollup的解决方案,通过经济激励的博弈模型维护安全性并通过欺诈证明来维护交易有效性,主要区别在于挑战机制和实现形式。目前,Arbitrum主网还未上线,但已经在以太坊的主要测试网中运行了一段时间,性能表现良好。测试案例的数据显示,其最优吞吐量在几百左右,挑战期只有数十分钟。只不过,挑战时间设置的较短可能会带来一些安全问题,还有待技术团队来进一步解决和完善。
3.3.1.项目进展
截至目前,Arbitrum测试网已经平稳运行了约六个月。2021年3月,Offchain Labs团队更新了第四个测试网版本,并将其选定为主网的候选版本。5月28日,其主网测试版Arbitrum One已经向开发者开放。如果不出意外,其公共主网将于2021年内上线。根据Arbitrum的路线图,团队下一步的工作是主网的正式上线。为此,团队正在和多个项目方积极合作,共同进行网络的集成、审计和压力测试。
按照目前的进展来看,Arbitrum有可能反超Optimistic Ethereum成为以太坊上第一个落地的通用型Rollup,这对于整个以太坊生态和Rollup来说都是重大的突破。
3.3.2.技术方案
Arbitrum技术方案的设计与Optimism类似,与可兼容以太坊智能合约,并可通过欺诈证明和经济博弈的方式维护交易有效性,二者的主要区别在于挑战机制。Optimism只需要排序者和验证者执行一次欺诈证明交互即可判断出结果,而Arbitrum认为一次交互可能导致欺诈证明需要包含大量的交易从而超出gas限制,并且提出欺诈证明是由于单条指令执行异常导致,无需执行全部的指令。因此,Arbitrum将欺诈证明分为多轮步骤,只需要证明排序者在执行某条指令时出现异常,即可证明排序者作恶,节省成本。
3.3.3.特点
Arbitrum的方案与Optimism Rollup的主要特点是一致的,我们不再赘述,主要可以关注欺诈证明机制的变化带来的改变。
多轮欺诈证明交互。Arbitrum采用多轮欺诈证明验证交易的有效性,降低单次挑战需要消耗的gas,不必担心gas费用超出限制。
对EVM的兼容性更强。虽然Optimism团队的OVM对EVM兼容,但其实不是100%兼容,已有的项目从一层迁移过来仍然需要修改代码,Arbitrun团队的方案则是几乎100%兼容。
多步交易可能存在安全性问题。Arbitrum交易的有效性验证需要多轮交互,内置虚拟机需要支持异步机制,该机制更加复杂,代码量更大,可能存在安全问题。
3.3.4.应用
由于Arbitrum落地预期强烈,当前已经有众多应用都宣布支持Arbitrum的生态。包括Uniswap、Sushiswap、MCDEX、Bancor、ImToken等。其中,Uniswap社区已经投票通过将V3部署在Arbitrum上;去中心化永续合约交易所MCDEX推出的无需许可即可创建合约V3版本已登录Arbitrum测试网中,与开发团队协同推进方案的测试和应用;同时,MCDEX V3也计划在Arbitrum主网上线后立刻完成部署,并对用户开放;另外, OKEX也宣布将支持Arbitrum网络的充值和提现。用户无需再与以太坊一层交互,降低交易手续费。
3.4Starkware
StarkWare是一个来自以色列的零知识证明研发机构,专注于研究以太坊二层扩容技术。该团队在二层的技术积淀也非常深厚,二层技术路线、二层网络网络、零知识证明协议、编程语言、二层应用均有涉猎。几乎覆盖了二层所有的技术核心点。
其提出的Layer2底层的技术为Validium,后又进一步推出了Volition。StarkWare团队推出了一个去中心化的二层扩容网络StarkNet,支持以太坊上的通用计算,具备一定的免许可性和抗审查性。根据StarkWare在今年1月底公布的StarkNet路线图来看,该方案分为四个阶段,以逐步实现去中心化和生态集成。目前,团队已完成阶段0的构建,主要完善了三个重要组件,即证明协议zk-STARK、编程语言Cairo和交易所扩容方案StarkEx。
3.4.1.项目进展
StarkWare对目前流行的SNARK算法做了改进,自主研发出新一代零知识证明协议STARK。该协议于2020年6月上线主网,能够大幅提高运行效率,并可以提供抗量子计算的零知识签名,是整个StarkNet去中心化证明层的基石。
另外,StarkWare还创造了独有的编程框架Cairo,以生成通用计算的STARK证明。Cairo于2020年10月在主网上线,面向所有开发者。该框架不仅是图灵完备的,还能避免零知识证明中复杂的电路设计,将证明的生成与验证分开进行。StarkWare团队不断改进Cairo,为其引入了众多新的功能、语法和内部插件,最近正在探索投票场景下的应用。
StarkWare也在阶段0中推出了第一个基于STARK的ZK Rollup应用StarkEx。StarkEx既是StarkNet第一批具体应用,也是专注于交易所场景的二层扩容引擎。StarkEx最早于2020年6月上线以太坊主网,随后在2020年12月上线了2.0版本。2.0版本是完全建立在Cairo框架上,支持一二层交互以及ERC721、链下铸币、智能合约密钥恢复等功能。目前,StarkEx仍处于迭代更新的状态,团队计划于2021年5月推出StarkEx 3.0,该版本将包含 L1限价单和批量长效的闪电贷功能。
按照团队计划,后续三个阶段分别对应单运营者单应用Rollup、单运营者多应用Rollup以及去中心化运营多应用Rollup,最终将在2022年底前逐步完成部署(图3-2)。
3.4.2.技术方案
Starkware最早提出的二层解决方案是Validium,这个方案将数据保存在链下,但同时结合了ZK的思想对状态转换做有效性证明。具体来说,数据在链下的有效性由链下的公证人保证,同时公证人会将链下交易的状态转换生成SNARK证明上传到链上。SNARK证明避免了公证人上传错误的状态转换到链上。但由于数据存储在链下,公证人可以合谋不提交数据,将用户的资产冻结。因此,其实Validium方案并不是Rollup系的技术,但是在Validium方案中用户资产也被冻结的问题被讨论之后,Starkware推出了一个新的方案,Volition。Volition其实是ZK Rollup方案和Validium方案的结合(图3-3),用户可以根据自己的需求选择将数据可用性的保证放在链上还是链下。因此,我们还是将Starkware团队的工作放进了本篇Rollup的文章中。
在前面的章节中我们介绍过Matter Labs的zkPorter的方案,这个方案的思想就是源自于Validium,但是在zkPorter中,链下的守护者无法冻结用户的资产,且在zkPorter中有一个分片是ZK Rollup的分片,数据可用性由链上保证,用户可以选择将自己的资产放在ZK Rollup的分片中或者可用性在链下的其他zkPorter的分片中。所以其实zkPorter的方案和Volition的方案是更为相似的。
3.4.3.特点
安全性弱于一层,公证人有权冻结资金。Validium将数据保存在链下,二层的公证人只会向链上提供状态转换的证明,不会提交细节的交易信息,导致如果二层的公证人不将最新的状态公布给用户,用户无法自行构造证明来证明账户状态。因此存在二层公证人冻结用户资金敲诈的可能。
退出时间相对较短。因为Validium方案下公证人为状态转换提供了有效性证明,不需要挑战期,因此退出时间相对较短。
无用户活性假设。虽然该方案没有保证链上数据的有效性,存在欺诈的可能,但是SNARK证明能避免公证人提交虚假交易,因此不需要用户保持在线频率来防欺诈。另外,即便发生前述的公证人冻结资金的情况,也不能通过用户保持在线解决。
通用性强于zkSync,但不兼容EVM。Starkware团队开发了Cairo语言,应用团队使用该语言开发应用可以省去自行编写生成证明的工作。但是由于不兼容EVM,现有以太坊的生态应用迁移过来需要额外的开发工作,这也是Starkware团队的方案没有获得广泛采纳的重要原因之一。
吞吐量大幅提升。由于数据放在了链下,Validium的吞吐量提升比ZK Rollup还要再高一个数量级。
3.4.4.应用
当前已有多个应用宣布集成StarkWare的二层扩容方案。去中心化自治组织BadgerDAO于2月份在StarkNet上启动;Celer也计划利用Cairo编程语言,为自身扩容方案Layer2.finance开发基于零知识证明的版本;现货交易所dYdX、衍生品交易所DeversiFi和NFT交易市场Immutable 均上线支持了StarkEx方案,截至目前共产生超过10亿美元的交易量。其中,DeversiFi最早采用StarkEx扩容引擎,提供代币兑换功能,用户从Layer 1进入该网络无需支付任何Gas费;dYdX的二层网络版本于4月正式上线以太坊主网,提供十种代币的永续合约交易;而Immutable交易市场则与StarkEx在NFT领域开展合作,发布了二层解决方案ImmutableX的Alpha版本,支持区块链卡牌游戏玩家进行交易。
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。