合并的影响,扩容的潜力

作者:echo_z

原定于今年 6 月的以太坊合并(The Merge)又一次推迟。尽管如此,合并作为以太坊升级进程上的重要里程碑,依然是今年最值得关注的事件之一。

有人可能会将「合并」与「扩容」混淆,但这其实是以太坊升级的两个阶段。「合并」解决的核心问题是将共识机制从 POW 切换到 POS,减少能源消耗,本身并不能带来扩容;而扩容则是解决以太坊可扩展性问题、提升吞吐量的关键。

以太坊的可扩展性不足,历来是其发展的最大掣肘,也给了其他公链充足的竞争窗口期。如果以太坊扩容成功,将会释放巨大潜能,这一全球性基础设施的进化也必然会影响公链格局,甚至孕育新的应用赛道。

那么,以太坊扩容要解决的核心问题有哪些,目前的主流方案是什么,又如何理解即将发生的「合并」、你方唱罢我登场的多种 Layer2 项目呢?链茶馆梳理以太坊升级进程,汇总如下。

本文目录:

1.「合并」的逻辑与影响 1.1 共识机制改变:从 POW 到 POS1.2 合并影响之一:TPS 与手续费基本不变 1.3 合并影响之二:ETH 将会微通缩

2. 以太坊的可扩展性困境

3. 以太坊扩容路线——Rollups+Sharding3.1 链下扩容:各类 Layer2 及 Rollups 的胜出 3.2 链上扩容:Sharding 的原理及意义 3.3 L2 龙头项目一览

4. 小结

5. 注释

1.「合并」的逻辑与影响

1.1 共识机制改变:从 POW 到 POS

以太坊主网当前采取工作量证明(POW)共识机制,矿工们必须首先对一个特定值进行暴力求解,通过消耗的算力证明自己付出了代价,才有资格产出新的区块。POW 会带来大量的能源消耗,历来为人诟病,而 POS 则通过验证者的资产抵押来代替算力消耗,不会消耗过多能源。以太坊路线图中最重要的两个部分,一是从 POW 切换到 POS、避免过多能源消耗,二是上述的扩容路径,而共识机制的改变将会优先落地。

在 2020 年 12 月,作为未来主网的「信标链」已经上线,独立于主网运行。信标链稳定出块,验证者也可质押挖矿、获得信标链增发的区块收益,但还没有承担实际功能。「信标链」也将会是「扩容」路线中的重要组成部分,将在下文详细介绍。

图片
来源:https://beaconscan.com/c

「合并」的目标,是将以太坊主网的「共识」逻辑放在信标链上,而「执行」逻辑仍然在原来的主网运行。要理解这一变化对于以太坊运行而言意味着什么,需要先理解以太坊的出块流程。

以太坊的一个完整出块周期,包含如下步骤:

1)「执行」:矿工在新的交易请求中挑选部分并执行交易,验证交易是否均有效,更新本地的 EVM 副本,产生潜在区块;

2)「工作量证明」:矿工完成本地的执行和验证后,会开始进行工作量证明,以获得出块资格;

3)「共识」:最终会有一名获得出块资格的矿工,将已经执行完的交易广播给全网节点,其他节点会在本地重新验证和执行,确认区块有效性;

4)「多方存储」:完成共识后,所有节点都会更新 EVM 副本状态,保存最新的交易历史 [1]。

在合并之后,上述的「执行」和「多方存储」维持不变,仍在原来的以太坊主网上运行,而矿工则会被信标链上的 ETH 质押者所替代,质押至少 32 个 ETH 即可参与出块和验证。在每个出块周期内(设定为 12 秒),将会由算法选出一个区块生产者,在区块经过生产和广播后,信标链将会分配一组验证者,验证区块并完成共识 [8]。

对比原先的流程,矿工由质押者所替代,矿工的信任成本从消耗算力变成了质押资产。「工作量证明」被取消了,因此减少了~99% 的能源消耗。

由于出块成本大幅下降,因此很多人误认为这会带来 ETH 手续费的下降甚至性能的提升,但这其实是一个误解。接下来,我们将会介绍合并所带来的影响。

1.2 合并影响之一:TPS 与手续费基本不变

可能和很多人的直觉相反,合并后虽然出块成本降低,但是 TPS 和手续费基本保持不变,其核心原因在于区块大小和出块速度基本没有变化。了解 TPS 的逻辑和手续费的定价机制,可以更好地理解这一点。

TPS 即每秒交易笔数,等于每个区块能够容纳的交易笔数➗出块时间。在去年 8 月实施 EIP-1559 后,单个区块的基准空间为 1,500 万 gas(gas 是以太坊上操作消耗的计量单位),当需求增加时,单个区块的空间上限可以达到 3,000 万 gas。

由于合并后的「执行」环节并没有改变,因此单个区块的空间大小也没有改变,仍然遵循原先的 1,500 万基准、3,000 万上限。至于出块速度,目前以太坊主网基本维持在~13 秒出一个区块,合并后将会改变为每 12 秒出一个区块。也就是说,TPS 最多可能会由于出块速度提升~1 秒,带来<10% 的提升。

以太坊的区块大小和出块速度之所以有局限,是为了保证节点可以全量验证、并且即时同步,达到足够的安全和去中心化。TPS 的局限是以太坊的可扩展性问题,并不能通过改变共识机制来解决。

理解了 TPS,手续费的逻辑也就显然了。以太坊的手续费定价机制在去年 EIP-1559 实施后有重大变化,分为两部分:基础费用(Base Fee)和小费(Tips)。基础费用完全按照供需关系来确定,需求即用户提交的交易请求,供给则是以太坊能够提供的计算空间。如果这一个区块所收到的交易请求量大于上一个区块实际处理的请求量,那么下一个区块的基础费用就会最多增加 12.5%。小费则是给矿工的奖励,本质上也是一种吸引矿工的竞价机制,同样由需求决定。

图片
基础费用攀升示例,来源:https://ethereum.org/en/developers/docs/gas/

由于 TPS 没有本质变化,计算空间仍然受限,因此合并也并不能改变供需关系,无法对手续费产生影响。

1.3 合并影响之二:ETH 将会微通缩

ETH 当前同时具有增发和燃烧机制,整体而言呈微通胀;而在合并之后,由于增发率降低,整体将呈 1%~2% 的微通缩。

目前 ETH 的增发机制为:每个区块产生 2 个 ETH 的矿工奖励,根据当前出块速度和流通总量估算,年增发率大约在 4.3%。其燃烧机制为:1.2 小节中所述的「基础费用」均会燃烧,每年约燃烧 290 万枚 ETH。综合估算整体的通胀率在~2%。

合并之后,最大的变化在于区块奖励会大幅降低,约为原先的~90%,假定年燃烧量不变,整体将会达到~2% 的通缩。

图片
POS 和 POW 两种机制下的 ETH 通胀模型,链茶馆制作

2. 以太坊的可扩展性困境

以太坊作为最主流的智能合约平台,以其安全和去中心化的特征著称,然而在可扩展性方面仍然落后:以太坊目前的 TPS(每秒可处理的交易笔数)在 10~15 之间,供给不足、需求旺盛,导致依靠竞价确定的手续费居高不下,每笔交易需要花费数美元~数十美元。

图片
以太坊近一周 TPS,来源:https://ethtps.info/Network/Ethereum

作为对比,BNB 的 TPS 在 40~50 之间,Solana 更是达到了 1,000+,和 Visa 在同一水平。

图片
图片
BNB、Sol 的 TPS,来源:https://bscscan.com/;https://explorer.solana.com/

去中心化(Decentralization)、安全(Security)、可扩展性(Scalability),三者只能择其二,这也被称为区块链不可能三角。以太坊最初的选择是放弃可扩展性,使之符合 Web3 最重要的价值观。

如果以简洁粗暴的方式实现可扩展性,那么就会牺牲安全性或者去中心化。如下图所示:第一种方法是扩大区块容量,但这样会导致验证者的工作量也同样扩大,最终能够承受工作量的验证者就会集中在数据中心,由巨头把控,失去了去中心化特征,这也是为什么以太坊目前的区块容量和出块速度都是有限的,只有这样才能让普通人也可参与验证;第二种方法即拥有更多的山寨币(公链),但这样会由于验证分散、导致安全性也成比例降低。

图片
图片
来源:https://www.youtube.com/watch?v=OJT_fR7wexw

尽管如此,以太坊一直在积极寻找可扩展性的解决方案,并且在 2020 年就确定了以 Rollups(打包)+Sharding(分片)为中心的扩容路线 [2]。

3. 以太坊扩容路线

Rollups+Sharding

根据以太坊官网的现行分类,「扩容」分为链上和链下扩容,其中链上扩容即「分片」(Sharding),是对以太坊主网的变更;链下扩容即 Layer2 及其他各类独立于以太坊主网的方案。

图片
链茶馆制作,依据:https://ethereum.org/en/developers/docs/scaling/#layer-2-scaling

由于链上扩容的 Sharding 是对以太坊主网的变更,将会对所有历史数据进行迁移,因此进程缓慢,官方预期 Sharding 会在 2023 年实现;而链下扩容的多种方案已经落地,其中的 Rollups 是以太坊社区选定的主要路线、也是扩容路线图的短期重点。下文将分别介绍链下和链上扩容。

3.1 链下扩容:各类 Layer2 及 Rollups 的胜出

以太坊官网的分类中,对 Layer2 的定义相对狭隘,仅仅将 Rollups 和 State Channels 这两种通过主网来完成共识的方案称为 Layer2。通常在广义上,所有的链下扩容都可以称为 Layer2。

简单介绍下几类方案:

1)Rollups:在以太坊主网之外(即链下)完成交易的执行,之后将多笔交易打包发布到主网上,由主网完成共识。通过将计算执行放在链下、并打包压缩部分数据返回链上,减少了对主网空间的利用。

需要注意的是,Rollups 打包发布的信息中必须包含:a) 状态根(State Root),代表交易完成后的所有账户余额,也就是交易结果状态;b) 交易信息,即 A 给 B 转账多少的交易指令。通过这两部分信息,主网节点可以对 Rollups 上的交易历史做全量验证,因此 Rollups 的安全性能够得到主网的保证。这一点非常关键,也是 Rollups 区别于 Plasma/Validium、安全性得到认可的原因。

图片
来源:https://vitalik.ca/general/2021/01/05/rollup.html

Rollups 中又分为两类,一类是 Optimistic Rollups,采用欺诈证明(Fraud Proof),即设置挑战机制,允许验证者对有问题的交易进行挑战,受到挑战的交易需要在 L1 主网上重新执行,由于假定所有交易在正常情况下合法,因此称为「乐观 Rollups」;另一类是 ZK Rollups,采用有效性证明(Validity Proof),即所有提交到 L1 主网的交易都需要通过零知识证明。

Optimistic Rollups 的加密技术方案成熟,可以兼容 EVM,也是落地最早的 Rollups,典型项目为 Arbitrum 和 Optimism。ZK Rollups 需要打包上传到 L1 的数据更简洁,因此执行交易更为快速高效,但技术难度较大,并不天然兼容 EVM,对开发者来说迁移成本高

2)State Channels:参与者可以通过多签合约在链下完成多笔交易,将金额累计,以最终的一笔交易记录在主网上。但是这类方案的应用场景非常局限,只有网络参与者能够使用,而且在复杂交易中需要质押非常大量的金额。

3)Sidechains:独立于主网的 EVM 兼容链,通过双向桥可以和主网桥接,但是其共识逻辑、区块参数均与主网无关。由于完全独立,因此安全性无法得到主网的保证,典型项目如 Polygon。

4)Plasma:类似安全级别更低的 Optimistic Rollups。Plasma 本身是一个可以有无穷个子链的区块链,每一个子链都类似一棵树上的树枝,执行部分交易,所有的交易状态最终会汇总成一个 hash 值,发布到 L1 上。但是通过这个 hash 值并不能复原所有的交易历史,因为过程中的交易信息会存储在各个子链、即各个树枝上,而验证节点无法确信子链上的所有区块都有足够的数据有效性证明。一旦有任何一个区块的信息无法确认是否有效,那么整条链上的交易历史都会陷入危机,这也被成为数据可用性问题(The Data Availability Problem)[3]。

图片
来源:http://plasma.io/plasma-deprecated.pdf, P10

Plasma 和 Optimistic Rollups 有两个相似之处,一是都将计算放在了链下,二是都采取欺诈证明。但其中的关键区别在于,Rollups 压缩后上传的数据仍包含了全量交易历史,Plasma 却不包含。

5)Validium:类似安全级别更低的 ZK Rollups,同样采取零知识证明,但是数据并不存储在 L1 上,典型项目如采用了 StarkWare 技术的 Immutable X、DeversiFi。

整体上来看,Rollups 是安全性最高、且应用场景广泛(不像 State Channels 那样只允许网络参与者使用)的链下扩容解决方案。因此,在分片实现之前,Rollups 被认为是最重要的扩容路径。

下图展示了部分主流 Layer2 项目,可以看到,事实上 Rollups 也是最广为采用的技术,其中技术成熟的 Optimistic Rollups 应用场景更广泛,可以面向任何智能合约;而 ZK Rollups 由于在兼容 EVM 方面的局限性,使用场景往往受限。

图片
来源:https://l2beat.com/

值得注意的是,TVL 排名第 5 的 Metis,由于没有将全部交易数据放在链上、而是通过链下的去中心化存储项目 MEMO 来保存,在实现了超低手续费的同时牺牲了数据可用性,因此被排斥为「Optimistic Chain」而非「Optimistic Rollup」。

Metis 的取舍也反映了 Rollups 的一个问题:由于仍然需要在 L1 上发布交易数据,因此其可扩展性受限于以太主网的存储空间。Rollups 所能做的,就是将尽可能少的数据压缩上传至 L1,以此来提升吞吐量。

在这一方面,ZK Rollups 比 Optimisitc Rollups 更具有优势。由于 ZK Rollups 通过零知识证明解决验证问题,所有发布到 L1 的交易数据都已经得到了验证,所以如果有部分交易信息仅仅是用来验证、而非计算最新结果,那么在 ZK Rollups 中这部分信息可以放在链下,但是在 Optimistic Rollups 中则必须放在链上,以便在欺诈证明中查询 [4]。ZK Rollups 比 Optimistic Rollups 更节省链上空间。

下图展示了多个 L2 的手续费对比(假设将 Metis 仍归类为 L2),可以看到,除了主打隐私的 Aztec 和存在争议的 Metis 相对特殊外,ZK 系的 Loopring/ZKSync/Polygon Hermez 手续费均低于 OP 系的 Optimism/Boda/Arbitrum。

图片
来源:https://l2fees.info/

那么,Rollups 到底能在多大程度上提升 TPS 呢?简单来说,假设 Rollups 占用了主网的全部空间,那么理论上限大约能达到主网的 100 倍[5]。以 ZK 作为上限来估算,一笔发送 ETH 的交易大概需要~12 字节,而在主网则需要~110 字节,而 ZK 所需要的证明空间极少,单个 ZK 的打包数据在验证上所需的额外空间只占以太坊区块空间的不到 5%,因此粗略来算 TPS 为主网的 100 倍。目前主网日常 TPS 约 15、理论上限 TPS 约 100,因此 ZK Rollups 的理论上限 TPS 约 10,000。

当然,10,000TPS 是一个非常理想的数字,几乎不可能达到:首先,单个以太区块内只存在单笔打包交易就很难实现,存在多笔则验证所需的空间也会增加;其次,主网不太可能持续维持理论上限,因为在 EIP-1559 实施后,如果对区块空间的需求持续攀升,那么手续费就会不断攀升,直到用户无法承受 [6]。

从 Optimism 的近期转账数据来看,最简单的 ETH 转账大约能提升 5~6 倍 TPS。以下是一笔最简单的 ETH 转账交易,如果发生在以太坊主网需要消耗 21,000gas,通过 OP 则只消耗了主网~3,800gas。

图片
来源:https://optimistic.etherscan.io/tx/10153071

总结而言,Rollups 理论上能将主网 TPS 提升 100 倍,但务实一些估算,Optimistic Rollups 大约能提升数倍,ZK Rollups 应该能提升数十倍。

有没有一种方法,能够在保持安全性和去中心化的同时,扩大以太主网的存储空间,进一步提升 TPS 呢?这就是 Sharding 的意义。

3.2 链上扩容:Sharding 的原理及意义

要继续突破 TPS,就需要扩充主网的存储空间,Sharding 就是实现这一目的的技术方案。

在 Sharding 方案中,主网被称为信标链(Beacon Chain),在主网之上有 64 个分片(Shards)用以产生区块、存储信息。在每个出块周期内(Slot,设定为 12 秒),每个分片内都会随机产生一个提议者(Proposer),产出一个分片块(Shard blob)并广播到主网 [7]。

图片
来源:https://hackmd.io/@vbuterin/sharding_proposal

Sharding 的思想和 Rollups 有些类似,都是通过主网外的数据层来存储数据,释放空间,但是 Sharding 运用了两个技术,使之有别于 Rollups,也实现了这样一个目的:单一节点不需要下载全量数据来验证交易历史

第一个技术是验证委员会的随机选取。对于每个分片块,都会将全量的验证者随机打乱,组成一次性的验证委员会,来对这一个分片块进行验证。这一随机性保证了作恶者难以将其买通的验证者都放入同一个委员会进行验证,除非作恶者掌控了 1/3 以上的验证者。

图片
来源:https://hackmd.io/@vbuterin/sharding_proposal

第二个技术是数据可用性的随机抽取,即每个客户端在验证分片块时,并不需要下载全量数据,而只需要随机抽取分片块的部分,来验证至少 50% 的数据有效性。

图片
来源:https://hackmd.io/@vbuterin/sharding_proposal

通过上述步骤,Sharding 实现了随机抽样的部分节点、对随机抽样的部分数据的验证,而不再像目前一样需要节点对主网的全量数据进行验证,由此实现主网的扩容。

那么,Sharding 能贡献多少扩容呢?按照目前的设计,共有 64 个分片,每个分片在每 12 秒的出块周期内会产出~250KB 的数据块,也即每 12 秒能够承载 16MB 数据、每秒能承载~1.3MB 数据。对比当前 ETH 主网状态,每个区块的目标承载空间为 1,500 万 gas,一笔最简单的 ETH 转账需要~110 字节,消耗 2.1 万 gas,按平均 13 秒出一个区块,可以估算得出当前主网每秒能够承载~77KB 数据。因此,Sharding 大约能带来~17 倍(1.3MB/77KB)的性能提升。

Sharding 还没有明确的时间预期。虽然官方给出的计划是 2023 年,但是鉴于合并仍未按计划落地,2023 年的预期恐怕过于乐观。目前的扩容,需要依靠 L2 实现。

3.3 L2 龙头项目一览

Arbitrum、Optimism、ZKSync、StarkNet 是目前最主流的四个 L2 项目。梳理项目基础信息,可以发现:

1)OP 系更成熟,Arb 占据 TVL 之首,和 ZK 系的 ZKSync、StarkNet 远远拉开差距。ZK 系技术难度高、并不天然兼容 EVM,生态发展较慢。

2)不论是 OP 系还是 ZK 系,背后都有强大的资本力量。在去年 9 月,Arbitrum 的估值就达到了 12 亿美元,今年 5 月 StarkNet 母公司更是以 80 亿美元估值惊艳了 Web3。头部 Crypto 投资机构如 a16z/Paradigm,都同时押注了 OP 系和 ZK 系的项目。Optimism 刚刚发币,虽然初期表现不佳,但是 FDV 仍然有 50 亿美元;除此之外三家都尚未发币,这也是接下来值得期待的一波潜在空投。

图片
主流 L2 项目一览,链茶馆制作

  4. 小结

以太坊的「共识逻辑改变」与「扩容」,构成了以太坊升级的两大主题,本文也从这两部分展开,分别介绍了共识逻辑的变化与影响、多种扩容方案及其落地程度。

以太坊合并(The Merge)的目的,是将共识逻辑从 POW 转变为 POS,从而大大减少能源消耗;但是由于执行逻辑并不改变、没有改变以太坊的计算存储空间,因此对于 TPS 和手续费基本没有影响,而在合并后 ETH 增发率将会大幅下降,造成微通缩。

与此并行的,则是以太坊的扩容(Scaling)进程,旨在提升以太坊的处理性能/TPS,也只有在供给能力提升后,依靠供需关系定价的手续费才能下降。扩容分为链上和链下两类,链上即对于以太坊主网运行逻辑的变更,采用分片(Sharding)方案,在主网上分出 64 个子区块链分区而治,但是距离落地预期仍较远;在这一方案实现前,以太坊社区将链下扩容中的打包(Rollups)方案作为中短期路径,且这一赛道中已产生四大主流 L2 项目,当下单个项目估值在数十亿美元。

有趣的问题是,Rollups 和 Sharding 未来会如何结合?V 神的理想假设是,两者的效用将会叠加:ZK Rollups 理论上能将 TPS 提升~100 倍,Sharding 理论上提升~20 倍,假设 ETH 的 TPS 为 50(实际目前在~15),未来以太坊的 TPS 理论上限为~10 万,远远超过 1,000~4,000 的 Visa。不过这一假设太过理想,几乎不可能实现。

务实的估算结果是,当前 OP Rollups 能将 TPS 提升~5 倍,ZK Rollups 应该能提升数十倍。尽管如此,ZK 对于性能的提升能力依然瞩目,远远强过 OP,但是由于其不天然支持 EVM、使用场景受限,因此生态落后于 OP。如果 ZK 实现了对 EVM 的友好兼容,潜力完全释放,OP 的生态恐怕会受挫。甚至于,届时仅仅通过 ZK 就有可能实现~1,000 的 TPS,Sharding 是否仍然必要也未可知。

以太坊的合并虽然被推迟,但是应该会在 2022 年底前实现 POW 机制的终结。与此同时,L2 项目蓄势待发,多个项目即将发币,可以预见将会吸引一波新的用户和资金。以太坊升级道路漫漫,但最终一定会影响公链格局。

  5. 注释

[1]Mining:

https://ethereum.org/en/developers/docs/consensus-mechanisms/pow/mining/

参考《深度解读 Optimism:基本架构、Gas 机制与挑战 | CatcherVC Research》:

https://mirror.xyz/0x8C4d5E90196325FB22Fff37C97D7984a37e51D11/5Y8BUo8PvJe2xGKExbxmPBaYaInuaYZlFt8_KlW9UpA

[2]A rollup-centric ethereum roadmap:

https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698

[3]The Data Availability Problem: 

[4]An Incomplete Guide to Rollups:

https://vitalik.ca/general/2021/01/05/rollup.html,「How does compression work?」

[5]An Incomplete Guide to Rollups:

https://vitalik.ca/general/2021/01/05/rollup.html,「How much scaling do rollups give you?」文中估算的依据是主网单个区块最大消耗空间为 1,250 万 gas,因此 Rollups TPS 理论上限约 5,000;而在 EIP-1559 实施后,单个区块空间上限提升到了 3,000 万 gas。

[6]Gas and fees: 

https://ethereum.org/en/developers/docs/gas/#top,「Base fee」

[7]An explanation of the sharding + DAS proposal:

https://hackmd.io/@vbuterin/sharding_proposal

[8]Rewards and Penalties on Ethereum 2.0 [Phase 0]: 

https://consensys.net/blog/codefi/rewards-and-penalties-on-ethereum-20-phase-0/,「On Block Minting and Consensus in Ethereum 2.0」

免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。