Kirio.eth

Posted on Dec 07, 2021Read on Mirror.xyz

基于以太坊的L2扩容综述

   随着Defi流动性挖矿、DEX、Gamefi等应用不断推出以及稳定币的蓬勃发展,作为目前拥有最大生态的以太坊Gas Price 飙升,平均费用维持100Gwei以上,也让以太坊获得了“贵族链”的戏称。在链下的世界中,人们习惯了高速的交易,即时的确认,而高昂的Gas费、缓慢的转账速度,严重影响了以太坊的使用体验,极大的限制了以太坊生态的发展。基于此现状,诞生了各类提升区块链运转效率的改进方案。 “安全性、可扩展性、去中心化”,不可兼得,为了解决区块链“不可能三角问题”,涌现出众多的解决方案,其中之一便是Layer 2。

    业内借鉴计算机网络通信体系架构的OSI模型(Open System Interconnection reference Model,即开放式系统互联通信模型),将区块链逻辑架构划分为三层——Layer0、Layer1和Layer2。其中的layer0对应OSI模型的底层协议,大致包括物理层、数据链路层、网络层和传输层;layer1大致包括数据层、共识层和激励层;而layer2主要包括合约层和应用层。在以太坊网络中,layer1的主要作用就是确保网络安全、去中心化及最终状态的确认,做到状态共识,并作为一条公链网络上中可信的“加密法院”,通过智能合约设计的规则进行仲裁,以经济激励的形式将信任传递到layer2上;而layer2则以追求更高效的性能为终极目标,作为二层网络,可以替layer1承担大部分计算工作。于是一个可行的解决方案就是将以太坊的资产存入layer2,之后的资产流动交易环节在layer2上进行,只把最终结算过程放到layer1上就可以了。 Layer 2通常被称为链下解决方案,其主要目的是扩展区块链的性能,同时保留分布式协议的去中心化优势。在以太坊中,Layer2 技术系统是连接到以太坊的系统,将以太坊作为安全和最终确定性的基础层,通过链外运行计算来大规模的减少区块链上的数据处理,也就是说并非所有的交易都需要在以太坊主网上完成。Layer 2一旦成功,则意味着以太坊可以突破现有的性能限制,承载更大的生态。 

    最早的Layer2是侧链技术,如Polygon,这类有强信任假设的方案,在没有易用的无新人假设的方案诞生前,可以被作为一种折中的方案应用,但绝不是最终的最优方案,另外业界对于将侧链归类于Layer2是持有质疑态度的,原因在于侧链不会保持向主链同步状态变更,更接近一条独立的链,一个新的layer1。 闪电网络是最早的尝试无信任假设的Layer2解决方案之一。它通过RSMC和HTLC技术分别解除了对交易对手方的信任依赖和对资金路由节点的信任依赖。即用户无需假定交易对手方和转发资金的中间节点是不会作恶的。但是这种方案在安全性、易用性、通用性上都付出了代价,限制了该项技术的应用推广。 Plasma是闪电网络之后出现的技术。其模型兼有侧链和闪电网络的特点。Plasma与闪电网络的不同在于链下交易的传递、组织和提交形式。闪电网络链下交易的传递基于以状态通道连接而成的网络,交易存储在交易双方的状态通道中,通道中的交易对手方均可自行提交通道中的交易带来的状态变更。但Plasma选择了与侧链更为接近的交易传递和组织形式,会有Layer2的运营者负责接收交易、组织存储(在Plasma Cash方案中,需要用户自己存储一部分交易信息)和将现状变更提交上链。然后,侧链基于信任的模式,用户侧链上的运营者(或者说矿工)不作恶。在去信任上,Plasma沿袭了闪电网络使用欺诈证明的思想,通过设置挑战期和激励博弈来防止作恶。但是,Plasma同样存在安全性、易用性、通用性上的问题,如今基本上是一条已经被放弃作为独立Layer2的技术路线。 Rollup方案仍然保留了Plasma借用二层的运营者来接收、存储和提交状态变更的思想,但考虑到此前方案中将数据存储在链下的思路衍生出了安全性和易用性问题,而直接将数据存储在链上无法实现效率提升,因此诞生了将数据压缩上链的思路。交易数据上链后最直接解决的是用户易用性的问题,链上的数据是公开透明的,意味着不再需要为了防欺诈而要求用户做出一些十分影响体验的行为,如保持一定的上线频率以及自行保存用于自证清白的数据(闪电网络和Plasma都有这种要求)。同时,数据上链也间接解决了一些可能衍生的安全问题,如闪电网络瞭望塔隐私泄露、Plasma上的批量退出等在Rollup的场景中不需要被考虑。

     Rollup是什么?国内通常把它翻译成“卷叠”读起来虽然有点怪异但还是十分形象,打包为卷、压缩为叠,链下的交易数据打包压缩后传到链上存储,通过将以太坊主网上交易的计算和存储转移至layer2处理并压缩,再将压缩后的数据上传至以太坊主网以拓展以太坊的性能,Rollup就是对符合这一特征的一类layer2技术的总称。当前主要包括Optimistic Rollup和ZK Rollup。 Optimistic Rollup字面理解是乐观主义的Rollup,它乐观地默认被同步到以太坊主网的数据是正确的,如果谁认为被同步的数据不正确(即存在欺诈行为),可在挑战期发出挑战。因此这种证明方式也叫欺诈性证明。以此保证最后同步到以太坊主网的数据是有效的。 Arbitrum是offchain labs推出的一款Layer2扩容方案,采用多轮交互型设计的optimistic rollup方案,以实现对以太坊的扩容目标。Arbitrum是由以太链上合约管理的链下协议,是目前TVL最高的L2网络,为使自己的应用能够在Arbitrum Rollup上运行,dapp的开发者只需要用Solidity编写一组合约,然后将这些合约编译成可以在Arbitrum虚拟机上运行的可执行代码,运行速度更快。 Arbitrum使用欺诈证明,并具有链上通话数据的可行性,这意味着每笔交易的所有数据都经过完全排序、捆绑并提交给主网,由于它使用欺诈证明,争议时间延迟(DTD)约为七天。DTD通过后,网络上的状态更改可以被视为有效,用户可以通过本机桥接器提取可用余额。唯一问题是需要积累更多的流动性和创新的解决方案,如dAMM(由starkware和loopring发明)等跨L2 AMM结构。 多轮交互型欺诈性证明:Layer2的验证人将压缩后的数据同步到layer1,同时质押保证金,如果有人对该Rollup区块的交易数据存在争议,则需要发起挑战且同样质押保证金。验证人和挑战者在链下通过二分法的方式不断拆分存在争议的步骤,直至将争议范围缩减到一个具体的步骤,再到Layer1链上对该步骤进行判定,以此高效解决争议。通过多轮交互型设计,Arbitrum可以以较低的成本在链上解决争议。 特点:极低的交易费用、无需信任、通过加密技术保障资金拥有以太坊主网级别的安全性、用户资产自持、对EVM几乎100%兼容。 Optimism是PBC公司推出旨在以太坊上建立即时交易和扩展的智能合约,他们在L2创建OVM,与L1配合使用,以允许执行更多的交易而无需进行安全性折中,该团队研发的Optimistic Ethereum扩容方案,是具有无需重写智能合约就具有完整的跨层移植功能的扩容解决方案。 Optimism 包括两个部分,Optimistic Rollup合约和Optimistic虚拟机(OVM)。Rollup为L1智能合约,负责接收交易数据,然后发送数据至L2中以及接收计算结果。在L2上,交易会提交给一个“Sequencer”序列器(可以说是L2上的矿工)。然后它会立即回应,生成一个已签名的收据以保证交易的执行和排序。然而,如果序列器作恶,没有正确地执行交易或者抢跑交易的话怎么办呢?遇到这种情况时,用户可以向L1上的裁判合约提交那份已签名的收据,如果证实序列器没有正确履行其义务,那么ta就会罚没(即丢失其质押的资金)。所以L2可以说是一个小型的POS系统。但当遇到争议时,L1上的裁判合约应能够像L2上一样进行计算,并获得完全相同的计算结果。 特点是gas消耗较低,无需用户活性假设只需要验证者,安全性弱于一层,依赖于一层的抗审查性,如果二层交易的资金量很大,可能会诱使一层的矿工发起51%的攻击。退出期长,资金效率低,吞吐量提升也十分有限。 ZK Rollups它使用有效性证明来扩展计算:每批交易都带有一个由以太坊智能合约验证的加密证明(ZK-SNARK)。这样在区块最终确定之前,所有以太坊完整节点都会对每笔交易进行完全验证。在所有扩展解决方案中,ZK Rollups是最安全的,完全依靠数学,从而完全继承L1的安全性,这对于在高度对抗性环境中的功能至关重要。相反,其他扩展解决方案依赖于经济担保或第三方,因此提供的安全属性要弱得多。 ZK Rollups中状态更改的验证是通过计算零知识证明来完成的:如果任何状态更改无效,则无法生成证明,反过来,这意味着实体验证不能包括无效的状态更改。这就是我们称它们为排序器(sequencers)而不是验证者(validators)的原因:它们不验证交易,以太坊智能合约依靠纯数学来验证。我们不需要信任他们或监控他们的欺诈行为,因为他们不能进行任何欺诈。

    ZK Rollup和Optimistic Rollup的区别是什么? 1、显著更高的安全性。ZK Rollup消除了对观察者(watcher)的依赖,用加密安全取代了博弈论的经济安全,相信纯数学而不是激励参与者。 2、更高的资金效率。在Optimisic Rollup中,任何资产的原生提款都需要很长时间,这是一个安全参数,在安全性没有指数级下降的情况下无法减少。对于同质化代币,这个问题可以通过在桥的另一边有大量闲置流动性来缓解,为了补偿资金的机会成本,用户需要支付绕过等待期的费用。 3、NFT的用户体验。NFT的原生提款无法加速——流动性提供者方案不适用,因为NFT是独一无二的。因此,要撤回NFT,用户必须真正等待一周或更长时间。在zksync中,任何提款都会在15分钟到三小时之间完成,当活动较多时,提款时间会更快。 4、交易成本。对于大多数流行的加密用例,ZK Rollup更便宜,因为它需要在链上发布的数据量最少(没有签名和交易参数)。但是对于一些常见的用例,成本节省的数量级要大得多。具体来说,ZK Rollup只需要将最终更改发布到状态,并且由于许多交易进入相同的存储槽,因此可以摊销成本。最后,zksync2.0将有一个名为zkporter的扩展,通过将数据放在链下,提供1-3美分的固定交易费用,而Optimistm Rollup从根本上不能有这样的链下数据可用性扩展,因为没有公共数据,观察者无法验证每笔交易的有效性。

    ZkSync是由Matter Labs推出的基于ZK Rollup技术路线的L2项目,目前可用的迭代与EVM不兼容,并支持支付功能。zkSync 1.x自今年3月份以来一直上线,为Gitcoin等平台提供服务,用户可以在ZK Rollup上以使用以太坊主网成本的一部分支付公益赠款。任何人都可以通过本机桥接通资金到汇总,并使用zkwallet使用网络进行支付,该钱包还允许用户在网络上铸造和接收NFT,以及发送和接收付款。Matter labs在ZK Rollup技术路线上处于绝对领先的位置,一旦与EVM兼容,大多数应用程序将开始支持zkSync,也将使得ZK系技术迈向一个新的里程碑。 Starkware 使用的可扩展性技术算是融合了Plasma/Rollup,既将交易数据放在链下(类似于Plasma),又使用零知识证明来将链下的交易打包在一起,他们使用的零知识证明方案叫STARKs,是一种不需要可信任启动设置(trusted setup)的方案.Starkware联合创始人Eliben-Sasson便建议将此方案命名为validium。

    从整体发展的情况来看,Rollup无疑是以太坊扩容方案中最热门的选择。相比之下,Plasma只是把链外的数据在以太坊上进行一个公证,这会引发一个数据可用性的问题,这使得Plasma的用户体验很糟,也没有办法做到无需信任,同时还存在要求用户定期上线的问题,严重阻碍了发展。Rollp解决了Plasma暴露出的问题,提供了和以太坊相同的数据可用性和安全性,而且还能极大的提高网络的吞吐能力,同时降低了单笔交易成本。 而Rollup方案的两个分支,ZK Rollup和Optimistic rollup,他们的区别主要前者使用了零知识证明,后者使用了欺诈性证明,在可扩展性方面,ZK Rollup表现则要优于Optimistic Rollup,因此,如果仅从价值传输、交易的角度来看,ZK Rollup方案称得上是目前的最佳方案。