随着 ETH2.0 的日益接近,Layer2 毫无疑问成为了最受关注的赛道
作者:Claire Tang、Shu Quan ,Ti Capital 研究员
封面:Photo by Pan Yunbo on Unsplash
目录
- 模块化与区块链扩容
- 区块链的扩容需求
- 扩容的演进-为什么走向模块化?
- Rollup 的原理
- Rollup 如何运行?
- Rollup 费用模型
- Rollup 赛道竞争格局
- 竞争格局分析
- Optimistic Rollup vs zk Rollup
- Layer 2 的展望
- Layer2目前面临一些问题
- 对 Layer 2 的一些思考
模块化与区块链扩容
区块链的扩容需求
区块链扩容就是追求更高的可扩展性,可扩展性的定义是在不增加验证成本的情况下处理更多交易的能力。扩容经历了从单片链到模块化链的一系列尝试,重心也从追求可组合性转变到模块化。
让我们来回顾一下区块链的构成。区块链中的区块由两部分组成:区块头和交易数据。我们平时所说的矿工挖矿就是区块中的矿工(或者节点)通过下载整个区块的数据,进行复杂计算,以确保交易有效。一个区块链包括四个模块,分别是执行、结算、共识、数据可用性(后来提出)。如上图所示,单片链是四个模块同时在主链上运行,Rollup 则是将执行层与主链解构。单片链依赖单个强大的节点,例如 Solana 的超级节点,虽然处理速度很快,但是因为太依赖单一节点,很容易宕机。展望未来,只存在几个单片链一定是无法实现区块链的扩容愿景的。
扩容的演进-为什么走向模块化?
区块链可扩展性的问题,即区块链拥有更多吞吐量的同时保持较低验证成本的能力。增加吞吐量有两种方法:第一是增加区块大小,例如,单片链(Monolithic)包括 Ethereum、Solana、BSC、Avalanche 等,是通过扩大区块来增加吞吐量,但这样不可避免地来带了中心化的问题,第二是缩短出块时间,但都不太现实。通过模块化可以将区块链分成不同的模块,各个模块各司其职,以便更好地进行资源定价,并且也避免了区块过大过于中心化的问题。
在这个背景下,我们今天的主角 Rollup 应运而生,Rollup 主要是就是将执行层从主链中解构,将执行层放在链下,Rollup 在主链上发布交易数据,这些数据在被发布到主链前被压缩并作为 call data 发布,由此主链上的矿工可以执行并从头构建 Rollup 状态。有了新状态后,矿工通过欺诈证明或者有效性证明对数据进行验证。
Rollup 的提出为区块链扩容和模块化引入了一个很好的思路,不过虽然数据被很好地压缩上链,但是仍然需要将所有数据都发布到 L1。而以太坊目前在尝试的分片和一些专用 DA 层(例如:Celestia)允许每个节点只需下载部分数据就可以重建所有链的区块。
目前来看,以太坊还是当之无愧的公链之王,新公链的出现也无法撼动以太坊的地位。而且以太坊的分片 Danksharding 为数据 Blobs 提供区块空间,以支持更高交易量的 L2 扩容方案。由于以太坊 2.0 中的分片技术还未落地,模块化 DA 层方案也还在酝酿当中,Rollup 成为当下以太坊扩容的必经之路。虽然 Rollup 已经吸引了大量的关注,但是很多项目都还在开发阶段。本文将通过分析 Rollup 赛道的几个重点项目,抽丝剥茧地分析 Rollup 的优劣,目前的竞争格局,以及未来可能的扩容方向。
Rollup 的原理
Rollup 如何运行?
Rollup 其实就是一个链上智能合约加上链下节点(区块生产者),通常交互过程如下:
- 用户将智能合约的部署交易发送到链下节点
- 节点在本地部署创建新的智能合约交易
- 节点计算出新的状态根(merkle 根)
- 该状态根被被提交至以太坊
- 通过欺诈证明或者零知识证明来验证该状态根
以下是一个简易的 Layer 2 模型,除了第一层交易(支付和存入),所有交易都在第二层执行,交易数据压缩后形成 call data,并同步回传到第一层,这个过程称之为使数据可用。我们平时说的四种不同的扩容方案就是针对这个状态同步时的验证方式。
Rollup 中最常出现以下三种角色:
- Sequencer:定序器。Rollup 系统中最重要的角色,是一个对 Layer 2 进行排序的全节点,可以直接对 Layer2 进行打包出块。Sequencer 负责在链下存储和执行,也是 L2 上的区块生产者(就是前文所说的节点),它们从用户处收到交易,将它们排序并形成批次,并将交易的状态根分批传到 L1 上,以提供数据可用性。
- Prover(仅针对 zk Rollup):这一部分节点的运行环境要求较高,要在特定硬件中,负责计算所有交易,并将它们聚合到一个 zk proof 中。
- Verifier:对 Sequencer 或者 Prover 提交的数据进行验证,在 OPR 中进行欺诈验证(一周内传回),在 ZKR 中进行数有效性验证(通常在几秒内)。
欺诈证明即假定不作恶,如果有人发现一个批次的状态根不正确,验证者可以将证明发布到链上证明该批次的计算不正确并获得奖励,OPR 上的 VM 可以说是 L2 对于 L1 的适配器,确保 L2 上的任何计算都可以 L1 上得到验证,这也是为什么与以太坊 EVM 兼容如此重要。
有效性证明通过零知识证明,对每个批次的状态根进行验证确认无误,再将数据传回主链。就是每一次排序交易处理都进行一次验证,然后传回主链的交易都有一个证明,但也造成了交易速度变慢的问题。
Rollup 费用模型
在了解了 Rollup 的运行机制后,我们有必要看看它的通用计费模型,以及如何对其进行资源定价。Layer2 上的费用主要包含在 L1 上发布 call data 的费用以及 L2 运行 Sequencer 的费用。而这两部分费用又可以被拆解成为固定成本和可变成本。具体的费用模型如下:
固定成本(L1):
- 验证成本(仅在 zk rollups 的情况下)=gas 范围,通常基于 rollup 提供者
- 状态写入成本=20,000 gas
- 以太坊基础交易成本=21,000 gas
可变成本:
- 每笔交易以 gas 的形式将 call data 发布到以太坊
- 在以太坊上发布 call data 所需的 gas 费是非 0 字节固定 16 gas,0 字节固定 4 gas
- L2 gas fee=通常相当便宜
因此,在 Layer2 上的总成本=固定成本+(交易规模*call data 所需 gas),可以看到,这个公式中唯一的变量就是交易规模。
根据以上费用模型,理论上来说,交易规模(batch size)越大,用户的 per transaction 费用越低。交易越多,成本将呈曲线型递减,这是 Rollup 天然的优势,用户越多越便宜。并且 Rollup 的交易地板价依赖于 ETH 主网 calldata 费用,由于 EIP 4488 可以将 calldata 以 “blob” 的形式发布,将非 0 字节数据的 gas 由 16gas 降至 3gas,较大程度降低 Rollup 主网的交易成本,0 字节也能适当降低。
那为什么前段时间的奥德赛活动暂停,用户的 per transaction cost 会比以太坊还高?理论上来讲,L2 在拥塞情况下都会有 gas 飙升的情况,主网测试期间,为了让流量保持适度水平,Arbitrum 有容量节流措施,当流量达到阈值时,L2 gas fee 会自动增幅,像以太坊一样。
具体来说,Arbitrum 之前使用的虚拟机 AVM 能承载的网络容量不够,大量用户涌入使得 computational gas 拉升最高超过 1000 倍,占用过多带宽,在节点数量不变的情况下,整个网络处理交易能力大幅下降,导致 gas 费飙升。基于 WASM 技术的 Nitro 就是来解决带宽这个问题。Nitro 是基于 WASM 技术构建并将 Geth 核心编译到 Arbitrum 中,还提供了新的批处理和压缩系统,因此与 EVM 更加兼容且预计比当前执行速度快 20 至 50 倍。同时,这个事件也和 GMX 有很大关联,GMX 上调了最小交易费用,使得整个网络的平均 gas fee 飙升。GMX 作为 Arbitrum 上锁仓量最大的项目,还被选入活动任务,可以看出 GMX 对于 Arbitrum 网络的影响力和议价能力非常大,而这也是一种网络过度集中的体现。
Rollup 赛道竞争格局
竞争格局分析
Optimism & Arbitrum
Optimism 和 Arbitrum 都使用 Optimistic Rollup,他们在架构上基本相同,通过 sequencer 对交易进行执行,并分批次将交易数据和状态根提交到以太坊主网。Optimism 和 Arbitrum 的主要区别在于欺诈证明方式的差异,以及对于 MEV 处理的不同。
a. 欺诈证明方式
OP 使用的是单轮交互型欺诈证明,如果某个 Rollup 区块的交易数据存在争议,则需要发起一轮争议挑战并质押保证金,然后 Rollup 协议在 Layer1 链上对所有 Rollup 区块里的交易重新进行一遍计算来验证,这样欺诈证明是单次的、及时的,但也占用了更多区块空间,因此链上 L1 执行需要更多 gas。
而 Arbitrum 使用多轮交互型欺诈证明**,**即通过二分法把这个争议每次分成两半等待挑战者来挑战其中一个,持续进行到只对单个步骤存在争议,L1 的仲裁员这时候通过查看指令实际执行的操作来解决争议。好处的话,可以以更低成本解决大于一个交易的争议。相比 OP 重演一遍有错误的交易所占用的区块空间,Arbitrum 在 L1 的成本部分会相应减少。
b. MEV 处理方式
同时,两者在矿工可提取价值(MEV)上的处理方法有差异。Rollup 上的 MEV 和 Layer1类似,因为 Sequencer 也是具有出块权的节点。Optimism 使用 MEV 拍卖(MEVA),认为排序权是有价值的商品,所以通过拍卖来获得重新排序的能力,这个就跟矿工通过链上打包出块并确保网络安全一样,Optimism 将 MEV 获得的收入用于资助生态内的公共产品。Arbitrum 则使用 Fair Sequencing Service (FSS),致力于将系统内的 MEV 降到最低。主要是通过 Chainlink 语言将用户被加密的交易进行网络排序,并使用 Aequitas 协议执行先进先出(FIFO)排序策略,防止交易顺序被操纵。
MEV 对于用户来说就是征收了无形的税收,让套利者操纵订单,人为抬高执行价格,获取利益。而把 MEV 收入用于公共事务也无法解决不良 MEV 背后的有害于经济的动机,尤其是恶意 MEV 的发生。如果一个大户在 Uniswap 上面提交了一笔大额转账,矿工可以通过机器人抢跑交易获得远高于交易费的收入。这将意味着,我们网络中每个订单都会向拍卖赢家开放,而且零风险,包括抢跑交易、反向交易、三明治交易策略等。而且,拍卖赢家还可以通过停止/延迟交易以惩罚那些他们没有获利的交易,因此,如果你设定严格的 Uniswap 交易滑点,那拍卖者可能会无限期扣留你的交易。交易排序如此重要,并且是个一直困扰着以太坊的问题,MEVA 不会是解决方法。
c. 生态发展/锁仓量
目前 Optimistic rollup 的锁仓量大概占整个 Layer2 的 80%,而且生态部署比 ZK Rollup 更加成熟。虽然官方列举了很多项目,但是真正有用户基础和交互的其实不多。Optimism 上面最大的项目包括 Synthetix、Uniswap、Perpetual,Arbitrum 上则是 GMX、Curve、Uniswap,这些都已经占据了锁仓量的近 50%,虽然项目方说生态内项目超过 200 个,但排除以太坊上的那些蓝筹,其他都是很小的项目。这是 Layer2 面临的问题,没有原生优质项目,项目全靠以太坊嫁接,自己生态里面项目又不行,没有用户,没有锁仓就没有意义。
如果仅比较 Optimism 和 Arbiturm,在生态繁荣度上可以看出,Arbitrum 略胜一筹,也部署了更多 DeFi 蓝筹项目。这与 Arbitrum 上线后的先发优势和开放程度有关。这两个都项目都是在 2021 年 9 月 L2 爆发后锁仓量有了爆发性增长,Arbitrum 之前手续费低,加之最先实现 EVM 完全兼容,因此具备先发优势,并与项目积极合作,生态上吸引了更多项目率先部署,刚上线就有众多明星项目支持,如 Uniswap、Balancer、Curve 等,而 OP 增长放缓,当时只有 Synthetix 深度参与。
zkSync
ZkSync 使用 SNARK 技术构建,相比 STATK 优势是空间占用更小,技术相对成熟。好处是,很多功能已经上线可以使用。ZK Sync 对 EVM 比较友好,可以做到字节码兼容。ZkSync 生态方面没有部署什么大项目,目前锁仓大部分是通过 Zigzag 这个项目。官方宣传的 Curve、1inch,Yearn 等头部 DeFi 项目也都没有上线,生态发展比较停滞。随着 zkPorter 的加入,zkSync 2.0 最先开启 Volition 模式,不过目前 Starknet 最新版本也上线了 Volition 模式。
Starkware
a. 技术
Starkware 使用自己发明的 STARK 技术,比起 ZK Sync 使用的 SNARK 技术,STARK 证明生成地更快,但验证证明时间慢,且更难兼容 EVM。Starkware 的蓝图是希望开发自己的生态,不追求 EVM 兼容。目前 StarkEx 上 95% 的锁仓量都在 dYdX 上,而不确定性是 dYdX 刚刚宣布使用 Cosmos SDK 扩展其应用链,这将为 StarkEx 带来巨大的不良影响。dYdX 希望能成为最大的链上衍生品交易所,在其 V4 中非常强调去中心化,而我们知道 Layer2 目前都是非常中心化的。Cosmos 可以允许各个协议进行模块化定制各自的链,并且 dYdX 对可组合性要求没有那么高,因此迁移成本没有那么大,而且 dYdX 代币也许会因为成为 L1 获得更多的价值捕获。而 UniSwap 这种项目则不会离开以太坊,另辟公链,因为它们对可组合性的要求很高。
况且,据说 dYdX 没有写过一行 Cairo 的代码,都是 Starkware 团队帮他们写的,由于和 dYdX 合作的时候 Cairo 还没有开发出来,而且 Starkware 满足不了 dYdX 要求的 TPS。所以现在他们选择 Cosmos 也可以看出,未来开发者更喜欢开放的生态,像 Cosmos 和以太坊就是很好的例子。Starkware 的生态其实是比较闭塞的,说的好听点就是类似 IOS 和安卓的对比,有点像波卡,都是在自己的生态里面坚守,但是现在波卡生态表现也很一般。
b. 生态发展
StarkEx 上 dYdX 出走后带走了 95% 的锁仓量,StarkNet 今年 2 月主网刚上线,目前 TVL 只有 56 万美元。生态发展非常一般,还没有头部项目,不过 Aave,Maker 等头部项目都计划支持 StarkNet。由于 Starkware 想跳出以太坊的生态不搞 EVM 等效,而 Cairo 语言由于原生的一些优势也许可以实现一些以太坊不能实现的事情,比如支持更高计算力的游戏、聚合跨链流动性(dAMM)等。
Optimistic vs zk rollup
目前 OP 性能优于 ZK 是毋庸置疑的,以下表格将通过多个维度进行阐述:
Layer 2 的展望
Layer2目前面临一些问题
a、中心化
众所周知,Sequencer 作为二层的区块打包者,是官方运行的,且不接受新的 sequence,官方拥有打包区块和压缩数据的权利,因此非常中心化。虽然 Starkware 在进行社区提案,可以允许更多的节点加入 Sequence,但是目前情况就是不够去中心化。加之 Arbitrum 之前的宕机,以及这次奥德赛活动的暂停都验证了这一点。那么未来 Layer2 的安全性要怎么保障?可能只能靠社区发起提案,允许更多节点加入 sequence,而不是只由官方来运营。
b、无法快速获得最终性
虽然在所有官方文献中都提到 Layer2 的优势在于其更高的效率和 TPS,比 Layer1 要快 100 倍,但是根据各大 Layer2 的官方数据,目前 Layer2 的真实 TPS 其实比以太坊主链还低几十倍。这是为什么呢?主要是由于 Layer2 上交易本来就分为两部分,L2 上的交易加数据发布 L1,加上 L1 上的验证。Layer 2 官方所宣传的 TPS 其实只涵盖了第一部分。也就是说,用户在 L2 上提交交易后,马上获得的交易成功或者失败的反馈,仅仅只是 L2 上的一个确认,而这不代表这笔交易已经完成,因为它还没有获得 L1 的最终性。
c、生态和用户需求
目前大的项目对 Layer 2 几乎没有需求,例如借贷和 dex,UniSwap、Aave 这种项目在 L2 上只有几千万的锁仓量,基本可以忽略不计。因为现货交易和借贷的用户并不会在意他们的交易在几秒钟或是几分钟之内完成,所以在以太坊上交易还是在 L2 上交易对他们的影响并不大。然而,比如合约和游戏对于速度的要求就会非常高,所以他们如果能够得到一个快速反馈,会对他们的体验感有非常大的提升,而这也是 Rollup 的优势。所以,对于 L2 需求比较大的目前可能只有衍生品和游戏了,因为这两个赛道更加注重快速交割,例如 dYdX 和 IMX。
4.2 对 Layer 2 的一些思考
Layer 2 目前的定位其实有点尴尬,排名第一的 Arbitrum 锁仓量勉强排进前十,甚至比一些早已不温不火的新公链还要低。未来要怎么去吸引更多的用户是每个 Layer2 项目方都需要去思考的问题,我们到底需不需要 Layer2,他在性能上是否真比其他公链有优势?目前大家对他最大的期待其实就是可以为以太坊扩容,因为它是在共享以太坊安全性的同时,可以兼容 EVM,也就是为以太坊生态的开发者和用户提供相同的开发环境和使用体验,共享以太坊强大的用户和开发者社区,因此,是目前呼声最大的扩容方案。但是未来要怎么吸引新用户和新资金入场呢?
由于目前 Layer2 真的不是很火,生态和锁仓量都很一般,用户还是偏向使用 Layer1 而不是 Layer2。我认为未来的增长点一方面是建立在大型项目的迁移,例如 Uni、Aave 这些将重心放在 Layer2 上。像 dYdX、IMX 这种对速度和交互有所要求的会更有可能,因为它们要么选择 Layer2,要么选择新公链。不过 dYdX 已经出走,因此,IMX 作为一条游戏公链也许比其他公链更有希望。又或者生态内出现现象级项目,转化存量用户的同时,吸引新资金进场,就像今年年初的 Stepn;还有可能未来在某一时点,使用 Layer2真的能够实现大规模降费,或者能够实现更快的最终确定性。
其实市场的爆发都需要新的叙事,向 2021 年新公链的爆发是因为以太坊没办法扩容,Layer2 的技术又还不成熟,加之外部宏观环境的放水导致新进资金比较多,因此导致爆发。2020 年的 DeFi 也是如此,在技术发展到一定时期,应用逐渐落地,加上使用场景和用户的进入,以及较好的宏观环境。目前,我们到了一个比较尴尬的地步,好像故事都讲的差不多了,于是把目光放到了 Layer2 上面,其实也是旧瓶装新酒,把老概念拿出来炒作。但是如果这个赛道没有耀眼的技术进步,也没有更大的性能提升,凭什么用户要买单呢?未来如果 Layer2 要发展,要壮大,一定需要在性能和生态发展上更上一层楼。而且现在市面上也有 Cosmos 这种模块化的公链,还有以太坊的分片、作为 DA 层的 Celestia,势必分流 rollup。虽然包括 V 神在内的一众加密领袖认为,未来的区块链是以基于 rollup 的以太坊为核心的,虽然 V 神一直很看好 Rollup,但是不代表市场一定会买单。也许未来就是由超级应用驱动的多链生态呢?或者未来是由模块化 DA 层和以太坊结算层作为主导呢?是否我们都对 Layer2 的叙事产生了不切实际的期待?
写在最后
公链技术的发展从只有以太坊一条链,发展到多链世界,到模块化区块链,扩容方案层出不穷,一直都在进步。在技术的发展下,用户、开发者、公链是相互依存的关系。如何增加用户粘性,能够像依赖以太坊那样是 Layer 2 项目方需要思考的,而且开发的友好、生态和社区的建立的重要性也是毋庸置疑。Rollup 可以说是区块链扩容奠定了很好的基础,但目前情况来看一定不是终局。主要是因为 Rollup 的中心化、过度吹捧的性能,以及略显潦草的生态发展。不过以太坊在开发的分片和 Celestia 的专属 DA 层或许会是未来能够使 Rollup 继续发挥模块化区块链优势的方向,“rollups on rollups” 或将成为未来趋势。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。