概述
注:这一比较涵盖了两种广泛使用的Rollup机制的一般信息,这两种机制用于扩展(通常基于EVM)区块链,并比较和对比波卡如何实现可扩展性。
Layer2网络通过从Layer1网络卸载大部分计算,被认为是区块链可伸缩性的前进方向,因而受到欢迎。
Layer2解决方案利用Layer1网络的安全性和功能构建一个额外的层,通常更快,减少费用并解决其他平台特定问题。在许多情况下,Layer2解决方案侧重于有效且具有成本效益地利用特定区块链上的区块空间。
Rollups是一种Layer2扩展解决方案。在最基本的水平上,Rollup Layer2解决方案负责通过批处理它们来“Rollup”交易,然后将它们发布到Layer1链中,通常通过定序器的网络。该机制可以在单个Rollup中包含数千笔交易。
波卡在本地级别(即不使用Layer2扩展解决方案)实施此功能,允许中继链和各自的平行链共享安全性和可扩展性。共享安全性是一个类似于基于EVM的乐观的(Optimistic)和零知识的(Zero Knowledge)Rollups的概念。尽管如此,波卡没有作为Layer2实现,而是通过平行链协议保证其每个平行链的本地安全性和可扩展性。波卡将从平行链的数据协调处理为聚合的代表性状态,这有点类似于Layer2 Rollup。
Optimistic Rollups
Optimistic Rollups是一种交互式的Layer1区块链扩展方法。它们假设每个提议的交易默认都是有效的。
为了防止可能的无效交易,Optimistic Rollups引入了一个挑战期,在此期间参与者可以质疑可疑的Rollup。采用欺诈证明方案来允许提交多个欺诈证明。这些证明可以使Rollup变得有效或无效。在挑战期间,如果没有提出挑战(且需要的证明已经就位),状态更改则可能会被提出争议、解决或包括在内。
虽然Optimistic Rollups提供了可扩展性,但它们的方法既有优点又有缺点。
优点
-
它们不受状态更改类型的限制——任何状态更改都可以包含在内,这意味着现有应用程序不必考虑它。
-
它们可以并行化以实现可扩展性。
-
大量数据可以适应单个Rollup(例如在以太坊中,单个状态转换中可以容纳数万笔交易)。
缺点
-
交易审查和中心化是令人担忧的问题,其中定序器/Layer2节点可能会被攻破。
-
挑战期可能需要大量时间才能通过,从而增加Rollup时间到Layer1网络最终确定的时间。
-
由于包含其父网络的任何状态更改的通用性质,Optimistic Rollups可能会遇到在以太坊上的gas限制或导致的网络拥塞。
-
Optimistic Rollups经常在以太坊生态系统中使用。Optimistic EVM-based Rollups解决方案的示例包括:
Optimisim
Arbitrum
Unipig
Zero-knowledge Rollups
Zero-knowledge Rollups(常称为ZK Rollups)是一种利用零知识证明计算特定状态变化集的有效性的非交互式方法。相对于基于欺诈证明的Optimistic Rollups,ZK Rollups依赖于ZK证明这种形式的加密验证。
由于加密验证处理了确保Rollup是有效的细微差别,因此Zero-knowledge Rollups在最终确定方面显著更快。但是,由于其复杂性和难以实现到资源受限环境中,ZK Rollups通常会受到性能问题的困扰。由于计算开销,图灵完备性也很难实现,因此它们在区块空间方面的泛化能力降低了。然而,它们在解决Optimistic Rollups的一些问题和解决安全可扩展性方面具有良好的前景。
优点
-
只需要少量数据可用性。通常来讲证明(proof)就足以确保有效性。
-
可以被无需信任地得到证明。
-
由于证明立即可用,最终确定性也是瞬时的。
-
总体上,其具有良好的前景,因为它们还未成熟。
缺点
-
面临其他Layer2解决方案关于Layer2运营方中心化的问题。
-
计算成本高,ZK电路难以实现。
-
拥堵的可能性仍然是一个因素,因为数据量可能仍然是问题。
波卡原生共享安全性
虽然Rollups被认为是Layer2协议的解决方案,但波卡通过其平行链协议本身就包括了这一功能。平行链协议是波卡处理网络分片的方式,旨在实现提供安全性、可扩展性和可用性的组合目标。
它使平行链能够验证它们的集体状态并相互通信。平行链与Optimistic和ZK Rollups有相似之处,这反映在波卡处理平行链状态的有效性和可用性的方式上。Collator是波卡体系结构的关键部分,原则上类似于定序器,因为Collator使用有效性证明(PoV)功能传递数据,以确保活性并与中继链进行通信。
每个分片或平行链都配备一个独特的状态转换函数(STF),该函数确保与中继链的通信保持有效。每个STF都是用Wasm编写的Runtime。如果任何状态转换函数编译为WASM并遵守平行链协议,则它是有效的。
每个STF都运行一份有效性证明。与非交互的ZK Rollups不同,该证明(批准协议)是交互的。此外,与ZK Rollups不同的是,创建具有图灵完备逻辑的平行链并不困难。每个平行链也是一个成熟的状态机(通常以区块链的形式)。与Optimistic Rollups类似,平行链协议也有可能发生争议和解决可能有害的Parablock(代表平行链的区块)的情况,在这种情况下,如果发现不良的Parablock,则将削减(Slash)验证者。
优点
-
协议级分片、共享安全和互操作性。
-
每个分片在开发方面具有低门槛,因为任何编译为Wasm的内容都是有效目标。
-
快速确定性(通常在波卡上不到一分钟)。
-
数据可用性内置于验证者和像纠错编码(erasure coding,详情请参见:
-
https://wiki.polkadot.network/docs/learn-parachains-protocol#erasure-codes)这样的机制中。
-
没有Layer2意味着对定序器或其他L2运营方产生的中心化问题的风险较小。
缺点
-
在Wasm中执行代码可能成为性能瓶颈,因为它比进行本地调用要慢。
-
中继链对包含平行链状态转换数据的PoV(有效性证明)区块的大小和权重设定了硬限制。
尽管存在这些缺点,但波卡仍然可以通过无需分叉的升级进行升级,这使得协议可以轻松升级以保持与未来技术进步的步伐一致。