概述
注:这一比较涵盖了两种广泛使用的 Rollup 机制的一般信息,这两种机制用于扩展(通常基于 EVM)区块链,并比较和对比波卡如何实现可扩展性。
Layer 2 网络通过从 Layer 1 网络卸载大部分计算,被认为是区块链可伸缩性的前进方向,因而受到欢迎。
Layer 2 解决方案利用 Layer 1 网络的安全性和功能构建一个额外的层,通常更快,减少费用并解决其他平台特定问题。在许多情况下,Layer 2 解决方案侧重于有效且具有成本效益地利用特定区块链上的区块空间。
Rollups 是一种 Layer 2 扩展解决方案。在最基本的水平上,Rollup Layer 2 解决方案负责通过批处理它们来“Rollup”交易,然后将它们发布到 Layer 1 链中,通常通过定序器的网络。该机制可以在单个 Rollup 中包含数千笔交易。
波卡在本地级别(即不使用 Layer 2 扩展解决方案)实施此功能,允许中继链和各自的平行链共享安全性和可扩展性。共享安全性是一个类似于基于 EVM 的乐观的(Optimistic)和零知识的(Zero Knowledge)Rollups 的概念。尽管如此,波卡没有作为 Layer 2 实现,而是通过平行链协议保证其每个平行链的本地安全性和可扩展性。波卡将从平行链的数据协调处理为聚合的代表性状态,这有点类似于 Layer 2 Rollup。
Optimistic Rollups
Optimistic Rollups 是一种交互式的 Layer 1 区块链扩展方法。它们假设每个提议的交易默认都是有效的。
为了防止可能的无效交易,Optimistic Rollups 引入了一个挑战期,在此期间参与者可以质疑可疑的 Rollup。采用欺诈证明方案来允许提交多个欺诈证明。这些证明可以使 Rollup 变得有效或无效。在挑战期间,如果没有提出挑战(且需要的证明已经就位),状态更改则可能会被提出争议、解决或包括在内。
虽然 Optimistic Rollups 提供了可扩展性,但它们的方法既有优点又有缺点。
优点
它们不受状态更改类型的限制——任何状态更改都可以包含在内,这意味着现有应用程序不必考虑它。
它们可以并行化以实现可扩展性。
大量数据可以适应单个 Rollup(例如在以太坊中,单个状态转换中可以容纳数万笔交易)。
缺点
交易审查和中心化是令人担忧的问题,其中定序器/Layer 2 节点可能会被攻破。
挑战期可能需要大量时间才能通过,从而增加 Rollup 时间到 Layer 1 网络最终确定的时间。
由于包含其父网络的任何状态更改的通用性质,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)就足以确保有效性。
可以被无需信任地得到证明。
由于证明立即可用,最终确定性也是瞬时的。
总体上,其具有良好的前景,因为它们还未成熟。
缺点
面临其他 Layer 2 解决方案关于 Layer 2 运营方中心化的问题。
计算成本高,ZK 电路难以实现。
拥堵的可能性仍然是一个因素,因为数据量可能仍然是问题。
波卡原生共享安全性
虽然 Rollups 被认为是 Layer 2 协议的解决方案,但波卡通过其平行链协议本身就包括了这一功能。平行链协议是波卡处理网络分片的方式,旨在实现提供安全性、可扩展性和可用性的组合目标。
它使平行链能够验证它们的集体状态并相互通信。平行链与 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)这样的机制中。
没有 Layer 2 意味着对定序器或其他 L 2 运营方产生的中心化问题的风险较小。
缺点
在 Wasm 中执行代码可能成为性能瓶颈,因为它比进行本地调用要慢。
中继链对包含平行链状态转换数据的 PoV(有效性证明)区块的大小和权重设定了硬限制。
尽管存在这些缺点,但波卡仍然可以通过无需分叉的升级进行升级,这使得协议可以轻松升级以保持与未来技术进步的步伐一致。