Polkadot 比你想象的更接近 Rollup 模式
在区块链技术中,如何在保持良好安全性的同时实现扩展,仍然是最关键的挑战之一。以太坊,作为最著名的链之一,因其广泛的用户群和处理的海量交易,面临了不少扩展性问题。为了克服这些挑战,rollups 近年来获得了广泛关注,提供了一种能够提升以太坊处理和记录交易方式的解决方案。那么,什么是 rollups?它们如何解决这些问题?最重要的是,它们跟 Polkadot 有什么关系?
1 月 20 日,以太坊社区发了一篇关于原生 Rollup 解决方案的帖子,迅速在社区引起了广泛的讨论!其实,Polkadot 已经有了一个原生的 Rollup 解决方案。在今天的文章中,我们将向大家介绍 Polkadot 已经实现的原生的 Rollup 方案!
Rollups 的简单解释
区块链网络的主要任务是通过共识协议验证链上提交的交易。这些交易包括“真实”的交易,例如从一个账户向另一个账户发送代币,或者通过网络传输数据。由于区块链网络每个区块只能处理有限数量的交易,因此它们在吞吐量上面临限制。此时,Rollups 就发挥了作用。
简单来说,Rollups 在链下执行交易,也就是在类似以太坊或 Solana 等 Layer 1 主网之外的独立环境中执行。Rollups 的工作原理是通过将多个交易“卷起”成一个捆绑包,从而减少对区块链主网的负载。交易在链下处理,区块数据经过压缩并“卷起”成一个更小的形式。然后,这些压缩后的数据被提交回 L1 网络,确保利用其安全协议来保证数据的可用性。最后,这些数据被整合进一个区块中。这种方式提高了网络处理更多交易的能力。
那么,这和 Polkadot 有什么关系呢?
在 Polkadot 上构建的简单解释
Polkadot 中的特定用例链历史上被称为平行链。这个术语仍在使用,尽管随着 Agile Coretime 的出现,它正在逐渐被淘汰,但所有在 Polkadot 上构建的项目都有机会通过 Agile Coretime 确保获取一定数量的优质区块空间,以满足其特定的需求。为了方便参考,本文将继续使用该术语。
平行链独立验证交易并生成区块。每个平行链根据自身的业务逻辑进行操作,决定向最终用户或其他链提供的功能。虽然平行链负责执行和验证交易,但最终的共识由 Polkadot 的中继链提供。当平行链区块经过验证并由中继链验证节点确认后,它们会被包含在中继链中,并供其他平行链使用。
与乐观和零知识(ZK)Rollups 的比较
首先,先来解释一下乐观 Rollups 和 ZK Rollups 是如何工作的。然后,我会深入讨论平行链,并将它们的区块执行方式与其他 Rollups 进行比较。
乐观 Rollups
顾名思义,乐观 Rollups 基于一个乐观的假设:所有交易默认都是有效的。有些人可能会觉得这种方式有些天真。
乐观 Rollups 并不是实时验证每一笔交易,而是批准所有交易,并将它们的捆绑数据发送到 L1 主网。与 ZK Rollups 不同,ZK Rollups 在执行前会验证每一笔交易,乐观 Rollups 则依赖于欺诈证明(fraud proofs)。
如果发现某笔交易是欺诈性的,系统会回滚到交易处理之前的状态,并对不法行为进行惩罚。提交交易或欺诈证明到主网时,双方都必须质押一个保证金。如果发生争议,交易会在主链上重新执行以解决问题。为了确保争议解决的准确性,Rollups 需要实现一个能够重放交易的系统。如果交易或欺诈证明被判定为欺诈,恶意参与者将被“削减”质押的保证金,惩罚他们并阻止未来的恶行。
由于涉及到较高的成本,进入争议的情况很少发生。而且,由于需要有足够的时间来处理潜在的争议,这些交易的最终确认通常发生在提交后 7 到 14 天。
ZK Rollups
ZK Rollups 在信任问题上更为严格。在这个系统中,交易首先需要经过验证,只有通过验证的交易才会被捆绑在一起,并分配一个加密证明,称为零知识证明(ZK 证明)。然后,这个证明会被提交到 L1,并由智能合约验证。这种方法确保了只有有效的交易才会上链,从而保持了流程的高效性和安全性。如果任何无效的交易批次漏网,它们会立即被削减,确保网络的完整性。然而,由于采用了高级加密技术、专门的硬件需求以及潜在的中心化风险,ZK Rollups 的实现比乐观 Rollups 更加昂贵且复杂。它们还面临着跨不同 L1 协议的互操作性挑战,进一步增加了广泛采用的难度。
平行链(即“悲观 Rollups”)
平行链本质上是 Polkadot 的“版本” Rollups。与 ZK Rollups 类似,它们会在提交到 L0 主网之前验证交易。然而,为了确保区块有效,平行链设置了多个步骤来进行验证。平行链被认为是一种“悲观”的 Rollup 类型,因为它们假设参与者可能并不总是诚实的,因此需要多个验证和检查层级来强制执行规则。
平行链由一组独立的节点 —— 称为 collators(收集者)—— 来操作,这些收集者负责收集用户的交易、执行它们并提出新的区块。收集者需要在平行链中收集和处理交易,并将这些区块提议给平行链的支持者。
你可能会想:“天呐,好多术语!
(来源:比推)