Cobo Ventures长篇研报:深度解析链下扩容

Ellaine Xu等热度: 11461

理想状态下的扩容方案是:在不牺牲去中心化和安全性的前提下,还能尽可能提高区块链网络的交易速度(更短的finality time)和交易吞吐量(更高的TPS)。

原文作者:Ellaine Xu, Hettie Jiang, June Wang, Walon Lin, Yiliu Lin

原文来源:Cobo Global

目录

1. 扩容的必要性

2. 扩容方案的类别

3. 链下扩容的方案

4. 总结展望

参考目录

1. 扩容的必要性

区块链的未来是一个宏大的愿景:去中心化、安全性和可扩展性;但通常区块链只能实现其中两个,同时满足这三个要求被称为区块链的不可能三角问题(如下图所示)。多年来,人们一直在探索如何解决这一难题,如何在保证去中心化和安全性的前提下,提高区块链的吞吐量和交易速度,即解决扩容问题,是当前区块链发展过程中讨论的热点话题之一。

让我们先笼统地定义区块链的去中心化、安全性和可扩展性:

  • 去中心化:任何人都可以成为节点参与区块链系统的生产和验证,节点数量越多,则去中心化程度越高,从而确保网络不受一小群大型中心化参与者的控制。
  • 安全性:为了获取区块链系统控制权所付出的成本越高,则安全性越高,那么链就可以抵抗较大比例的参与者对其的攻击。
  • 可扩展性:区块链处理大量交易的能力。

扩容

比特币网络的第一次重大硬分叉就是源于扩容问题。随着比特币的用户数量和交易量的增多,每个区块上限为1MB的比特币网络开始面临拥堵问题;2015年开始,比特币社区就扩容问题存在分歧,一方是以Bitcoin ABC为代表的支持扩大区块的扩容派,另一方是以Bitcoin Core为代表的小区块派,认为应当使用隔离见证Segwit方案去优化主链结构。2017年8月1日,Bitcoin ABC自行开发至8MB的客户端系统开始运行,导致了比特币历史上第一次重大硬分叉的出现,同时也由此诞生了新币种BCH。

同样,以太坊网络也是选择牺牲了一部分可扩展性,用来保障网络的安全性和去中心化;虽然以太坊网络并未像比特币网络一样通过限制区块大小来限定交易量,而是变相转变为对单一区块可容纳的燃料费设置上限,但是目的都是为了实现Trustless Consensus并确保节点的广泛分布(无论取消还是提高限额都会淘汰很多带宽、存储和计算量不足的较小节点)。

从2017年的CryptoKitties,DeFi summer、再到后来GameFi和NFT等链上应用的兴起,市场对吞吐量需求不断增加,但即使是图灵完备的以太坊每秒也只能处理15~45笔的交易(TPS),这导致的结果是交易成本不断增加,结算时间变长,大部分Dapps难以承受运行成本,整个网络对于用户而言也变的又慢又贵,区块链扩容问题亟待被解决。理想状态下的扩容方案是:在不牺牲去中心化和安全性的前提下,还能尽可能提高区块链网络的交易速度(更短的finality time)和交易吞吐量(更高的TPS)。

2. 扩容方案的类别

我们按照“是否改变一层主网“作为标准,把扩容方案分为链上扩容和链下扩容两大类。

扩容

2.1 链上扩容

核心概念:通过改变一层主网协议达到扩容效果的解决方案,目前的主要方案是分片。

链上扩容有多种方案,此篇文章不进行展开,以下简要列举两种方案:

  • 方案一是扩大区块空间,即增加每个区块打包的交易数量,但这会提高对高性能节点设备的要求,提高节点的加入门槛,降低了「去中心化」程度。
  • 方案二是分片,将区块链账本分成若干部分,不再是每个节点参与所有记账,而是由不同分片即不同节点负责不同记账,并行计算可以同时处理多个交易;这样可降低节点计算压力和加入门槛,提高交易处理速度和去中心化程度;但这意味着全网算力被分散,会降低整个网络的「安全性」。

改变一层主网协议的代码可能会产生难以预料的负面影响,因为底层任何细微的安全漏洞都会严重威胁整个网络的安全性,网络可能会被迫进行分叉或中断修复升级。例如,2018年的Zcash的通胀漏洞事件:Zcash的代码是基于比特币0.11.2版本代码修改的,2018年一位工程师发现其底层代码存在高危漏洞,即代币可无限增发,随即团队花了8个月的时间进行秘密修补,漏洞修复后才公开这一事件。

2.2 链下扩容

核心概念:不改变现有一层主网协议的扩容解决方案。

扩容

链下扩容方案又可以细分为Layer2和其他方案:


扩容

注:表格内的术语定义来自以太坊官网,内容由Cobo Ventures总结梳理。

下面我们将从发展时间线、技术原理、优缺点和应用对比等方面展开介绍目前主流的链下扩容方案。

3. 链下扩容的方案

扩容

3.1 State Channels

3.1.1 概要

状态通道规定只有在通道打开、关闭或解决纠纷时,用户才需要与主网进行交互,并把用户与用户的交互放在链下进行,以此来降低用户交易的时间和金钱成本,并且实现交易次数不受限制。

状态通道是简单的P2P协议,适合“基于回合的应用程序”,例如,两人国际象棋游戏。每个通道都由主网上运行的多签智能合约管理,该合约控制存入通道的资产,验证状态更新,并仲裁参与者之间的争议(根据带有签名和时间戳的欺诈证明)。参与者在区块链网络部署合约后,存入一笔资金并锁定,双方签名确认后,通道正式开通。通道允许参与者之间进行不限次数的链下免费交易(只要他们的转账净值不超过存入的代币总额)。参与者轮流发送状态更新给对方,等待对方的签名确认。一旦对方签名确认,这笔状态更新就算完成。正常情况下,双方同意的状态更新不会上传主网,只有在出现争议或关闭通道时,才会依赖主网确认。需要关闭通道时,任一参与者可在主网提出交易请求,如果退出请求获得全员一致签名批准,则链上立即执行,即智能合约根据通道最终状态下每个参与者的余额,分发剩余的锁定资金;如果其他参与者没有签名批准,则所有人需等待“挑战期”的结束才能收到剩余资金。

综上,状态通道方案可以大大减少主网计算量,提升交易速度,降低交易成本。

3.1.2 时间线

扩容

上图时间线展示了State Channels的发展和演变的主要里程碑。

  • 2015/02,Joseph Poon和Thaddeus Dryja发布了闪电网络白皮书草案。
  • 2015/11,Jeff Coleman首次系统性总结了State Channel的概念,提出比特币的Payment Channel是State Channel概念中的一个子案例。
  • 2016/01,Joseph Poon和Thaddeus Dryja正式发表白皮书《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》提出比特币闪电网络的扩容方案 Payment Channel(支付通道),该方案仅用于处理比特币网络上的转账支付。
  • 2017/11,第一个基于Payment Channel框架下的有关State Channel的设计规范Sprites被提出。
  • 2018/06,Counterfactual提出了一个非常详细的Generalized State Channels设计, 这是第一个完全与状态通道相关的设计。
  • 2018/10,文章Generalised State Channel Networks提出State Channel Networks和Virtual Channels的概念。
  • 2019/02,状态通道的概念扩展到N-Party Channels,Nitro是首个基于该想法建立的协议。
  • 2019/10,Pisa为了解决所有参与者需要持续在线的问题,拓展了Watchtowers的概念。
  • 2020/03,Hydra提出Fast Isomorphic Channels。

3.1.3 技术原理

扩容

Source: L. D. Negka and G. P. Spathoulas, "Blockchain State Channels: A State of the Art" in IEEE Access, vol. 9, pp. 160277-160298, 2021, doi: 10.1109/ACCESS.2021.3131419.

图1展示的是传统链上的工作流程:Alice和Bob与部署在主网上的智能合约进行交互,用户通过向链上发送交易来改变智能合约的状态。缺点是会带来上面讨论的时间和成本问题。

扩容

Source: L. D. Negka and G. P. Spathoulas, "Blockchain State Channels: A State of the Art" in IEEE Access, vol. 9, pp. 160277-160298, 2021, doi: 10.1109/ACCESS.2021.3131419.

图2展示的是大多数状态通道协议遵循的一般工作流程:乐观情况下,Alice和Bob需要执行与之前相同的操作,但这次他们使用状态通道,而不是与链上合约进行交互。

第一步,Alice和Bob通过从其个人EOA存入资金到链上合约地址(交互1,2),这些资金被锁定在合约中,直到通道关闭时才将余额返回给用户;二人签名确认后,二人之间的状态通道正式开通。

第二步,Alice和Bob通过该通道理论上可在链下开展不限次数的交易(蓝色虚线),参与者通过加密的签名消息相互通信(而不是与区块链网络通信)。双方用户都需要对每笔交易进行签名,以防止双花作恶。通过这些消息,他们提出自己账户的状态更新,并接受对方提出的状态更新。

第三步,如果Alice想关闭通道结束和Bob之间的交易,Alice需要向合约提交自己账户的最终状态(交互3),如果Bob签名批准,合约则会根据最终状态将锁定的资金释放返回对应用户(交互4,5)。如果Bob未响应签名,合约则会在挑战期结束后将锁定的资金释放返回对应用户。

扩容

Source: L. D. Negka and G. P. Spathoulas, "Blockchain State Channels: A State of the Art" in IEEE Access, vol. 9, pp. 160277-160298, 2021, doi: 10.1109/ACCESS.2021.3131419.

图3显示的是悲观情况下状态通道的工作流程:起初,两个参与者存入资金(交互1,2),然后开始交换状态更新(蓝色虚线)。假设在某个时间点,Bob在他的轮次中不响应Alice发送来的状态更新签名(交互3),此时,Alice可以通过向合约提交自己最后一次的有效状态来发起挑战(交互4),这个有效状态也包含了Bob之前的签名,从而证明最后一笔交易已经收到Bob的批准,最后状态已经收到Bob的确认。然后,合约允许Bob在一段时间内通过将下一个状态提交给合约进行响应;如果Bob响应,则二人可以继续在状态通道内进行交易;如果Bob在该时间段内没有响应,则合约自动关闭状态通道并将资金返回给Alice(交互5)。

3.1.4 优缺点

扩容

3.1.5 应用

比特币闪电网络

概述:

闪电网络是比特币网络的小额支付通道,其整体技术演变经历:2/2多签构建单向支付通道,增加RSMC(Revocable Sequence Maturity Contract)后可构建双向支付通道,再增加HTLC(Hash Time Lock Contract) 后可连接支付通道拓展到多人支付,最终构建支付网络即闪电网络。通过链下小额支付通道,然后借助中间人构成交易网络,可以解决比特币网络扩容问题。闪电网络的整体使用遵循着“存款(建立通道)→ 闪电网络交易(更新通道状态)→ 退款/结算(结束通道)” 的流程;理论上闪电网络每秒可以处理一百万笔交易。

时间线:

  • 2015年2月,Joseph Poon和Thaddeus Dryja发布了闪电网络白皮书的草稿;
  • 2016年1月发布正式版白皮书并成立了Lightning Labs;
  • 2018年3月15日,Lightning Labs发布第一个闪电网络主网版本Lightning Network Daemon (LND) 0.4版本。
  • 2021年初,闪电网络的公共容量(TVL)只有约4000万美元,约不到10万用户使用闪电网络。
  • 2021年6月,萨尔瓦多宣布采用比特币作为法定货币,9月发布基于闪电网络的钱包Chivo。
  • 2022 年,Cash App和包括OKX、Kraken、Bitfinex在内的26个加密货币交易平台宣布支持闪电网络,实现即时且便宜的的BTC存取款和转账功能。
  • 2022年10月,Lightning Labs发布了基于Taproot的新协议——Taro protocol(alpha版本),目前正在测试网上进行测试,未来将可用于在比特币网络上铸造、发送和接收资产,并通过闪电网络执行即时、大容量和低费用的交易。
  • 2022年11月23日,根据1ml.com,闪电网络共有76,236个支付通道,通道资金5049 $BTC($81.8M)。

生态发展:

扩容

Source:https://blog.coinbase.com/is-the-bitcoin-lightning-network-for-real-26e47029687f

如上图所示,BTC闪电网络生态从下到上依次为:底层的BTC网络—核心基础设施—各种Dapps。

核心基础设施包括

  • 闪电网络解决方案:个人和企业可以运行、连接到闪电网络的软件程序,其中所占市场份额最大的是闪电实验室Lightning Labs。
  • 节点和流动性服务:因为用户独立运行自己的节点较为复杂,需要提供对用户较为友好的界面,帮助管理闪电支付渠道。

核心基础设施之上是各种支付和金融服务以及应用程序,例如,Strike建立在LND解决方案之上允许用户买卖BTC,在Twitter上使用BTC打赏创作者和允许Shopify商家接受BTC等。

截止2022年11月,基于比特币闪电网络的Dapps已增涨至超20个类别和100多个应用,应用类别主要包括比特币闪电网络支付、钱包、节点管理、浏览器扩展程序、播客和流媒体等。当前与节点基础设施相关的技术基础层已经基本成熟,钱包支持增加,金融服务和支付集成继续增长,更多的娱乐应用在闪电网络上构建,闪电网络生态系统正在蓬勃发展。

以太坊雷电网络

概述:

雷电网络是基于以太坊的小额支付通道,与闪电网络非常相似,都是通过建立状态通道的方式来对链上交易进行拓展,目的是在以太坊上实现近乎即时、低费用和可扩展的ERC20代币支付。

时间线:

  • 2017年成立,创始人Heiko Hees曾是以太坊的核心开发者以及顾问。
  • 2017年10月17日以荷兰拍卖形式为其代币$RDN发起了ICO,筹集了超过3000万美元。
  • 2020年5月第一个Raiden Light Client - Alderaan在以太坊主网上线,是基于Typescript的雷电网络的实现;
  • 2021年底,由于长时间缺乏开发进展、信息披露和用户使用情况,多个交易所将$RDN摘牌,包括Bitkub,NiceHash和Binance。

目前这项技术未获得广泛采用,原因包含:

1)使用门槛过高:以太坊上的Gas费用过高时,开启通道的成本过高,这成为采用Raiden网络的一大障碍。

2)更先进的扩容技术出现:Raiden Network于2015年开始研发,当时是以太坊唯一的扩容方案。但目前出现了Rollup等更好的扩容方案,导致Raiden Network本身的用例受限。

生态发展:

目前雷电网络的生态发展缓慢,团队正在改造Raiden Network,使其运行在以太坊Layer2 Rollup网络上,从而进一步降低创建State Channel的Gas费用;2022年5月团队宣布Raiden Network在Arbitrum上线,成为一个rollup native protocol,L2之上运行的L2;该方案把初始创建通道的费用降低了35%,使其更适用于高频小额支付场景;雷电网络未来将以Rollups为中心进行转变,作为与Rollups共存的补充方案。

Celer Network

概述:

Celer Network本质上是一个增加了激励层(代币$CELR)的闪电网络,可通过链外扩展技术和激励性经济模型构建快速、易于使用、低成本和安全的高频交互类型的区块链Dapps,如电子竞技平台等。因为其用户入场费和奖金的发放有极高的交互频率,非常适合状态通道技术的应用。

假设Alice和Carl之间通过状态通道进行下棋游戏,二人需要首先在主网存款创建通道,链下有一个管理游戏规则的合约,并且该合约的地址会在有条件的支付中被引用,举例,“如果合约判定Carl赢得游戏,Alice将支付Carl1美元”;每个链下合约都有一个唯一可识别的链下地址,只有在需要时合约才在区块链上进行部署,并且由内置的链下地址转换器分配对应的链上地址,其他合约或对象可以明确的引用它。二人之间所有的游戏状态转换(账户余额)经双方签名确认,也都发生在链下,这些状态在需要时(出现争议时)可在链上验证。通过Celer Network提供的链下地址转换器OAT(Off-chain Address Translator),每一个链下地址可以唯一映射一个链上的智能合约;因此,Alice和Carl之间的游戏,只要双方持续合作,没有争议产生,整个游戏(合约+状态)都无需上链操作。

扩容

Source: https://www.celer.network/doc/CelerNetwork-Whitepaper.pdf

如上图所示,Celer Network基于以太坊实现的链下扩容框架由三层组成,从下到上为:

  • cChannel:广义状态通道和侧链套件
  • cRoute:链下支付路由,使用的创新路由算法DBR(Distributed Balanced Routing)提高了性能
  • cOS:链下应用程序的开发框架和运行环境

时间线:

  • 2018年创立,团队成员来自MIT、Princeton、UCBerkeley和UIUC的计算机博士。
  • 2019年3月,代币$CELR在币安Launchpad发布。
  • 2019年7月,Celer Network在以太坊主网上线,发布世界上第一个Generalized State Channel Network;同时上线电子竞技游戏平台CelerX,CelerX是iOS和Android上第一个L2 Dapp,其用户可以通过Celer Pay进行即时零手续费支付,畅玩各种技能类游戏。

生态发展:

随着区块链生态系统朝着多链发展,状态通道被赋予桥接Layer1和Layer2的新使命。Celer Network扩展了其广义状态信道网络的核心技术,转变为支持跨链的L2扩容聚合平台,目前已推出的产品包含DeFi协议Layer2.finance,信息跨链协议Celer IM和资产跨链桥cBridge。cBridge已支持多达139种token和38条链。

2022年11月11日,MetaMask Bridges Beta集成cBridge,11月17日cBridge的总交易数达到1M,当日同时宣布cBridge和Celer IM集成zkSync 2.0测试网。

3.1.6 应用比较

扩容

3.2 Sidechains

3.2.1 概要

侧链的概念首次于2012年比特币开发人员在聊天室中被提出,而第一篇关于比特币的侧链文章是由一位Blockstream的研究员撰写并于2014年出版。

2014年的论文当中提出,侧链是为了加快比特币交易而出现的一种区块链形态,可以使用更复杂的合约,或是通过改善共识机制(如PoS),或是区块参数让侧链符合特定作用。侧链的交易结果最终在传送回主链时,会记录在验证者端。这种区块链模式并非新的区块链形态,而是附着于主链上并协助主链解决问题的基础建设。

3.2.2 时间线

扩容


  • 2012/01,比特币侧链的概念在聊天室中被提出
  • 2014/10,比特币侧链的论文初次发表:Symmetric Pegged and Asymmetric Pegged
  • 2017/04,POA Network基于以太坊Proof of Authentication共识的一条侧链上线测试网
  • 2017/10,Matic Network启动
  • 2017/12,POA Network主网上线
  • 2018/01,Skales测试网上线
  • 2018/10,xDai Chain测试网上线
  • 2020/06,Skale主网上线
  • 2020/06,以太坊侧链Matic PoS Chain主网上线
  • 2021/02,Matic Network品牌更名为Polygon Network
  • 2021/02,Axie Infinity游戏侧链Ronin主网开始运行
  • 2021/12,xDai Chain与Gnosis Dao合并成Gnosis Chain
  • 2022/03,POA Network合并入Gnosis Chain

3.2.3 技术原理

在侧链的技术原理当中,2014年的论文提到双向锚定(Symmetric Pegged)与不协调锚定(Asymmetric Pegged)两种方式让侧链可以与主链进行沟通。双向锚定或不协调锚定的讯息传递只会在主链跟侧链的代币进行跨链时发生。由于侧链用到了跨链技术,因此,下文会先行讨论两种最根本的跨链技术原理,然后讨论侧链技术在应用层面的优缺点。

Symmetric Pegged

双向锚定(Symmetric Pegged)是指主链上(Parent Chains)跟侧链上的验证者,彼此都实时记录对方当前的状态(区块头信息)。在信息传递时,双向锚定会运用双向SPV(Simplified Payment Verification)的技术。当主链的token要发送到侧链上时,会产出一个special output(SPV-Locked Output),而只有侧链上的验证者可以用SPV证明解锁。SPV技术是指只保留区块头信息,而从全节点获取merkle proof来验证交易的技术。

主要流程:

1.用户将原生资产发送给SPV-Locked Output(一个特殊地址)。 

2.等待confirmation peirod,结束后即可向侧链提交SPV证明,侧链可以依据此准备发出链上资产。                      

SPV证明用于验证交易是否已经发生。它包括一个展示工作证明的区块头列表以及一个加密证明(Merkle proof),证明一个输出(SPV-Locked Output)是在列表中的一个区块中创建的。

3.用户继续等待contest period,以避免双花攻击。如果有人在此期间提交重组证明(reorganisation proof),其中包含了一个有更多总工作的链,而不包括创建SPV-Locked Output的区块,则之前的SPV证明无效。

4.所有确认程序完成后,用户即可在侧链上使用新铸的封装资产。扩容

Source:https://blockstream.com/sidechains.pdf

Asymmetric Pegged

Asymmetric Pegged是2014年最早提出侧链的论文当中提及的第二个方式,主要分成forward端与backward端的交易。在Asymmetric Pegged中,侧链的validators必需实时监控主链的活动,因此当主链需要将代币打给侧链时,侧链可以主动记录(forward transaction)。然而,当侧链需要将代币打回主链时,则会发生主链因为没有记录侧链信息,而无法确认侧链区块状态的问题。

因此,在这个状况下Asymmetric Pegged就必须引入Certifiers的机制,将

  1. Smart ContractID,EpochID与验证者ID
  2. Backward转移的名单
  3. 验证者取款名单
  4. 错误报告名单
  5. 聚合所有签名

扩容

记录在Certifiers当中,通常Certifiers都需要stake固定资产以确保Certifiers不会破坏系统,这些Certifiers就会负责验证侧链传回的backward transaction,并经由aggregated signature签名后送回主链。

扩容

然而随着目前的技术演进,越来越多的侧链会选择使用第三方公证人(Proof of Authority, PoA)的机制,让多个具名节点针对合约锁定与释放的通讯(主网的区块头信息)验证,以确代币锁定与铸造价值相等;或是使用Relayers建立中间层让侧链可以通过中间层确认主链的区块状态。

简单来说侧链的机制可以总结为:

  • 资产从主链 -> 侧链:主链锁定资产,侧链生成wrapped asset(由共识机制保证所有节点同意生成);
  • 资产从侧链 -> 主链:侧链销毁wrapped asset,主链解锁资产。

可见,侧链上资产的安全性,并非取决于主链,而是取决于侧链的安全性,再进一步说是侧链的共识机制。如果有人设法“凭空”在侧链上创造了与锁定在主链上的资产不符的资产,继而在侧链销毁这些资产,再向主链提出解锁并不属于他们的资产,会有窃取资金的风险。

3.2.4 优缺点

扩容

3.2.5 应用

xDai (现今更名为Gnosis Chain)

概述:

代币$xDai的产生来自于以太坊上的$Dai被锁定在代币桥上,因为$xDai = 1USD,这使得xDai上的交易手续费容易被计算。xDai的验证模式采用PoSDAO的模式,是通过质押的方式成为节点,质押者可以获得固定的APR 15%,即$xDai的年通膨率为15%。

时间线:

  • 2018年9月,xDai正式主网上线
  • 2021年11月,Gnosis DAO上的GIP16投票通过并购xDai的提案
  • 2022年4月,xDai与Gnosis正式合并且更名为Gnosis Chain(xDai与Gnosis合并的主要原因在于Gnosis这间公司希望可以基于xDai給自己生态系具备更多开发场景。)

扩容

Source:  https://forum.gnosis.io/t/gip-16-gnosis-chain-xdai-gnosis-merge/1904

Gnosis Chain目前的跨链的方式是部署节点在主链与侧链上,而主链上的验证者是通过committee选举出来的certifiers,换言之Gnosis Chain目前是采用asymmetric pegged的模式并使用PoA的选举完成。

生态发展:

目前Gnosis Chain的TVL在Defi Llama的排名为第二十,拥有~$53mil的TVL,让人最熟悉的项目是Dark Forest。在Defi Llama的收录中,目前Gnosis Chain共有35个进行中的项目,其中头部项目分布在Defi与跨链桥领域。

Polygon

概述:

2017年,Matic Network成立。2020年6月同时主网发布以太坊侧链——Matic PoS Chain和Matic Plasma Chain(在3.3.5有详述),2021年品牌升级为Polygon。其实Polygon被定义为是L2还是侧链一直以来都存在较大的争议,原因是虽然Polygon创始人认为他们是一种L2扩容方案,但因为Polygon拥有自己的验证模型,其安全性与以太坊主网不同,另外技术上以太坊如果停摆,Polygon仍然可以运行,所以在此定义Polygon是一个侧链。

但以Polygon的未来路线图来说,创始团队希望把Polygon逐渐往L2靠拢。2022年,Polygon在BD层面迅速与许多web2巨头公司开展合作(如Reddit,Disney和Instagram)并且开启Hermez zkEVM以及Polygon Zero的计划,逐渐朝着路线图上的目标迈进。

Polygon有四层:以太层、安全层、Polygon层、执行层。

扩容

Source:https://research.thetie.io/polygon-matic-research

  1. 以太层:该层是以太坊与Polygon沟通层,是信息交换的中间站,让Polygon可以有质押、解决纠纷与传递消息。(relayer的官方性)
  2. 安全层:使用PoS的节点对Polygon保证安全,并收取费用
  3. Polygon层:Polygon运行的最基础必要层,用来运行区块并进行交易整理与共识演算。
  4. 执行层:读取与执行Polygon链中的移转和交易,由执行环境进行。

时间线:

  • 2017年 Matic Network成立。
  • 2020年6月Matic Pos Chain 主网发布。
  • 2021年2月品牌更名为Polygon。
  • 2022年 Polygon宣布与Reddit,Instagram, Disney和Starbucks开展商业合作。

生态发展:

由于Polygon的低成本、EVM兼容与速度快的特性,Polygon在2021年发展迅速,开始在上面出现各种应用,目前的TVL从四月的$110million到现今已经$1.07billion。生态系已经有超过200个项目部署,但没有太多的明星项目的诞生。

Ronin

概述:

Ronin是一条因为Axie Infinity游戏爆红而产生的侧链,在2021年3月时主网上线。Axie Infinity一开始部署在以太坊主网上,但因为以太坊高成本的交易手续费与时常拥堵的问题让Axie Infinity的进一步发展受到限制,因此Axie Infinity就开发出专门的侧链解决方案Ronin。

Ronin的主要特性为:快速与无缝交易,大幅度减少Gas Fee,会把得到的Gas Fee用来作为锦标赛奖金,资产可以退回以太坊主网与钱包订制化的解决方案。在跨链桥被黑客攻击前,Ronin有$1.4billion的锁仓量,同时内建的NFT Marketplace也紧追在Looksrare后面,可以说是承袭了Axie Infinity能量的一条侧链。目前上面的应用只有Katana DEX一个,作为Ronin上的代币交换平台。

Ronin的验证机制是PoA(Proof of Authority),有别于PoS可以容纳128个验证节点,PoA至多只能包含25个节点,相较起来量体更小。节点大部分为战略性伙伴或是知名VC:如Binance,AnimocaBrands,SparqVenture,Ubisoft等。有别于PoS,PoA是以自身名誉为担保进行的验证模块,更像是联盟链通过权威型机构来进行认证,因此验证速度与Gas Fee的re-allocate上可以有比较好的分配与调整。

时间线:

  • 2021年3月Ronin主网上线。
  • 2022年3月Ronin被黑客攻击,黑客通过控制9个节点当中的其中5个节点(为Axie Infinity母公司)来不断盗取资金,最终让Ronin陷入整条链资产被掏空的困境。
  • 2022年4月币安领投并注入资产让Ronin能够重启。
  • 2022年8月Ronin增加3个PoA节点以提高安全性。

生态发展:

目前仅有Axie Infinity相关生态系会需要使用,被黑客攻击前的DEX和Bridge基本都是为了Axie Infinity的游戏内需而部署。

3.2.6 应用比较

扩容

3.3 Plasma

3.3.1 概要

Plasma

Plasma本身指的是一个构建可扩展Dapp的框架,开发者可以使用其提供的工具进行开发。Plasma是作为侧链的演化方案出现的,旨在将用户对侧链Operator的信任降至最低,即使Operator作恶,Plasma也可以防止用户资金被盗。Plasma的基本原则是,如果Plasma链上出现安全故障,所有用户的资产仍可以撤出Plasma链并退回到主网。

Plasma链

Plasma链,也被称为“子链”,是依赖于另一个区块链(称为“根链”/“主链”/“主网”)构建的独立运行的区块链,具有独立共识机制;每个“子链”具有一个部署在根链上可以自定义的智能合约;不同的子链在根链对应不同的合约,因此,我们可以将不同的子链用于不同的任务。在POS共识机制下,任何人在主网Plasma合约里质押代币可成为该Plasma链的Operator;通常Plasma链处理交易的节点很少,往往是项目方自己运营1个节点(Operator),这会带来新的中心化问题。

Plasma链上再部署合约,可构建子子链,这些不同的子链可形成一层一层树状的Plasma网络(如下图);Plasma利用MapReduce算法,可将大的计算任务拆分成小任务,再分配给各个子链计算,最后一层层汇总后向上提交结果,从而可以快速、低成本处理大量复杂的计算。


扩容


Plasma合约

Plasma合约是指在根链如以太坊上运行的智能合约,用于处理用户资金进出Plasma链,负责跟踪Plasma链的状态承诺(State Commitments),并通过提交欺诈证明惩罚作恶行为。

Plasma合约内的数据结构包含:

1)  合约所有者(在初始化时设置)

2)Plasma链区块列表:每个区块的Merkle root和Merkle root提交的时间

3)用户提交的退出Plasma链的交易请求列表:包含了提交者地址、UTXO位置(Plasma区块编号,txindex,outindex)

关系

Plasma合约起着桥梁的作用,允许用户在以太坊主网和Plasma链之间移动资产。用户可以将资金从根链转移到子链,再由子链处理复杂的计算,从而节省Gas费用。在子链部署的DApp不必与根链直接交互,子链的状态更新只需提交块哈希Merkle Root给根链,这样根链只接收最小数量的数据,且只有在遇到争议时才需要计算,可大大减少根链的计算量。


扩容


3.3.2  时间线


扩容


  • 2017/08,Plasma首次在Vitalik和闪电网络作者之一Joseph Poon写的白皮书Plasma: Scalable Autonomous Smart Contracts中被提出。
  • 2018/01,Vitalik提出第一个正式的Plasma应用Plasma MVP,采用UTXO模型和Proof-of-Authority共识机制。
  • 2018/03,Vitalik提出Plasma Cash,旨在解决Plasma MVP中的大规模退出问题。为了使得用户证明自己拥有代币的所有权更加容易,所有代币都用NFT表示。
  • 2018/06,Dan Robinson提出Plasma Debit,与Plasma Cash类似,不同点在于每个Token是用户和Operator之间的一个支付通道,通道可以像Token一样被转移,整个设计类似一个大的Lightning hub。
  • 2018/11,BANKEX Foundation提出Plasma Prime,希望利用RSA accumulators解决Plasma Cash中存在的大量历史证明的问题。但目前还没有正式全面的文档来解释Plasma Prime,仍处于构思阶段。
  • 2018年底,ETH的价格触底,在加密领域的乐观情绪消失的背景下,Plasma Cash虽然比Plasma MVP有所改进,但仍并不是以太坊承诺的Visa级解决方案,其MapReduce算法构想的“区块链树”看起来也难以实现,因此大部分为Plasma Cash开发客户端的公司都停止了工作,目前开发进展都处于半成品状态,看起来Plasma已死。
  • 2019年起,以太坊社区开始探索一种新的二层扩容方案“Rollups”,具体内容我们在下文Rollups部分展开。


扩容

3.3.3  技术原理

三个核心思想:

  • 链外执行:Plasma的假设是主网不需要验证所有交易,任何不需要从智能合约移入或移出资产的操作都可以在链外处理,所以Plasma应用的大部分工作都在主网之外处理。Plasma链经常使用单个Operator来执行交易,无需等待其他节点的同意,这样可以降低成本并提高速度,在牺牲一部分去中心化的前提下提高可扩展性。
  • 状态承诺:状态承诺是一种存储Plasma链状态压缩版本的加密方式。在Plasma中,状态承诺是指一个Plasma链区块内所有交易组成的默克尔树(Merkle Tree)的根哈希值(Merkle Root)。Merkle Root能够快速地验证一笔交易是否包含在一个区块中(通过Merkle Proof),因此Operator可以通过上传Merkle Root来承诺当前区块状态。虽然Plasma在链外执行交易,但是在主网上执行结算的,所以Operator需要定期在以太坊上发布Plasma区块的Merkle Root作为“状态承诺”,以确认链外计算的最终状态,实现链外执行链上清算。这种依赖于主网验证的机制确保了Plasma继承了主网的部分安全性。
  • 退出机制:如果用户想从Plasma链撤出资金时,需要向主网的Plasma合约证明有可提取且数额正确的资金,用户可以提交Merkle Proof作为证明,Merkle Proof可以由Operator提供,不过Operator有作恶风险。


使用流程如下图所示:

扩容

1.存款:要使用Plasma链,用户首先需要在以太坊的Plasma合约中存入ETH或任何ERC-20代币。当用户存入资金时,将在Plasma链上创建一个区块,该区块仅包括一笔交易,同时负责监控Plasma合约的Plasma Operator会在Plasma链创建相同金额的资产发送到用户在Plasma链上的地址,用户在Plasma链上收到资金后可以在Plasma链上交易。

2.交易:用户在Plasma链上通过签署加密消息来确认每笔交易,然后该交易以及对应的签名会发送给Plasma链的Operator进行打包。

3.Operator: Operator将接收的交易打包进Plasma链区块,一旦Operator收到足够多的交易来填充一个区块,这些交易将组成一个Merkle树,Operator提交Merkle根作为对该区块的状态承诺到以太坊主网,因为只提交数据量小且数据大小恒定的Merkle根,可以大大减少提交到主网产生的Gas费用。此外,Operator提交主链的Plasma链区块哈希值,如果被任一用户挑战成功,则Plasma链上的错误区块会被回滚,而错误区块的创建者会被惩罚。

4.退出

4.1 发起提款请求:

为了把资产从Plasma链提出,用户需要向主网的Plasma合约发起退出交易,并和Merkle Proof一起提交(Merkle Proof可通过Operator获取),Plasma合约会验证Merkle Proof的有效性,以确保金额正确且没有被双花。

用户同时还需要在提款请求中添加保证金,如果有挑战者证明该用户的退出请求无效,则笔保证金的一部分将被没收作为奖励给挑战者。

4.2 挑战提款请求:

虽然以太坊主网有Plasma链的状态信息,但它无法验证该信息是否正确。恶意用户可能提出恶意提款请求,例如用户在主网实际上没有1000ETH,但声称在主网锁定了1000ETH,并请求从Plasma提出1000ETH,或者尝试提取他们已经花费的资产,并通过提供虚假证明来支撑这些虚假请求。

为了防止以上两种作恶行为,Plasma引入了“挑战期”(通常为一周)。在此期间内,任何人都可以向主链提交欺诈证明挑战提款请求的有效性。例如,因为一笔历史交易已被签名,所以可证明作恶用户的该笔资金在过去已经被花费,已无效。如果挑战成功,则Plasma合约会拒绝作恶的提款请求,挑战者将获得奖励。

然而,如果挑战期内没有任何人提供欺诈证明,用户的提款请求将被视为有效,可以从以太坊的Plasma合约中提取资产,会造成Plasma链其他诚实用户的损失,这是Plasma在安全性上的一大缺陷。

5.监控Plasma Chain(缺点)

用户为了确保Plasma链上的资金安全,需要不时地监控Plasma链,通过运行一个软件,定期自动同步下载Plasma链的数据,确保一切正确运行;数据同步频率取决于Plasma智能合约里设置的参数。

如果Plasma链上发生恶意行为,比如恶意Operator试图窃取资金,那么用户的钱包将自动开始从Plasma链中提取资金来保障用户的资金安全;由于用户无法保障全程在线,类似闪电网络的watchower委托人角色的设计就变得很有必要,但目前完整机制和激励模型暂未出现。

3.3.4 优缺点


扩容


出于上述缺点,很多应用最初使用Plasma方案进行扩展,但后来又放弃而转向Rollups方案。

3.3.5 应用

Plasma Group → Optimism(Optimistic Rollup)

2017年,Plasma被正式提出后,三个以太坊核心开发者和研究者成立了一个非营利研究小组Plasma Group,致力于Plasma框架的研究。

2019年1月,Plasma Group发布了一份Plasma Cash的说明书,一个月后又发布了一种通用型Plasma架构尝试将Plapps(plasma apps)在通用型Plasma链上部署。但随着研究的深入,Plasma的缺点变得越发明显,尽管技术团队做了很多尝试,通用型智能合约始终无法运行在Plasma上,使得Plasma的开发在2019年时陷入停滞。

2019年6月,John Adler提出了一种称为“最小可行的合并共识”的设计,该设计实现了在以太坊上完全可验证的链外共识系统,而无需零知识加密。之后,Plasma Group发布了一个扩展版的合并共识设计,即现在被大家所熟知的:Optimistic Rollup。

2020年1月,在Paradigm和IDEO CoLab Ventures350万美元的支持下,Plasma Group从一个非盈利的研究组织转变为一家营利性初创公司,Optimism正式诞生,这也意味着团队正式放弃研究Plasma,转向专注于Optimistic Rollup的研究(具体内容见下文Optimistic Rollup部分)。

OMG Network → Boba Network(Optimistic Rollup)

OMG Network是最早提出「链下扩容」概念的以太坊扩容项目之一,也一度是该领域的龙头项目。2013年,泰国金融支付企业SYNQA旗下的子公司Omise成立,主要业务是APP端在线支付。2017年,Omise成立了区块链部门OmiseGO,同年发行$2500万的$OMG代币,发行总量1.4亿枚。

2020年6月,OmiseGO更名为OMG Network后主网上线,使用More Viable Plasma技术来扩充以太坊网络的容量;More Viable Plasma设计,是Minimal Viable Plasma的扩展,针对用户和交易所之间的支付结算和价值交换进行了优化。随后,Bitfinex宣布支持OMG网络进行USDT存款和取款。

2021年6月,Plasma路线式微后,OMG Network宣布更名为OMG Foundation,与Enya公司合作一起推出Boba Network,并发布新代币$BOBA。Boba是基于Optimistic Rollup的以太坊L2解决方案,从此OMG网络不复存在,BobaNetwork继承了OMG网络的社区。(Boba Network的具体内容见下文Optimistic Rollup部分)

Polygon (previously Matic Network) → 全栈L2解决方案

2017年,Matic Network成立。2020年6月主网同时发布以太坊侧链Matic PoS Chain和以太坊Plasma方案Matic Plasma Chain,后者采用Plasma的链下扩容方案,并在Plasma的基础上做了一系列的改进。该扩容方案与以太坊主网通过Plasma桥进行跨链交互,允许用户将资产从主链转移到Plasma链,从而实现快速和低成本的交易。Plasma方案虽然比Matic PoS侧链更安全,但缺点是用户从Plasma网络中提取资金需要更长的等待时间(7天),而Matic PoS侧链仅需要约3小时;此外,Plasma链也不能运行通用的智能合约。

虽然Matic方案改进了Plasma More VP,但是仍然无法解决Plasma最根本的问题,包括无法确保链下数据可用性、大规模退出问题和用户需要经历挑战期等,并且原Plasma研究团队也都逐步转向开发Rollup,这使Plasma方案的突破难上加难。

2021年2月,Matic品牌升级为Polygon,向以太坊链下扩容方案的聚合器转变。同年5月,发布核心组件Polygon SDK,一个用Golang语言编写的模块化和可拓展的框架,能够与以太坊实现完全的兼容,开发者可以使用Solidity、Vyper等语言以及以太坊工具和库等直接进行开发。这是一个模块化、灵活的框架,支持开发者自定义构建自己的链下扩容方案如Plasma、Optimistic Rollups、zkRollups、Validium以及侧链如Polygon PoS链,并且让它们轻松跨链互通并可以直接共享以太坊的安全性和网络效应。当前Polygon Plasma的扩容方案已逐渐被社区抛弃,Polygon将重心移至Rollup技术的开发。2021年Polygon通过收购Hermez和Mir Protocol一步到位集成ZK Rollups,朝着「全栈」链下扩容解决方案又近一步。(具体内容见下文ZK Rollups部分)

目前Polygon已逐步搭建起从DeFi、Gamefi到NFT等细分领域的多样化生态体系,拥有37k+的Dapp,1.8B的总交易数和135M+的用户。

总结:

Plasma是一种技术上的过度方案:受制于Plasma技术本身存在的问题,Plasma Group没有等到上线基于Plasma的项目就转入了Optimistic Rollup的研究;OMG Network和Polygon都在主网上线Plasma方案后的一年内,也分别快速转入了基于Optimistic Rollups和ZK Rollups方案的开发;综上,基于Plasma的应用乏善可陈。

3.4 Rollups

3.4.1 概要

早在2014年,Vitalik就提出了“将交易数据和状态放在链上,而计算放在链下”的shadow chain的概念。这是Rollups的雏形,但在当时似乎没有受到重视。由于Plasma受限的智能合约执行能力和大规模退出(mass exit)问题,以太坊研究者们开始寻找一种新的扩容解决方案 – Rollups。

2018年9月,V神提出用零知识证明来解决以太坊扩容问题。2019年6月,Consensys研究员兼Celestia联合创始人John Adler在Ethereum Research上发文“Minimal Viable Merged Consensus”,提出了带终止时间的欺诈证明的Optimistic Rollups扩容方案。随着2019年12月以太坊Istanbul硬分叉,calldata存储成本下降4倍,Rollups吞吐量大大提升,Rollups上生态和各种应用迅速发展了起来,而Rollups也成为了目前主流的二层网络(Layer2)扩容解决方案之一。

3.4.2 技术原理

Rollups的核心思想是将计算过程和状态存储放在链下,而在打包上链的是状态承诺和被压缩的交易数据。

Layer1上会有一份智能合约,负责更新Rollup交易的状态根(状态承诺)和记录压缩后的交易内容。任何人都可以收集在二层网络上的交易,聚合压缩形成交易批次(batch)后,以calldata的形式发送给主链的合约。这个batch包括了压缩后的交易集,前一个区块状态的默克尔根(Merkle root)和新状态根(处理交易之后的状态根)。主链合约收到batch后,会检查前状态根和合约上的状态根是否匹配,如果匹配,就能证明Rollup状态是前后连接的,合约就会更新自己的状态根。

由于交易数据是压缩后存储在主网的智能合约的calldata里的,任何人都可以从合约里拿到交易数据,从而在链下重建二层网络的状态。用户能随时提供Merkle proof从而取走二层网络的资产。因此,Rollups的安全性仍然是由一层的安全性保证的。


扩容


Source: https://vitalik.ca/general/2021/01/05/rollup.html

但Rollups是怎么保证上传的交易批次(batch)的正确性呢?换句话说,如何得知交易批次里的后状态根 (post-state root) 是正确的呢?如果某人能够提交一个具备任意后状态根的batch,而无需承担任何后果,他们完全可以将Rollups中的所有代币都转移给自己。而这个问题,带来了两种解决方案以及其对应的两种类型的Rollups:

  1. 欺诈证明(fraud proofs)→  Optimistic Rollups 
  2. 有效证明(validity proofs)→  ZK Rollups

链下虚拟机

Rollups的计算和状态存储是在链下的虚拟机上完成的。这个虚拟机完成交易的计算和状态的改变,同时也是Layer2应用的执行环境。

以太坊Layer2存在的主要目的是扩容Layer1,因此,Layer2需要尽可能地去提供和Layer1相似的执行环境。而这个相似程度就是由Layer2的虚拟机来决定的,也叫做EVM兼容性。EVM兼容意味着创建一个类似EVM的代码执行环境,使以太坊开发者可以很容易地将智能合约迁移到EVM兼容的链上,而不必重写代码。

实现EVM兼容,最简单的方案就是fork GETH,比如BNB链。但对于Rollups来说,他们还需要兼容证明的验证(欺诈证明和有效证明)。Optimistic Rollups能做到比较好的EVM兼容性,比如Arbitrum的Nitro和Optimism的OVM。而对于ZK Rollups的协议来说,有效证明(零知识证明)很难做到EVM兼容,因为我们需要把智能合约的逻辑转变成电路逻辑,而电路逻辑本身非常复杂且需要零知识证明相关知识。因此,目前所有生产级的ZK Rollups协议都是特定于应用的,如Loopring,ImmutableX,dYdX,zkSync1.0,zkSwap。

谁能打包区块?

理论上来说,任何人都可以打包区块并上传给主链的合约,但为防止作恶,这个人需要在合约里质押一笔钱。如果很多人同步打包交易,而只有一个区块生成,这样会消耗额外的计算和区块资源。因此,为了提高交易速度,目前大部分Rollups项目都是用中心化的排序器(Centralized Sequencer)进行打包交易的;中心化排序器是最有效率的,但会出现单点故障问题。

此外,我们可以进行排序器拍卖,POS验证节点随机抽人或者通过DPoS投票的方式决定打包区块的人。排序器拍卖能捕获MEV价值,但不能解决单点故障的问题。POS和DPoS都需要锁定资金,这会降低资金使用效率。

交易压缩

压缩技巧是Rollups实现可扩展性的关键之一。压缩使得链上存储的数据量减少,从而降低成本。

一笔简单的ETH转账交易在以太坊需要~110字节,而在Rollups中只需要~12字节。其中一部分原因来自于编码,还有一部分原因来自于巧妙的压缩技巧。比如,我们可以在主链合约上存储一个地址和索引的映射表,而20字节的地址就可以用3~4个字节的索引来替代了。此外,BLS集合算法可以将多个签名压缩成一个签名,从而减少签名大小(在ZK Rollups里,零知识证明替代了签名)。

下面这个图片显示了以太坊上一笔简单交易的具体压缩情况:

扩容

https://vitalik.ca/general/2021/01/05/rollup.html

交易成本

我们知道了通过交易压缩可以减少Rollup交易在链上的存储成本,那Rollup交易成本到底由什么组成呢?

Rollups 交易成本  =  L1 数据存储成本 + L2计算处理成本

其中,L1存储成本远远大于L2计算的成本,所以要节约成本,我们需要找到L1上性价比最高的存储空间。以太坊上有三种数据存储位置:memory,storage和calldata。calldata是一个不可修改的、非持久性的区域。calldata可以被用来保存函数的输入数据。它不会改变以太坊网络本身的状态,因此calldata的存储成本是最便宜的。为了减少成本,Rollups把交易数据存在L1合约的calldata里。

Rollups要解决的核心问题就是如何在不降低安全性和去中心化下,尽可能地增大以太坊的吞吐量,从而减少用户交易成本。从EIP的提案中,我们也可以看到以太坊在减少Rollups链上存储成本上做出的努力:

  1. EIP2028:calldata gas成本从68gas单位/byte减少到16gas单位/byte
  2. EIP4488:calldata gas成本从16gas单位/byte减少到3gas单位/byte
  3. EIP4844:data blobs:这是一个用户定义的数据片断,其承诺可以被EVM访问。blobs由所有信标节点下载,并在一个相对较短(一个月)的延迟后删除。Rollups的交易数据会被放在data blobs上,这将极大程度上减少L1存储成本。  

交易吞吐量

以太坊是有区块大小限制的。每个区块的目标大小为1,500万单位的gas,如果网络需求增大,区块限制可以阶梯性上升至3,000万单位gas(2倍目标区块大小)。这里我们用常规的1,500万区块限制。目前以太坊的平均出块时间是12~15秒,简单的转账交易需要花费21,000单位gas,在接下来的计算中,我们假设以太坊出块时间是15秒。

对以太坊主网而言,受限于区块空间,理论TPS(每秒交易量)可以达到15,000,000(Gas Limit)/21,000/15=47.6。

对于Optimistic Rollups而言,我们需要把压缩后的交易数据上传到主网合约。前面提到,目前一笔Rollup转账交易大概是12个字节。目前的calldata gas成本是16单位/字节。那么一个区块就可以有15,0000,000/12/16=78,125笔交易。延续上文假设,以太坊出块时间是15秒,那么Optimistic Rollups每秒能处理78,125/15=5,208笔转账交易。

对于ZK Rollups而言,我们还需要考虑零知识证明在链上的验证成本,大概是500,000 gas单位。同样的逻辑,ZK Rollups每秒能处理(15,000,000-500,000)/12/16/15=5,034笔转账交易。

以上是一个相当乐观的估计(理论吞吐量),因为Rollups不可能占用以太坊的整个区块,且不可能所有交易都是转账交易。但在同样尺度下,我们可以看到,Rollups对交易速度的提升为100多倍。

目前而言,Rollups能实现的TPS极限是2,000笔交易左右。Rollups的实际吞吐量取决于一批交易能被压缩成较小摘要的幅度。由于ZK Rollups不需要像Optimistic Rollups一样上传所有的交易内容,ZK Rollups的TPS往往高于Optimistic Rollups。

3.4.3 优缺点

扩容

3.4.5 Optimistic Rollups

3.4.5.1 概要

Optimistic Rollups(OPRUs)是Rollups的一种,依靠欺诈证明(Fraud proofs)来保证链下执行交易的正确性。正如它的名字,Optimistic Rollups上打包的交易被乐观地假设为正确的,因此不用做额外功;只有发生争议时,主链才会执行Rollups区块上的每笔交易,确认是否发生了欺诈。


3.4.5.2 时间线

扩容


  • 2018年8月,Offchain Labs(Arbitrum)在Usenix安全会议上发表论文,提出将交易由放在链下的AVM(Arbitrum Virtual Machines)来执行,而链上只保留虚拟机状态的加密哈希值。这个方案的交易数据是在链下的,因此不算完全的Optimistic Rollup。
  • 2019年6月,Celestia联合创始人 John Adler在Ethereum Research上发布了“最小可行的合并共识”的提议,揭开了Optimistic Rollup的序幕。不同于14年Vitalik提出的 Shadow Chain(L2状态放在链上),这个方案中L2状态是完全链下的。
  • 2020年12月,Fuel Network主网上线,成为第一个上线的Optimistic Rollup,被用于支付应用。
  • 2021年1月,Optimisim alpha主网软启动,采用了逐步开放主网的方式。同时,合成资产协议Synthetic宣布在Optimism上线。
  • 2021年8月,Arbitrum One主网发布。这是一个完全的Optimistic Rollup解决方案,即交易数据会被放在链上的合约里,允许任何人发起挑战。
  • 2021年9月,Boba主网发布,计划支持混合计算,使Solidity智能合约能够与任何外部API互动。
  • 2021年11月,Metis Andromeda主网上线,提供一个EVM等效的Optimistic Rollup,一个无代码的中间层Polis以及去中心化自治公司(Decentralized Autonomous Companies,DAC)。
  • 2021年12月,Optimism开放主网,允许任何人部署L2合约。
  • 2022年8月,Arbitrum Nitro主网上线,带来更低的手续费以及更好的EVM兼容性。

3.4.5.3 技术原理

Optimistic Rollups(OPRUs)采用欺诈证明,乐观地默认所有交易的计算是正确的,除非有人提出争议。在Aggregator上传交易批次后,Optimistic Rollups会有一个7天左右的争议窗口期。在此期间,任何人都可以对状态转换提出异议。只要其中有一人诚实,对错误的状态变化发起挑战,Optimistic Rollups协议的安全性就能得到保证。

Optimistic Rollups主要有以下两个技术角色:


扩容


用户流程


扩容

  1. 用户通过在主网合约上锁定资产的方式,将钱存入二层网络。
  2. 用户向Aggregator发送L2交易。
  3. Aggregator收集并排序交易(先进先出),执行交易,更新内部状态,并将交易打包成batch,压缩后提交给L1的合约。
  • Batch内容:压缩的交易数据,前状态根,后状态根
  1. L1合约检查batch中的前一个状态根是否与其当前的状态根相匹配(确保L2状态的连续性);如果匹配,则将状态根切换到新的状态根。
  2. Validator可以从L1合约上下载交易数据,并在本地重建L2状态并计算新的状态根。
  3. 如果Validator发现本地的状态根和Aggregator上传的不一致,Validator可以发起挑战。此时,Validator需要质押一笔钱,并且向主网Rollups合约提供有效的Merkle Proof。
  4. 如果主网Rollup合约验证确实存在错误,主网合约就会对错误batch及其之后的batches进行回滚。作恶的Aggregator会受到惩罚,其押金将会被没收,一部分押金会奖励给挑战者,一部分押金销毁掉。反之,如果Aggregator是正确的,Validator挑战失败,质押的钱将会被销毁。
  5. 如果一段时间(挑战期)内没有挑战,之前打包好的batch将会在L1上被确认。

欺诈证明


验证者从L1合约下载交易数据后,可以在本地重建(L2状态的)merkle tree。验证者可以通过比较本地和合约的merkle root(状态根)确认是否存在作假行为。如果发现作假,验证者需要向L1合约提供merkle proof,也就是图中的绿色部分,从而发起挑战。

  • 如果有多个不对的batch,最好找最早的batch发起挑战。因为,最早交易批次的错误会导致后续不正确的批次全部回滚,从而使后续区块的挑战失效。
  • 如果一个batch的构建是正确的,那么就永远不可能创建一个显示该batch无效的欺诈证明。

扩容

Source: https://vitalik.ca/general/2021/01/05/rollup.html


争端解决(Dispute Resolution)

目前处理纠纷的方法是重新执行交易(re-executing transactions)和互动证明(interactive proving)。

重新执行交易依赖于L1来执行整个L2区块的交易,实现即时验证。因为需要执行一个L2区块内所有交易,这种方式成本高。此外,重新执行交易需要单一区块能容下整个L2的交易,这导致了L2的交易存在上限。采用此方式的有Optimism,Metis等。

互动证明通过不断拆分存在争议,来回移动争议点以缩小争议点来解决争端。具体来说,Aggregator首先把争议一分为二,Challenger(发起挑战的Validator)选择其中一个有争议的。然后Aggregator再把这个争议一分为二,直到找到最后的争议点,后由链上的合约判断胜负。由于拆分争端这个过程是在链下进行的,L1只需要执行争议点交易,而不是在链上重新处理全部交易,此方式通常手续费更低。但是,由于需要互动,此方式生成证明的时间更长,Challenger和Aggregator需要同时在线去完成多轮的争议拆分。Arbitrum和Optimism Cannon(未上线)采用的都是互动证明。

值得注意的是,和重新执行交易相比,互动证明在L1上执行的数据更少,因此会有更高的吞吐量上限。

为什么验证者的挑战期是7天

理论上来说,挑战期越长,就更有可能检查到错误并发起挑战,因此系统也就越安全。

假设一个挑战期是C个区块长度,Rollup链上的价值(攻击者在L2上能得到的最大值)是V。通常情况下,区块越多(更多时间受到挑战),攻击者能够获得的利润也就越小。因此,我们可以假设攻击者利润随着区块数量(C)的增加而指数下降,即攻击者利润 = V exp(-AC),其中A是一个常数,A值越大,区块长度的增加带来的利润降低效果越明显。

攻击者往往是Aggregator,因为只有他们能发布错误的状态根,因此Optimistic Rollups需要Aggregator质押一笔钱才能打包交易。为了减少从经济层面发起攻击的可能性,这笔钱需要远远大于攻击者能获得的收益,使得攻击者的损失远远大于收益。假设Aggregator质押金额是攻击者价值的10倍(足够大),那么Aggregator的质押金额 = 10V exp(-AC) ,远远大于攻击获利。

但对于诚实的Aggregator而言,这带来了质押的时间成本。我们把资本利率记作I,那么Aggregator的时间成本 = 10V exp(-AC) I。挑战时间越长(C值越大),Aggregator的时间成本就会越高,使得Aggregetor的运营成本上升。


对于退出用户而言,过长的挑战期会导致用户提款周期变长,从而带来不好的用户体验。假设每个区块的平均取款比率为W,那么每个区块的提款金额是VM,每个时间点处于提款锁定状态的资金为CWV,利息CWVI。挑战时间越长(C值越大),用户取款的时间成本也就越高。

因此,最优的挑战期应该是Aggregator质押的时间(运营)成本和取款用户的时间成本总和(10V exp(-AC)I + CWVI)的最小值。求最小值就等于对C求导=0,得到C’=ln(10A/W)/A,其中C’是最优挑战期。

计算

  1. 假设1:一个区块时间后攻击者能获得高达99.99%的最大利润,A=-ln(攻击者利润/V)/C,那么A = -ln(0.9999) = 0.0001。
  2. 假设2:每天有1%的取款,每15秒一个block,一天有4*60*24=5,760个区块,那么w = 0.01/5760 ≈ 0.000002。也就是说每个区块的平均取款比率 为 0.000002。
  3. 计算结果:C’ = ln(10*0.0001/0.000002) / 0.0001 = 62146 个区块 = 10.79天。

由此可以得出,最佳的挑战时间是10.79天左右,和大多数协议的7天挑战时间差不多。核心思路就是聚合者(Aggregator)质押和取款用户时间成本总和的最小值。

思路来源:https://medium.com/offchainlabs/optimizing-challenge-periods-in-rollup-b61378c87277


3.4.5.4 优缺点

扩容


3.4.5.6 应用

Arbitrum

概述:

Arbitrum是Offchain Labs开发的L2可扩展性解决方案:采用多轮交互式挑战协议的 Optimistic Rollup。目前Arbitrum在以太坊主网上有两条链:Arbitrum One(Optimistic Rollup)以及Arbitrum Nova(AnyTrust)。

时间线:

  • 2018年8月,Arbitrum在Usenix安全会议上发表论文,提出将交易放在链下的AVM(Arbitrum Virtual Machines)来执行,而链上只保留虚拟机的状态的加密哈希值。一个固定数量的验证者群体将会被选择来运行AVM。只要有一个诚实的验证者,对不正确的链上状态发起挑战(互动证明),AVM就能正常运行。
  • 2021年8月发布Arbitrum One主网。这是一个完全的Optimistic Rollup解决方案,即交易数据将会被放在链上的合约里,允许任何人发起挑战。
  • 2021年9月,Arbitrum Sequencer下线,持续了45分钟。原因是Sequencer一次性收到太多交易而产生的BUG。虽然排序器中断了,但是网络未中断,用户还是可以绕开排序器直接向L1合约发送交易。
  • 2021年10月,提出Arbitrum Nitro,即Arbitrum One的升级版本。Nitro会把AVM改成WASM(Web Assembly),同时把自制的EVM仿真器(emulator)换成了Geth,提高了EVM兼容性和处理速度。此外,他们用Go重写了ArbOS,提供改进的batch处理和压缩系统,从而减少交易成本。
  • 2022年3月,提出Any Trust Chain,将交易数据放在链下,由DAC委员会保管。只有一定数量的委员会成员签名或者交易数据在链上,主网合约才存batch哈希值。Any Trust链主要应用在游戏赛道,可提供更低的手续费和更快的交易速度。
  • 2022年8月,基于Anytrust技术的Arbitrum Nova主网上线。
  • 2022年8月31日,Arbitrum Nitro主网上线,带来更低的手续费以及更好的EVM兼容性。


技术特点:

1. 采用多轮交互式挑战协议,可减少L1链上解决争议的成本。

2. EVM等效:基于Geth构建的虚拟机,可以执行任何以太坊字节码,Gas费用的计算也是等效的。

3. Rollup设计:验证者需要对新的状态质押,并提出区块。这是一个额外的确认。更具体的说,验证者需要去sequencerInbox合约中下载交易数据,在本地的虚拟机(WAVM)上执行交易,更新本地L2状态,并通过对新的状态质押,提出新的区块,然后等待7天的挑战期,最终确认区块。

生态发展:

截止2022年11月,Arbitrum占Layer2的市场份额52%左右,TVL$2.3B,位居第一。目前生态内TVL排行前三的项目是GMX,Stargate和Uniswap V3。其中比较有特色的项目有:

  1. GMX是一个去中心化的现货和永续合约交易所,通过发行指数基金的方式,使得基金持有者成为杠杆交易者的对手方。目前部署在Arbitrum与Avalanche网络。
  2. Dopex是一个去中心化期权平台,通过期权池为交易方提供流动性。


扩容

Source: https://news.cryptorank.io/arbitrum-ecosystem-overview/


Optimism

概述:

Optimism,是OP Labs(前身Plasma Group) 开发的Optimistic Rollup项目,目前的主流Optimistic Rollups应用之一。

时间线:

  • 2019年10月,Plasma Group和Uniswap联合发布Unipig.exchange测试版,一个基于Optimistic Rollup的DEX。
  • 2020年1月,在Paradigm和IDEO CoLab Ventures350万美元的支持下,Plasma Group 从一个非盈利的研究组织转变为一家营利性初创公司,Optimism正式诞生,意味着正式放弃研究 Plasma,转向专注于研究 Optimistic Rollup。
  • 2021年1月,Optimism alpha 主网软启动,采用了逐步开发主网的方式。同时,合成资产协议Synthetic宣布在Optimism上线。
  • 2021年10月, Optimism发布EVM等效主网。
  • 2021年12月, Optimism开放主网,允许任何人部署L2合约。
  • 2022年3月, Optimism提出一个新版的欺诈证明Cannon。这和Abitrum实现的方式十分类似,是一个多轮交互式的欺诈证明,解决单轮证明需要L1合约验证所有交易带来的成本高的问题。
  • 2022年5月,Optimism 提出Bedrock,一个更便宜更快更先进的Optimistic Rollup架构。Bedrock会将共识和执行客户端分离,使Optimism能够无缝整合成本最小化的EIP-4844。
  • 2022年6月, Optimism代币OP发行。Optimism将治理权分给了Token house和Citizens’ house两个群体。Token house持有代币,能够对作为治理基金一部分的项目奖励的分配、协议升级等进行投票。Citizens’ house用不可转让的NFT代表公民身份,负责可追溯性的公共产品资金的分配。

技术特点:

  1. Optimism采用了重新执行交易的方式处理争端,后面会用多轮交互证明(Optimism Cannon)。
  2. EVM等效:为了更好的EVM兼容性,Optimism首先fork了geth,将区块生成和执行分开并定义了自己的L2区块生成函数;其次,Optimism用一个具有更简单指令集的VM把EVM包装起来,并通过运行这个VM生成欺诈证明。

生态发展:

截止2022年11月,Optimism占Layer2的市场份额29%左右,TVL$1.26B,位居第二。目前生态内TVL排行前三的项目是AAVE,Synthetix和Velodrome。其中比较有特色的项目有:

  1. Synthetix是一个合成资产协议。通过去中心化预言机跟踪资产价格,Synthetix可以在链上创造合成资产(数字货币和外汇)。
  2. Perpetual Protocol是一种 DEX 衍生品协议,它开创了 vAMM 架构,不需要订单薄,也能提供杠杆交易。目前,Perpetual Protocol 占据 Optimism 60%以上的日交易量。
  3. Lyra 是一种期权协议,旨在通过 Optimism 提供的快速交易确认时间和低 gas 费用来改善期权交易的体验。

扩容Source:https://twitter.com/Coin98Analytics/status/1569640055165325314/photo/1

Metis

概述:

Metis是由Elena Sinelnikova、Kevin Liu和Yuan Su于2018年共同创办的以太坊扩容解决方案。Metis开始于对Optimism的硬分叉,将Optimistic Rollup和DAO基础设施结合起来,旨在为WEB3公司提供一个成本低、去中心化、可扩展性强的基础设施,以满足去中心化商业运营对隐私和存储等方面的需求。

时间线:

  • 2018年,Elena Sinelnikova、Kevin Liu和Yuan Su创办Metis。
  • 2021年4月,Metis Alpha测试网发布,带来第一个测试产品Prologue,以展示其Rollup设计的高速度和低成本。
  • 2021年11月,Metis Andromeda主网上线,提供一个EVM等效的Optimistic Rollup,一个无代码的中间层Polis以及去中心化自治公司(Decentralized Autonomous Companies,DAC)。

技术特点:

  1. DAC,一个新的DAO结构,涵盖许多开源工具(企业软件, 薪资管理工具、信息传递平台,IPFS去中心化存储等),作为基本单元支持去中心化应用、社区和业务的运营和管理。
  2. 改进的Rollup设计:多虚拟机+Ranger+排序器池。多虚拟机并行可以支持不同DAC同时运行。Ranger是一个新引入的验证者角色。代币激励使Rangers快速验证新的区块交易,从而缩减欺诈证明周期。排序器池(Sequencer Pool)是为了引进社区参与者加入区块打包的过程,从而使协议更加去中心化。目前Ranger和Sequencer Pool还未上线。
  3. Polis中间层:提供智能合约模板,方便WEB2开发者使用。


扩容source: https://drive.google.com/file/d/1LS7CmKFt-FkfVXxSNu06hNgoZXxMzTC-/view


生态发展:

截止2022年11月,Metis占Layer2的市场份额2.6%,TVL$90M,位居第五。目前生态内TVL排行前三的项目是Hummus Exchange,Hermes Protocol和NetSwap。其中比较有特色的项目有:

  • Hummus Exchange是一个单边自动做市商,为Metis提供稳定币交易。
  • Netswap是部署在Metis上的首个原生去中心化交易所(DEX)。

Boba Network

概述:

Boba Network(前OMG Network)是一个专注于计算的L2项目。Boba Network由Enya团队创建。Boba Network开始于Optimism的分叉,其核心在于混合计算提供的Web3和Web2的互操作性。

时间线:

  • 2021年5月,Boba Network发布了公共测试网。
  • 2021年9月,Boba Network主网发布,为以太坊提供一个Optimistic Rollup解决方案。
  • 2022年3月,Boba Network上线混合计算(Turing Hybrid Compute),使Solidity智能合约能够与任何外部API互动。

技术特点:

  1. 自建的L1<->L2流动池,方便用户快速退出和进入Boba Network。
  2. 混合计算:允许Solidity智能合约能够与任何外部API互动。例如,获取Twitter关注信息,调用链外的机器学习模型,或使用在链下运行的高级数据分析,再将计算结果返回给智能合约。Turing本身只是一个管道,而不是预言机。也就是说,Turing不保证计算结果的真实性,但是Turing将会把输入和服务器回复记录在主网上,其他人就可以通过下载这些数据,去验证这些数据的真实性了。

      生态发展:

截止2022年11月,Boba Network占Layer2的市场份额0.5%,TVL$20M,位居第十,从21年11月的高点$600M下滑了96%。目前生态内TVL排行前三的项目是OolongSwap,Synapase和Connext。OolongSwap是Boba Network上首个原生AMM去中心化交易所。Synapase和Connext都是跨链转账协议。

3.4.5.7 应用比较

在Rollups的设计上面,基于Optimistic Rollups的协议们大同小异。核心逻辑就是计算和状态存储放在链下,交易数据和状态根放在链上,并通过欺诈证明确保状态根的正确性。目前主流的Optimistic Rollups协议都是中心化的Sequencer在运行整个网络,且均计划在未来将这一角色去中心化。除了Arbitrum(白名单验证者)外,上面提及的其他应用,欺诈证明的功能均在开发中。也就是说,目前中心化的Sequencer是可以发布错误的状态根,而无人能够提供欺诈证明,从而导致资金被盗。

在EVM兼容和等效的开发工作中,可以看到Optimism、Arbitrum和Metis采用的方式趋同,都通过fork GETH致力于降低L1和L2的执行环境差异,避免因此带来的风险,并且致力于使得Layer1的应用迁移到Layer2的体验更加顺滑。

Optimistic Rollups应用的核心区别点在于针对不同场景进行的差异化定位。Arbitrum和Optimism团队技术积累深厚,开发的是以太坊通用场景的扩容方案。Metis和Boba Network均始于Optimism分叉,但对不同场景进行了对应的适配和调整。Metis为去中心化自主公司(DAC)做了一系列的工具,方便了公司的链上运营。Boba Network通过API提供web2和web3的互操作性,更适用于计算场景。


扩容

3.4.6 ZK Rollups

3.4.6.1 零知识证明

扩容


零知识证明是一种让验证者相信某些声明为真,但不透露任何其他信息的方法。

零知识证明通常由两个角色:证明者和验证者。证明者计算并生成证明,却不泄露任何知识;验证者在不知道知识的情况下,验证证明。

零知识证明的概念诞生于1985年MIT学者 Goldwasser、Micali 和 Rackoff 合作发表的论文The Knowledge Complexity of Interactive Proof Systems(即GMR85)。在这篇论文里,零知识证明被定义为只证明问题的正确性而不传达任何额外信息的证明,而交互性的证明方式可以减少为证明一个定理而必须交流的知识量。

交互式的零知识证明要求验证者和证明者进行多轮交互而验证证明的正确性。如何使验证者能够独立完成验证成了关键。1988年,Manuel Blum、Paul Feldman和Silvio Micali提出了第一个非交互式零知识证明。他们提出,如果证明者和验证者有一个共享的随机字符串,证明者可以不需要和验证者交互,仍能说服验证者他们对知识的了解。


扩容

Source: https://www.notboring.co/p/zero-knowledge

此后的一段时间,零知识证明在学术界得到了进一步的研究,但在实际实施或使用方面却很少。最早的实际用例之一就是2000年出现的用零知识证明来登录网站而不向服务器泄露密码信息的方案。

2011年,Groth提出了SNARK(Succinct Non-Interactive Arguments of Knowledge),把零知识证明带入了实用领域(数字货币)。

2013年,Pinocchio(PGHR13)算法被提出,极大地减少了证明和验证时间。第一个运用零知识证明的加密货币是14年推出的Zcash(最初叫Zerocash或Zerocoin),而Zcash最初使用的就是PGHR13算法。

2016年,Groth16被提出,该算法拥有常数级证明大小和常数级验证时间,比PGHR13算法更快,是目前最为广泛使用的算法。

2017年,Bulletproofs(BBBPWM17)被提出;该算法不需要可信设置,和Groth16相比,Bulletproofs证明大小更大和验证时间更长,因此更适用于简单关系;Monero就是使用的Bulletproofs。

2018年,ZK-STARKs由Starkware提出;该算法不需要可信设置,且当证词(witness)的规模较大时,ZK-STARKs在生成和验证证明方面比ZK-SNARKs更快;但缺点就是证明本身比较大,往往是kb级别。

2019年1月,Sonic问世;该算法需要可信设置,但是可以用于多个电路,且初始字符串可升级。证明大小恒定,验证证明贵。理论上来说,可以多个证明一起验证。

2019年5月,微软研究中心发布Spartan,一个无需可信设置的ZK-SNARKs,具有极快的证明和验证时间(亚线性)。

2019年8月,Aztec提出PlonK,并且开展了176人参与的初始可信设置。PlonK是Sonic的改进版,证明时间缩短5倍。在L2项目中采用的最多是PlonK,比如Aztec,zkSync,zkSpace,Polygon Hermez。

2019年9月,Zcash团队提出HALO算法,支持递归证明,无需可信设置,线性验证时间(不简洁)。

2020年9月,同样是Zcash团队提出的HALO2问世,HALO2是HALO和PlonK的结合版,有着更灵活的电路设计且更高效。Scroll目前采用的就是HALO2。

2021年3月,Nova(Spartan + Bulletproof)被提出,无需可信设置,支持更高效的递归证明,拥有目前最快的证明速度,但证明大小较大(线性)。

2022年1月,Polygon Zero提出Plonky2,它结合了PlonK和FRI,具有快速证明和无信任设置的特点,支持递归且验证成本低。

2022年10月,Espresso Systems团队发布HyperPlonk。HyperPlonk是对PlonK的改进,使用了多线性多项式承诺(multilinear polynomial commitments),去掉了PlonK里面的FFT部分,减少了证明时间(线性),但证明大小更大。

ZK-SNARKs

  • S-Succinct(简洁):证明大小和验证时间远远小于原始计算(语句)
  • N-Non-interactive(非交互):证明者和验证者不需要为每一轮验证来回通信,但证明者和验证者需要完成初始设置阶段。
  • A-ARguments(论据):具有极大计算能力的证明者可以通过生成错误的证明来欺骗验证者。发生这种情况时,公钥/私钥加密也会被破坏。
  • K-Knowledge(知识):证明者需要知道一些秘密才能进行证明。

ZK-SNARKs是在区块链领域广泛应用的零知识证明系统。第一个使用零知识证明的区块链应用是Zcash,一个用于隐私支付的数字货币。2014年成立,Zcash早期用的是Pinocchio算法,在2018年Sapling升级后使用Groth16。

传统ZK-SNARKs(例如Groth16)有以下三个问题:

  1. 需要初始化可信设置。初始化可信设置会生成一个参考字符串(reference string)。如果这个字符串泄露,任何人都可以作假证明。
  2. 参考字符串只能被用在一个电路(circuit)里面。因此单一初始设置不能被用于广泛的计算。
  3. 参考字符串不能被升级。如果升级,需要重新生成参考字符串。

因此产生了两种解决方案:透明设置(Transparent Setup)和通用设置(Universal Setup)。

透明设置会生成一个公有的参考字符串。在这种设定下,字符串的泄露不会对证明造成影响,但证明大小会很大,如Fractal和ZK-STARK证明能达到250KB,而Halo和SuperSonic的证明要小一些,不到10KB。

通用设置会创建一个结构化参考字符串。这个参考字符串需要可信设置,但可以被用于多个电路,通常被用于通用的协议或应用。此外,构建生成的参考字符串可以升级而无需重新完成初始可信设置,以便提高安全性。使用通用设置的算法有Sonic、PlonK和Marlin等。

3.4.6.2 概要

ZK Rollups是Rollups的其中一种。与Optimistic Rollups依靠欺诈证明不同,ZK Rollups通过有效证明(零知识证明)来证明二层网络状态变化的正确性。换句话说,零知识证明以密码学的确定性证实了执行所有交易的结果等于Rollups的状态变化。由于有效证明可在链上得到及时确认,因此用户能更快的把钱从Rollups的合约中取出。和Optimistic Rollups相比,ZK Rollups有更快的交易最终确认时间(Transaction Finality)。

现在的ZK Rollups解决方案一般分为两种:特定应用(Application-Specific)ZK Rollups和通用(General-purposed)ZK Rollups。

特定于应用的zk Rollups协议(如Loopring, StarkEx等)会设计专门的证明电路,因此证明效率高且用户交易成本低。但是,特定电路使得不同DApps之间不能交互,而做不到应用之间的可组合性。此外,对于不同DApps,开发者需要单独设计电路。这极大地增加了开发难度和周期。

另一个方案就是构建通用(General-purpose)ZK Rollups,例如Scroll, Polygon Hermez, Starknet,zkSync v2.0等。也就是说,做一个通用电路(zkEVM)去执行智能合约。这样的做法,把复杂的电路设计工作留给了Rollup项目方,而程序员就可以直接使用Solidity编程,无需担心设计电路的问题。但这样做会带来极高的额外损耗,例如只想验证一个加法,用户也需要运行整个电路。最近一些技术突破(比如多项式承诺,递归证明,硬件加速等)使得通用电路的证明成本大大降低,构建EVM通用电路的想法也就更加容易实现。


扩容

Source:https://immutablex.medium.com/ground-up-guide-zkevm-evm-compatibility-rollups-787b6e88108e


3.4.6.3 时间线


扩容


  • 2018年9月,Vitalik首次提出用zk-SNARKs去验证L2区块实现扩容。
  • 2020年2月,Loopring v3.0,第一个基于零知识证明的L2扩容协议上线。
  • 2020年6月,由StarkEx驱动的去中心化交易所DeversiFi在以太坊主网上线了。同月,用于支付的zkSync v1.0 主网上线。
  • 2021年2月,ZKSwap上线,一个基于ZK-Rollups技术的以太坊L2 DEX。
  • 2021年3月,Hermez上线,一个支持ETH和ERC20转账的ZK Rollup。
  • 2021年8月,Polygon宣布收购Hermez,形成Polygon Hermez,计划提供一个EVM字节码层面兼容的ZK Rollup。
  • 2021年11月,StarkNet在以太坊主网上线Alpha版本。StarkNet是一个开放的zkRollup,任何人都可以部署自己的智能合约,并且和其他智能合约进行交互。
  • 2021年12月,L2 Labs推出ZKSpace,具有ZKSwap v3.0、NFTs和支付功能。
  • 2022年6月,dYdX宣布计划离开Starkware并在Cosmos上开发自己的区块链,其背后的原因之一是交易吞吐量限制(零知识证明生成的低效率)和L2短期内不够去中心化(角色单一)。
  • 2022年7月,Scroll宣布开放pre-alpha测试网。
  • 2022年10月,zkSync2.0主网baby alpha版本上线,但只用于安全和压力测试。zkSync 2.0将会是一个通用的ZK Rollup,通过zkEVM更好地兼容以太坊现有生态应用。

3.4.6.4 技术原理

ZK Rollups通过链上验证的零知识证明确认状态变化的正确性。ZK Rollups能够扩容的关键是零知识证明的简洁性。由于验证成本与被证明的交易数量成亚线性(sublinear)关系,验证证明远远小于计算所有交易的复杂程度,因此ZK Rollups能极大的减少交易成本。

ZK Rollups有下述一个技术角色:


扩容


Relayers有时也叫Aggregators或Sequencers。一些项目(计划)把打包交易和提供证明分两种角色(Sequencers & Provers)来完成。其中,Sequencers负责汇总和打包交易;Provers负责生成证明。

把零知识证明外包给证明者网络(Prover Network),可以允许更多设备参与零知识证明的生成(外加并行计算和聚合证明),零知识证明的生成速度能显著提高,从而提高交易速度。此外,协议方也无需承担证明设备的维护成本(但需要给证明者网络经济激励),且去中心化程度提高。这一做法目前仍在研究和开发过程中,尚未实现。

用户流程


扩容

  1. 用户通过在主网上合约锁定资产的方式,将钱存入二层网络。
  2. 用户创建交易,并把交易内容发送给中继者。
  3. 在接受交易之前,中继者会验证交易的合法性(用户是否有足够的钱等)。
  4. 在收集到足够的交易后,中继者会对交易排序(先进先出),执行交易,更新L2状态,将数据打包(Batch),并生成一个零知识证明,以calldata的形式一起上传至主链上Rollup 合约。
  5. Batch内容:前状态根, 后状态根,交易根,状态变化,零知识证明
  6. 主链上合约
  7. 确认Batch内容的格式,不符合格式的内容则拒绝;
  8. 检查Batch中的前状态根是否与其合约当前状态根匹配(确保区块顺序);
  9. 验证上传的零知识证明,确保证明的正确性;
  10. 验证通过,把当前状态根换成Batch里面的后状态根。


数据可用性

ZK Rollups并不需要把所有的交易数据都放在链上。由于链上验证的零知识证明本身证明了状态变化的正确性,用户的状态是得到L1保护的。尽管如此,我们还是需要把一部分的交易数据上传至主网的Rollup合约。有了链上数据的可用性,任何跟踪了ZK Rollups状态的节点才能在链下重建二层网络的状态,进而打包交易,防止L2中继者作恶(如资产冻结和审查)。如果中继者(Relayers )下线,其他节点也能接力成为中继者,使Rollup网络继续运行。

在ZK Rollups中,项目方是可以选择上链的数据类型,如原始交易数据,每笔交易的状态变化,一个交易批次的最终状态变化。这三种均可使用户(节点)重建二层网络的状态。选择一个交易批次的最终状态变化,能够有效地压缩链上存储的数据(一个批次内的多笔交易后,某些状态变化可能会相互抵消),从而减少Rollups链上存储成本。

ZK-EVM

如同前文所述,ZK Rollups面临的一个很大的挑战就是EVM兼容性。由于以太坊本身良好的生态,为了实现更好的开发者体验和可组合性,很多ZK Rollups项目(如zkSync v2.0,Polygon Hermez,Scroll等)都在寻求更好的EVM兼容。通过一定程度上牺牲效率,增加灵活性,实现迁移现有以太坊生态的代码,支持现有以太坊生态的工具(开发者工具&代码库「Hardhat, Brownie」,钱包「Metamask」,分析工具「Nansen, Dune」等)。

我们一般把zkEVM分成三种层面的EVM兼容性:共识层,字节码层和语言层:

扩容

目前来说,StarkNet和zkSync是语言层面兼容,而Polygon和Scroll是字节码层面的兼容。在以太坊的路线图里,以太坊将整合一个共识级别的zkEVM。

扩容Source:https://immutablex.medium.com/ground-up-guide-zkevm-evm-compatibility-rollups-787b6e88108e

3.4.6.5 优缺点

扩容

3.4.6.6 应用

StarkWare

概述:

StarkWare成立于2018年, 总部位于以色列。公司两位联合创始人Eli Ben-Sasson和Alessandro Chiesa也是ZCash创始人。其主要目标是进一步推广以色列理工学院研发的zk-STARKs突破性区块链隐私解决方案。

目前公司有两个二层扩容产品分别是StarkEx和StarkNet。

StarkEx是为特定应用提供Volition的解决方案,比如dYdX、ImmutableX、DeversiFi 和 Sorare。Volition允许用户对每种资产选择对应的数据可用性模式:Rollup(链上数据)或 Validium(链下数据)。这是一个相对封闭的生态,支持ERC20,ERC721和ERC1155。

StarkNet是一个开放的ZK Rollups。任何人都可以部署自己的智能合约,并且和其他智能合约交互。

此外,StarkWare计划将StarkEx平台建立在StarkNet上,打造一个Layer 3的新概念,方便整个生态的相互操作。

时间线:


  • 2018年5月,StarkWare成立。
  • 2020年6月,StarkEx的第一个应用DeversiFi上线。DeversiFi是一个零知识证明驱动的数据在链下的(Validium)DEX。
  • 2021年11月,StarkNet在以太坊主网上线Alpha 版本,团队计划在2022年下半年推出正式版。
  • 2022年5月,StarkWare在Greenoaks Capital和Coatue Management领导的D轮融资中筹集了1亿美元,估值80亿美元。
  • 2022年6月,StarkEx 4.5版本发布。其中,Volition允许用户对每种资产选择对应的数据可用性模式:Rollup(链上数据)或 Validium(链下数据)。
  • 2022年6月,dYdX宣布计划离开Starkware并在Cosmos上做自己的区块链,其背后主要原因是零知识证明的效率,可定制化和去中心化(Sequencer)程度。
  • 2022年7月,StarkNet计划发行代币。StarkNet代币被用于治理,并作为网络的支付和抵押资产。
  • 2022年9月,编程语言Cairo 1.0提出,可为StarkNet带来更好的可用性、安全性和便利性。

技术特点:

  1. 就编程语言而言,StarkEx和StarkNet使用的语言的都是Cairo。Cairo本身是和EVM不兼容的,但Starkware可以借助Nethermind开发的warp转译器,将Solidity语言转化成CarioVM的字节码,然后运行在定制的智能合约虚拟机Cairo VM。这是语言层面的EVM兼容。Cairo本身对零知识证明更友好,生成证明效率高,但是EVM兼容差。
  2. 就零知识证明而言,Starkware用的零知识证明算法是STARK。STARK不需要可信设置且证明速度快,但证明大小比较大,导致计算和链上验证成本较高。因此,Starkware引进了SHARP聚合证明的解决方案,该服务允许将来自多个应用的Rollups批量交易聚合为一笔交易证明,从而降低交易成本。

生态发展:

StarkEx上,目前有四个托管协议:dYdX、ImmutableX、DeversiFi 和 Sorare。

  • dydx是订单簿式期货DEX,目前的期货DEX赛道龙头。但dydx v4计划在cosmos上部署,成为一条完全去中心化的POS链。
  • Immutable X推出了Layer2 NFT交易市场,服务于GameFi(Gods Unchained等)。
  • rhino.fi(前DeversiFi)是一个L2 DEX,为用户提供便宜的DeFi服务。
  • Sorare是一款足球游戏,于2021年7月上线。

StarkNet目前是以DApp白名单的方式上线主网alpha。目前的应用不多,已上线的有ArgentX钱包,计划上线的有JediSwap, Zigzag Exchange等DeFi项目,Orbiter Finance等跨链桥项目,以及AAVE, zkLend 等借贷项目。

扩容

Source:https://mobile.twitter.com/ZK_Daily/status/1527597292634914816

zkSync

概述:

zkSync是基于零知识证明技术的Layer2扩容方案,由Matter Labs公司于2018年开始开发。Matter Labs首先实现了STARK证明,然后转了RedShift,一个SNARK和STARK的结合,最后决定使用PlonK算法。zkSync 2.0带来了zkEVM和zkPorter,在更好地兼容EVM的同时,将状态数据放链下,极大地提升了交易速度。

时间线:

  • 2018年,Alex Gluchowski成立Matter Labs。
  • 2019年12月,Matter Labs团队提出了zkSync,一个建立在以太坊上的ZK Rollup。
  • 2020年6月,zkSync 1.0 主网上线,使用PlonK算法(通用电路),是第一个支持通用计算的zkRollup协议。这一阶段,zkSync1.0只能用于支付功能。
  • 2020年8月,zkSync 1.1上线,通过递归证明,将TPS从300提升到3000左右。同时,zkPorter被提出,是Matter Labs的Validium解决方案,将交易数据放在链下,从而极大地提高交易吞吐量(20,000 tps)。
  • 2021年5月,zkSync 2.0测试网alpha上线,提出了自定义的zkEVM,使开发者能将Solidity转换成zkEVM的字节码,进而在zkEVM上运行。
  • 2022年2月,zkSync2.0公共测试网上线。zkSync 2.0将会是一个通用的ZK Rollup,通过zkEVM更好地兼容以太坊现有生态应用。
  • 2022年10月,zkSync2.0主网baby alpha版本上线,但只用于安全和压力测试。

技术特点:

  1. 语言层面EVM兼容。zkSync创建了基于寄存器的虚拟机zkEVM,将Solidity转换成LLVM IR(编译器基础设施)后再转换成自制的VM指令。zkSync这种方法和Starkware的方案类似,都是语言层面的EVM兼容,理论上来说更灵活。zkSync最初创建了类似Cairo的Zink编程语言,但现在已经把工作重心放在Solidity编译上,致力于给开发者带来更好的EVM兼容体验。
  2. ZK算法使用PlonK。PlonK会产生一个通用的字符串,但是需要初始信任设置。此外,zkSync采用递归证明,可提高交易速度。

生态发展:

Zksync目前2.0主网已上线baby alpha版本。在1.0版本中,上线的项目有:1KXprotocol,这是一个将自动做市商(AMM)和去中心化交易平台(DEX)结合、低滑点的 DeFi聚合平台。还有Argent钱包,Zigzag去中心化交易所,跨链桥Orbiter,Mystiko Network(该协议目前仍处于测试网阶段,可以被集成到跨链桥、L1和L2、钱包和Dapp,以保证用户隐私)。随着即将到来的zkSync2.0主网,正式上线的项目会越来越来多。

扩容

Source: https://twitter.com/ZK_Daily/status/1537461972920197120/photo/1

Polygon

概述:

Polygon(前Matic Network)是一个以太坊扩容解决方案聚合器。核心组件是Polygon SDK,便于开发者快速构建或连接L2。目前Polygon有3个ZK Rollup相关的产品:Miden,Hermez和Zero,都在开发和测试阶段,预计2022年底或者2023年上线。

时间线:

  • 2021年3月,Hermez上线,是一个支持ETH和ERC20转账的ZK Rollup。
  • 2021年8月,Polygon宣布收购Hermez,形成Polygon Hermez,计划提供一个开源的EVM字节码层面兼容的ZK Rollup。
  • 2021年11月,基于zk-STARKs的ZK Rollup,Polygon Miden发布。Miden创建了与EVM 兼容(语言层面)的基于ZK-STARKs的Miden VM,支持通用智能合约。
  • 2021年12月,Polygon宣布收购Mir Protocol,构建Polygon Zero。Polygon Zero利用 Plonky2(递归零知识证明系统,PlonK+FRI)的速度来实现可扩展性更强的且更去中心化的ZK Rollup。它提供了Rollup和Validium两种模式,使用户能够获得更高的吞吐量和更低的费用。
  • 2022年10月,Polygon Hermez公众测试网上线。

技术特点:

1.Polygon Hermez

  1. Polygon Hermez实现了字节码层面的EVM兼容。在执行交易时,Aggregator需要把EVM字节码翻译成另一套叫zkASM(Zero-Knowledge Assembly)的字节码,而验证者需要对zkASM的字节码进行证明。此方法需要一个字节码的翻译器,在EVM升级时,Hermez需要手动更新来保持同步。
  2. Polygon Hermez使用的是ZK-STARKs和SNARK结合的零知识证明系统。底层是ZK-STARKs,被用来证明每个子电路执行的正确性;SNARK(PlonK或Groth16)的证明大小更小,且验证更便宜,因此被用来聚合生成的ZK-STARKs证明,最后上传至主网合约。
  3. 此外,Polygon Hermez高度重视去中心化实现。Sequencer的共识机制从v1.0的POD(Proof-of-Donation)过渡到v2.0的POE(Proof of Efficiency),允许每个人都能参与L2的区块打包,但仍摆脱不了算力竞赛带来的证明者中心化问题。

2.Polygon Miden

  1. Polygon Miden创建了一个基于ZK-STARKs的虚拟机Miden VM来支持通用智能合约的执行。Miden VM会将Solidity代码直接编译成Miden Assembly(Miden VM的原生编程语言),实现语言层面EVM兼容。此外,Polygon Miden也在探索对其他语言进行编译,如Move。
  2. Miden VM的底层证明系统是Winterfell,一个高性能STARK验证器,可以为任何交易生成STARK证明。使用ZK-STARKs的好处在于它无需可信设置,抗量子计算且证明生成和验证速度快。

3.Polygon Zero

  1. Polygon Zero使用Plonky2作为其零知识证明系统,PlonK和FRI的结合使零知识证明能在170mm内(商用电脑)完成。
  2. Polygon Zero中,每笔交易都是一个零知识证明。因此很多交易可以同时生成证明,再通过递归形成一个最终的证明。也就是说,Polygon Zero能够通过增多节点来横向扩容。

生态发展:

目前Polygon旗下的三个ZK Rollups方案都在开发和测试阶段,生态尚未成型。

Scroll

概述:

Scroll是由Ye Zhang在2021年3月提出的zk-rollup解决方案。Scroll主要想做两件事,构建通用的ZK-EVM和去中心化的证明者网络。

时间线:

  • 2021年3月,Ye Zhang在Ethereum Research论坛上提出Scroll,通过结合两种不同的零知识证明系统,以提高链上和链下的效率,从而实现通用的ZK Rollup。
  • 2022年7月,Scroll宣布开放pre-alpha测试网,有一些智能合约的预部署,比如Uniswap v2,但目前只对白名单用户开放。

技术特点:

  1. 第一个版本的白皮书提出用两种不同的零知识证明系统结合起来,以提高链上和链下的效率,从而实现通用的ZK Rollup。在和以太坊基金会交流后,Scroll决定和以太坊基金会Privacy Scaling Group合作完成zkEVM。此zkEVM直接在电路中实现每个EVM操作码(进行过程中)。因此它的EVM兼容性是非常好的。
  2. Scroll的zkEVM是字节码层面的EVM兼容,支持原生EVM字节码的执行。因此主网上的DApps & 开发者工具可以直接在Scroll上继续使用,基本不需要改动。
  3. Scroll拥有等级化零知识证明系统。第一层,有效的证明(电路优化,硬件优化)。第二层,验证优化(简洁的证明,EVM友好的验证算法)。通过递归证明和并行计算的方式,提高交易速度,减少手续费。
  4. 此外,Scroll计划分离打包者和证明生产者,构建外包的证明者网络。然后通过不断地迭代硬件设备(GPU->FPGA->ASIC),做到ZKP生产速度的提高;打包者的去中心化也在构想中。
  5. Scroll是目前EVM兼容性做的最好的ZK Rollup项目之一。通过它的设计(zkEVM迭代,递归,并行计算,硬件加速),零知识证明的生成速度能够达到很快(目前1m Gas需要6分钟),从而更好地扩容以太坊L1。

扩容

Source:https://scroll.mirror.xyz/nDAbJbSIJdQIWqp9kn8J0MVS4s6pYBwHmK7keidQs-k

生态发展:

Scroll目前还处于早期,生态尚未形成。

3.4.6.7 应用比较

对于ZK Rollups而言,扩容效果,EVM兼容性,安全性和生态是我们所认为的重点。目前来说,我们很难对不同ZK Rollups协议评价好坏,更多的是协议方面对不同使用场景和自身意愿做出的不同解决方案。

目前,ZK Rollups扩容的主要瓶颈在于零知识证明的生成速度。随着零知识证明算法的飞速发展(SNARK->STARK->PlonK->HALO2等),零知识证明的生成和验证效率会不断提高。一些新的技术突破(多项式承诺,递归证明,硬件加速等),也使得零知识证明系统进一步优化。我们相信在不久的未来,零知识证明生成速度的瓶颈将会得到改善。

由于EVM本身并没有专门为生成零知识证明而设计,其中的一些操作的证明(如哈希函数Keccak-256,存储证明等)会有很大的额外损耗。我们知道,为了尽可能做到EVM兼容而更好地使用和迁移现有应用和工具,我们就得接受EVM本身的ZK不友好性,但这会导致较低的证明生成效率。这就是Scroll在做的事情,为EVM每个操作码设计电路,容忍一些ZK不友好操作,尽可能做到EVM兼容。

StarkWare和zkSync选择了另一条路,打造对零知识证明更友好的虚拟机,来加速证明生成从而扩大交易吞吐量。但随之而来的,是对EVM兼容性不高,项目迁移成本高,生态比较难起来。

所以说,这实际上是ZK友好和EVM兼容的权衡利弊。随着以太坊本身往ZK友好靠拢,上述两种方案也在往中间靠拢。

就Rollups本身的设计而言,Relayer的去中心化也是一个问题。如果我们把打包和生成证明分开,那就是Sequencer和Prover两个角色,但都需要进行去中心化。

zkSync和StarkNet目前还没有做到去中心化。他们的Sequencer和Prover都由官方团队运营,打包交易和生产证明都是团队负责,也没有搭建好去中心化的矿工节点,社区还无法参与。除了中心化本身来带的单点故障和信任问题,还有一个问题是,所有的算力都控制在团队自己手里,意味着团队要租用机器来持续承担这部分的成本。把Sequencer和Prover交给社区,并设置一定的经济激励,会是一个更好的做法。Polygon Hermez和Scroll均有把Sequencer和Prover去中心化的想法,但目前仍处于概念证明(PoC,Proof of Concept)阶段。

扩容

3.4.7 OP Rollups vs. ZK Rollups

扩容

Adapted from https://vitalik.ca/general/2021/01/05/rollup.html

3.5 Validium

3.5.1 概要

Validium的机制和ZK Rollups非常相似,唯一的区别就是数据可用性:在ZK Rollups里,数据是放在链上的合约中,而在Validium中,数据是交给链下的数据可用性委员会(Data Availability Committee,DAC)。

目前StarkWare的StarkEx和zkSync的zkPorter都会提供Validium的解决方案(但后面均转向了Volition)。

3.5.2 技术原理

Validium核心思路就是将链下状态的承诺(State root)放在主网上,通过主网验证的零知识证明确保状态的正确性,并通过链下的数据委员会,确保链下状态的可用性。

数据可用性

StarkEx的DAC由8个有名望的组织组成,包含ConsenSys、Infura、Nethermind、Iqlusion和Cephalopod等。所有DAC成员需要对收到的链外数据(已加密)进行计算,并对新的状态签名,以确保他们收到了数据。而链上的合约只会接受带有DAC成员签名的交易批次。

StarkEx的安全性和一个POA(Proof of Authority)的网络非常类似。如果没有链上数据的可用性,Validium的Operator有拒绝用户移动资产的能力。那么用户要是想移动资产,就需要给Operator一部分资金。如果遇到紧急情况(如Sequencer拒绝提交交易批次),DAC成员可以将数据重新上传至链上,从而允许用户从链上合约内取钱。

zkPorter账户的数据可用性将由zkSync代币持有者(称为守护者,Guardians)保障,他们将通过签署区块来跟踪zkPorter端的状态,以确认zkPorter帐户的数据可用性。监护人使用zkSync代币参与权益证明 (PoS),因此任何数据可用性故障都将导致他们的资产被烧毁,这为数据可用性提供了加密经济保证。值得注意的是,守护者参与的PoS只是为了支持数据可用,也就是说,他们只能冻结用户资产,而不能改变用户资产。因此zkPorter的安全性,会高于侧链的PoS。

Validium vs. ZK Rollups


扩容

3.6 Volition

3.6.1 概要

Volition是Starkware在2020年6月提出的一个链上与链下数据混合的扩容解决方案,允许用户动态地选择他们的数据存储位置。如果数据在链上,就是ZK Rollup,可为用户提供更高的安全性,但交易成本会更高;如果数据在链下,就是Validium,用户会有更便宜的费用但更低的安全性。Volition将选择权交给用户,提供了更好的灵活性。

Volition数据可用性的选择权可以是基于账户的,基于资产的,或基于单笔交易的。基于单笔交易可以带来更多的灵活性,但实现起来会更复杂。

目前StarkEx,zkSync和Polygon Hermez都计划或推出了各自的Volition解决方案。其中StarkEx的Volition解决方案是基于单个资产的选择,zkSync的zkPorter是基于账户的选择,而Polgon Hermez暂未详细展开说明。

3.6.2 技术原理

Volition可以理解为ZK Rollup和Validium的结合体,给用户提供不同安全性和交易费率的选择。


扩容


Source:https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb


扩容

4.总结展望

如何解决区块链的不可能三角(可拓展性,安全性和去中心化)这一问题,一直是区块链领域一大难题。随着区块链使用量的攀升,区块链本身能承载的交易量和用户交易成本成为了一个迫在眉睫的问题。以太坊每秒能处理的交易在12~15笔左右,而Visa每秒能处理2,000+交易。要想区块链能更好地承载经济和日常活动,区块链就必须在保证一定安全性的同时想办法扩容。

本文从发展时间线、技术原理、优缺点和应用四个方面详细介绍了当前主流的链下扩容方案,并有以下观察与想法:

  1. 链上扩容和链下扩容不是竞争关系,而是共生关系,且1+1>2。例如,结合分片技术和Rollups,以太坊能达到很好的扩容效果(20,000+ tps);以太坊路线图上的许多措施都将为建立在其上的链下扩容方案提供更多的效率,随着以太坊变得更好、更高效,建立在它之上的链下方案也会不断进步。
  2. 不同的链下解决方案对应不同使用场景和需求。比如,State Channels由于手续费低,交易确认速度快,适合日常简单支付场景。而Rollups更加适用于通用的复杂商业逻辑,如DeFi,GameFi等。
  3. 从链下扩容技术发展的时间线上,我们看到了两条主旋律:一是应用场景的多元化(从简单支持场景过渡到特定应用,再到通用场景),二是安全性假设的升级(从依赖链外共识到至少一人诚实「经济激励」再到现在依靠数学证明)。
  4. Optimistic Rollups和ZK Rollups是目前主流的链下扩容解决方案。Opstimistic Rollups技术比较成熟,生态发展不错,但仍存在安全性(大多数协议欺诈证明系统未上线)和去中心化程度低的担忧。ZK Rollups可能会是链下扩容的目前可预判的最优解决方案,因为它本质上解决了一层性能不足的同时,还可以在保障安全(ZKP算法的保证)的前提下将交易处理外包给可扩展性较高的二层(只存储状态变化可以减少链上存储需求)处理。这个解决方案几乎接近于完美的解决了不可能三角的难题,但是我们也能够意识到ZK Rollups受限于ZKP的生成中大量的向量乘法、傅里叶变换等计算,使得它会非常耗内存,对硬件要求较高,所以实际当前实际应用的落地性还待改善;还有目前看到的使用ZKrollup协议的去中心化程度较低。这两个问题是可以解决的。我们相信在不久的未来,ZK Rollups的潜力将会被完全释放。
  5. 在ZK Rollups虚拟机设计中,EVM兼容性和ZK友好性的权衡只是一种选择,并非好坏。Scroll和Polygon Hermez设计兼容性更好的VM是为了更好地承接以太坊现有生态和工具;Starkware致力于打造ZK友好的虚拟机,能极大程度提高零知识证明生成效率,带来更好的用户体验(低手续费)。
  6. 目前,Rollups仍是辅助轮模式「training wheel」,存在一定的安全隐患。例如,Rollups合约的更新权限在项目方手里,协议可能会有Bug。我们更多的是相信项目方,而非代码本身。Vitalik在ETH Bogota演讲里提到的多重证明者系统(fraud provers + zk provers + governance threshold)会是一个不错的解决方案。不同证明系统之间的低相关性,降低了多个证明系统同时陷入困境的概率,使得Rollups更安全。
  7. 链下扩容解决方案的生态建设和自身的基础设施建设是相辅相成的。的确,BD能力和项目方和投资方背景能在前中期吸引更多的建设者,但从中长期的视角,协议自身素质(性能,安全性和去中心化程度)同样甚至更重要。建设者们首先考虑的应该是协议能否承载应用的发展,接下来才是社会关系。协议自身素质会吸引优质的应用落地,而链上生态的繁荣也反哺协议,为其带来价值。
  8. 当区块链真正能达到很高的TPS时,我们需要一些杀手级DApps去承载这些额外的交易量。这个机会,可能在GameFi或者SocialFi。
  9. 使用相同技术的Rollups叠加(rollups on top of rollups)不会带来大幅度的扩容,Layer3可以是特定应用的Rollups,也可以是Validium。目前很难决定,两层还是多层的链下扩容结构更好。
  10. 随着以太坊合并的完成,以太坊显卡挖矿时代已经结束,但带来了ZKP类硬件开发和挖矿的新机会。
  11. 通过将EIP-4337与Rollup技术结合,可以在账户抽象化中实现数据压缩和降低gas成本的效果,更好地发挥账户抽象的优势。

一方面,链上扩容方案近期迎来重大里程碑——北京时间2022年9月15日14:44,以太坊The Merge正式被激活,标志着以太坊区块链完成了由工作量证明(PoW)向权益证明(PoS)的过渡。PoS新时代的正式开启,消除了过去以太坊对大量挖矿算力的需求,朝着链上扩容方案更近一步。然而,以太坊在合并之后,还远远未达到Vitalik Buterin所设想的最终形态,分片的链上扩容方案也还要等待多年。

另一方面,回顾链下扩容的方案的演变历程,经历了State Channels, Sidechains, Plasma,到如今的Rollups(ZK Rollups & Optimistic Rollups) ,未来的扩容方案可能有更多的形式,并不一定局限于Rollups。

随着NFT和游戏市场的快速增长,即使在加密货币的熊市中,以太坊也需要准备好应对未来新的激增需求。其他陆续出现的新的L1虽然有着更高的TPS,但目前仍然难以达到以太坊所拥有的安全水平。未来Web3的大规模采用,即使是每秒10万笔交易,也无法满足全球需求,所以结合链上扩容和链下扩容将是以太坊成功的关键。随着未来更多扩容方案的出现,会为更多web3爆款应用的诞生创造条件;我们相信不远的将来,会迎来区块链的大规模商业应用阶段。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:扩容