Foresight Ventures: 全面解析Rollup的现状和未来

原文作者:msfew?@ForesightVentures

这篇文章着眼于以太坊的Layer2Rollup宇宙(仅包括Securedrollup),会从简单易懂的核心概念与机制设计出发,探讨目前Rollup的好与坏,畅想它们未来在去中心化,进一步扩容,可组合性,以及隐私等附加功能上的潜在路线与方案各自的优劣.

一个SecuredRollup就是像Arbitrum或Optimism这样模式,结算,共识,数据可用性均依赖以太坊等L1,自己仅负责执行的Rollup.

如果Rollup中结算,共识,数据可用性使用了除L1以外的方案,那么它就不是一个纯粹的SecuredRollup,也就不是狭义的Rollup.

0.Rollup的本质与原理

a)Rollup的本质

给区块链扩容有两种方式:一种是优化区块链本身,另一种是以更好的方式使用区块链.

Rollup就是第二种,它真正的本质很简单,是更快更便宜且“可信”地使用区块链,来扩容区块链(基本特指以太坊).

Rollup是:链上的智能合约链下的聚合器.

就这么简单.而这两个特性结合起来就定义了Rollup也丰满了它的概念.

链上智能合约,表示了它的信任模型就是以太坊上的一个智能合约,借用了以太坊的安全性,而不是像AltL1一样需要建立新的信任共识.我们可以像信任Uniswap的协议(核心是智能合约)一样信任Arbitrum的协议.

链下聚合器,表示它会链下执行并聚合交易,将大批量的交易压缩,最终放上以太坊主网,达成更快更便宜的目的.

以太坊的原理是,每个节点都存储且执行用户提交给它的每笔交易,所以这么一个去中心化网络非常昂贵.

后文是以Aribitrum和Optimism为代表的OptimisticRollup,与以zkSync和StarkNet为代表的zkRollup两大Rollup的机制原理,可供读者简单理解.

b)OptimisticRollup的原理

OptimisticRollup顾名思义是乐观的,采用的类似是无罪推定,大家会默认相信每个执行是正确的,通过每个批次状态可被通过欺诈证明挑战而保证安全性.

用户在Arbitrum提交交易,Arbitrum的sequencer对交易进行执行,分批次将状态根与交易数据完整提交到以太坊主网上的智能合约中.

OptimisticRollup执行产生错误了怎么办?

OptimisticRollup有一个争议验证周期,也就是说上了链之后的数据还要过比如一周的时间才会真正地被敲定Finalized,期间任何人都可以对它进行挑战,证明批次不正确.

c)zkRollup的原理

zkRollup顾名思义是用了zk零知识证明技术(实际上是ValidityProof),采用的类似是有罪推定,大家会默认质疑每个执行都是错误的,通过每个批次所包含的证明保证安全性.

用户在zkSync提交交易,zkSync的sequencer对交易进行执行和存储,分批次将状态证明和新状态完整提交到以太坊主网上的智能合约中.

zk如何证明自己的执行不是错误的?

Prover(大多数情况下就是sequencer)会对交易的执行生成无法伪造的证明,证明这些新的状态和执行是正确的.Sequencer会把证明等数据压缩后提交到以太坊主网中的智能合约进行验证.

它们如何压缩数据,从而减少gasfee?

Rollup可以在每个交易的字节数上进行压缩,包括Nonce和签名等.对于zkRollup来说,它可以进一步压缩,不用将与状态更新无关的数据上链,因为zk证明已经可以证明状态更新的正确性,而OptimisticRollup却由于需要能够被挑战,因此没法忽略这部分数据.

它们俩为什么都要完整状态?

因为为了防止sequencer跑路,我们可以通过以太坊上的数据来重建整个Layer2.这就是数据可用性的概念.

d)两种Rollup的区别

如果实在还是理解不了,可以查看下面的图解.

OptimisticRollup的设计更像是Arweave,通过经济学和博弈来设计机制,性能好但其实无法保证100%的正确.

zkRollup的设计则更像是Filecoin,通过密码学和数学来设计机制,可以保证100%的正确但永远会有额外的计算和时间开销.

它们的区别就是一个用了挑战期来保证发生错误可以被纠正,一个用了密码学来保证错误不可能发生.

我们在后文会通过两者的终局表现来详细对比它们.

1.Rollup很优秀

首先我们来盘点一下Rollup网络整体的优秀之处:

生态:Arbitrum跑出了NFT和元宇宙生态;Optimism发了币,有了治理和社区;StarkNet酝酿着各种GameFi的创新;zkSync有不少DeFi的新项目.每个Rollup单拿出来都自成一派.

扩容:TPS确实优异,虽然没有理论峰值那么高,但是L2的快速确认提供了一个快速且便宜的Web3体验.

体验:对开发者和用户来说,切换到Rollup上都是一件简单的事,且体验与以太坊几乎无异.各种跨链桥,钱包,Uniswap等基础设施也为用户的流畅体验服务.这个也是良好的生态所撑起的.

创新:Rollup已然是以太坊应用创新的优秀土壤,同时也比Polygon的“大型测试网”式网络更加具有想象力.

除此之外,如果对子网与Rollup的对比感兴趣的话,可以参考我们之前的研究,以及Toghrui的观点.

更细化地来说,各大OptimisticRollup和zkRollup分别给出了如下的表现:

Arbitrum:TVL在24亿美元左右.Nitro升级已经上线测试网,之后会用WASM-Geth替代掉Arbitrum现有的VM,优化性能和适配性.(之后的文章我们可以详细聊聊WASM的各种潜力)

Optimism:发币了,在此基础上做出了很多“开创性且无比Optimistic的实验”(出各种岔子,隐瞒着事实且无动于衷,最近经常被失望的用户质疑为是“以太坊基金会的废太子”).Bedrock升级会让VM变成MIPS-Geth,做到EVM等同性.Optimism的开发人员也一直在说zkMIPS的概念,不知道他们会不会在之后往这个方向努力呢?

StarkNet:目前跨链桥还没完全开放.特制语言Cairo和StarkNet开发生态打造得不错,游戏生态值得关注.StarkEx的Validium模式也做出了dYdX,ImmutableX等应用.而且StarkNet自己也可以做结算层,搭建L3.

zkSync:最早地做出了比较完善的zkEVM.2.0版本的Volition模式可以让用户灵活选择zkPorter或以太坊的数据可用性方案.

Aztec:UTXO模型的隐私zkRollup,即将支持隐私DeFi生态(但由于交易数据大小过大,目前还需要额外优化).尽管不支持通用计算,但是是为数不多真正zk的zkRollup.

Fuel:V1是一个OptimisticRollup,而且非常去中心化.V2不走寻常路,没有去适配EVM,而是通过一个UTXO模型的高性能VM来支持并行tx处理,致力于打造最快的执行层.

除了以以太坊为主网的Rollup以外,还有这些:

everPay:Arweave上基于SCP范式的Layer2.

Milkomeda:Algorand上的EVMRollup.

Orbis:Cardano上的Validium模式的Rollup.

Rollup方案不同的设计有非常多的独到之处,真正地服务了无数的用户,带来了更好的Crypto与区块链体验.

2.Rollup有待提高

上面一章的表扬后,我们会在本节指出Rollup一些需要解决的问题:

a)中心化

Rollup网络丝滑的用户体验是通过对安全性的妥协而得到的,网络很多组成部分是中心化的,虽然有以下三点可以对这个问题进行“狡辩”:

zkRollup中zk证明从数学上无法伪造.

用户可以通过L1的DA来重建所有状态.

信任模型本身就是中心化的智能合约.

但是Rollup的中心化仍然会导致censorship与安全性极低等问题.目前它的中心化主要体现在:

中心化sequencer:大部分的OptimisticRollup和zkRollup的sequencer都是中心化的形式存在.也就是类似tx的执行,排序,和出块都是靠一个中心化的服务器来支撑.之前Arbitrum就因为sequencer的硬件问题所以整个网络宕机了…

中心化升级:大多数Rollup网络的升级是中心化的,意味着实际上去黑掉整个Rollup的成本与网络上十几亿的TVL相比简直渺小到可以忽略.比如zkSync就是以一个securitycouncil来管理升级.回想之前Ronin被黑事件,让十几亿的资金依赖于这么几个人的多签,绝对是不安全的.

闭源组件:部分Rollup的一些关键组件是闭源的.比如StarkNet的几乎所有关键组件均未开源,依然是中心化开发,且没有开放的开源许可证.这不那么Web3.

在我的设想中,作为一个网络或者协议,最终必须是去中心化且开源的,否则就违背了Crypto和Web3的精神.

b)真实性能

Rollup目前所展现出来的超高性能是“假的”,真实的Finality并没有那么优秀,且性能依然有提高空间.这是一把双刃剑.

当用户在L2提交交易后,马上会得到交易成功或者失败的反馈,但是其实这个即时的用户体验仅是在L2上的Finality.

在数据没有被提交到L1或Prover还在证明或仲裁窗口期的期间,这些数据并未取得L1Finality.所以Rollup的用户体验那么优秀,其实是因为用户通过Rollup借用了一些时间,让用户先拿到一个softconfirmation.

由于以上的设计,导致如下问题:

假的Finality:数据上了以太坊等真实的区块链才是真正的Finality,那么Rollup的真实Finality是多快呢,换句话说(当然真的要计算TPS的话,一批次数据所包含的tx个数也应该纳入考量),它们每隔多长时间会提交数据上以太坊呢?这里有一个通过链上数据真实的分析.

吹过头的TPS:我个人认为TPS是一个极其糟糕的指标,现在应该被淘汰掉.各种Rollup或者公链都通过无数的预设条件以及混淆的概念来计算出一个超高或者至少比竞争对手高的TPS,从而体现自己的强大.但实际使用中,它们的性能仍然没有那么“Web3”.我理想中真正的Web3体验需要是完全无感的,同时整个网络也必须去中心化.

c)经济机制

我们以Optimism的代币为例,管中窥豹地来研究Layer2Rollup的商业和经济机制,代币模型,与MEV.

商业模式:Rollup的利润=Layer2费用-Layer1区块空间费用(在L1上存储和验证证明等数据的安全成本)-节点服务器等计算成本.其中,Layer2费用=gas费用MEV?Layer2收取的一些premium.但这个商业模式用户无法作为节点参与,只有Rollup开发者能够赚取.以下是Arbitrum与Optimism在Layer2费用与Layer1区块空间费用上的收益与成本.

代币机制:?Optimism的网络虽然不错,但代币经济仍然较弱.OP有以下三个比较致命的问题:1.没有任何utility,比如无法支付网络gas或PoS质押(当然这两个并不是好的Rolluputility),仅用于治理.2.无法捕捉网络收益和区块空间的价值,sequencer赚多少钱都与持币者无关.3.流通数量非常少,抛压很大,做市时的事故更是让这个情况雪上加霜.这些问题不仅仅是Optimism的问题,其他Layer2Rollup也很有可能需要面临这些考验.

MEV:由于现在Rollup均是中心化sequencer,因此这些收益都可以被sequencer捕捉.MEV是一个两面性的东西.往好里看,Rollup网络可以拥抱MEV对于网络的价值,让其成为网络去中心化之后经济机制和矿工激励的重要组成部分;往坏里想,Rollup网络需要杜绝任何MEV的存在,因为它经常被认为是对用户的一笔额外的税务.Arbitrum选择“忽视”MEV,采取先到先得的机制,但这对节点性能有更高要求,且降低了DDoS的成本.

开放网络的商业模式,改善代币机制,处理MEV会是Rollup网络在发币与去中心化的必经之路上的三座大山.

3.OptimisticRollup与zkRollup的终局性能对比

我不太想和其他文章一样去对比Optimistic和zkRollup两个阵营的TPS等纸面性能(如果好奇的话可以详细阅读文末更多参考资料),而是会从它们的本质和特性,以及长期终局表现来对比:

对这张图的详细解读和值得关注的点如下:

EVM等同性实现难度:其实无论是从EVM兼容,节点配置要求,还是优化来说,zkRollup整体的实现难度都是比OptimisticRollup要高的.这其实也是额外证明开销的一种存在方式…额外证明开销不仅让网络的性能永远有一个多出来的包袱,同时对EVM兼容的技术实现上来说也是一个巨大阻碍.

可以更方便地做隐私等需求:既然已经使用zk了,那么在做一个真正隐私的zk-zkRollup的开发难度会比zk-OpRollup简单很多.当然也有ZKOPRU这样的zk-OpRollup项目已经上线.

优化方向:对于OptimisticRollup来说,并行化的tx处理是很直接且很有效的一种优化,而zkRollup用同样的方案的话(StarkNet下个版本的sequencer可以并行了),长远来看还是会输给OptimisticRollup(又是额外的证明开销的缘故),因此zkRollup会采取FractalL3scaling的替代方案,也就是在Rollup上面继续搭Rollup.递归的超能力不仅可以让L2验证L3的证明是正确的,同时也能让L1验证L2对L3的验证的正确与否.

具体优化方向:均是从路线图与预想的设计方案中得来,目前并无实践.个人认为需要很长的时间才能完成这些升级.其中一些升级是有副作用的,比如引入一种新机制就需要额外的信任假设.

虽然这张图得出了OptimisticRollup的性能会在长远角度高于zkRollup的结论,但是由数学所保证的信任是更强的.我认为Rollup性能的终局是Optimistic,但是真正总体的终局会是zk.

设计上很完美,工程实现的难度依旧巨大,上面的对比其实依然和TPS的对比一样,比较纸上谈兵.我们还是要从实际出发,去从一个Rollup网络的安全性,去中心化,和实际的表现与生态来观察.

4.Rollup的未来

对比了OptimisticRollup与zkRollup,我们其实也全面了解了它们未来对性能的优化方案.那么在其他角度,Rollup未来的发展会是怎么样呢?

a)去中心化

在去中心化角度,我们聚焦了sequencer和合约升级的问题,未来,一个Rollup必须是去中心化的,那么就需要如下的去中心化设计:

去中心化sequencer:OptimisticRollup的sequencer的机制基本会是各种魔改的PoS(leaderelection,MEVauction,rotationmechanism);以及zkRollup的类似Hermez的ProofofEfficiency或者ProofofValidityProof或者TendermintPoS这样的机制.当然如果网络是一个PoS的机制,那么其实就需要额外的资金成本.

去中心化合约升级:合约升级不应该由多签管理,而是由去中心化的治理管理(涉及代币)或完全放弃合约升级权限(如UniswapV2升级V3这种非强制性的升级).

多语言客户端:像以太坊一样,多语言的客户端也是去中心化中的必要条件,能保证网络的100%uptime.

这里补充一个小的资料,通过对Arbiturm和Optimism文档的对比,可以体会出它们对去中心化略有不同的态度.

b)可组合性

Rollup的可组合性就是不同Rollup上的智能合约直接互相读写的能力.

对于以太坊上的Rollup来说,其实以太坊作为settlementlayer是Rollup们的共享桥梁.未来Rollup间的可组合性很可能大多是通过L2?L1?L2这样来形成一个调用(比如StarkNet设计的dAMM).

而真正的可组合性却由于Rollup间机制不同,无法互相验证的问题而难以被实现,需要更多探索.

c)功能

对于功能上的拓展,zkRollup更加有潜力.L3的概念让App-specificRollup特别有吸引力,ImmutableX也已经宣布自己会在StarkNet上额外进行协议部署,让其能作为一个L3存在.

L3的吸引力在于:

让应用蜕变为一个协议,开放自己的接口与服务,实现更大的可组合性

L1作为时针,L2作为分针,L3作为秒针.在不影响L1脉搏的情况下进一步提升网络整体性能.

我预想中L3最有趣的功能会是:

隐私L3

纯支付L3

NFT市场L3

游戏引擎L3

DEX与DeFiL3

但L3的挑战是DA到底如何处理.我们可能会采用以下几种不同的模式:

SecuredRollup:依然算Rollup,像L2一样将DA放上L1,但可能涉及到更复杂的退出机制.

Validium/OptimisticChain:放上L2或Celestia等额外DA层,需要额外信任假设.

5.总结

以上就是我们对Rollup所需要的理解.

除此之外,Rollup创造了无数的新话题:L3,模块化区块链,数据可用性方案,账户抽象所带来的UX提升,新的技术栈,新的编程语言,新的开发者,新的审计机构…

Rollup的一切都那么崭新,那么光鲜,但又那么稚嫩…

如何去像Rollup这样,更好地“使用”区块链,是一个值得探索的问题.

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-22:512ms