以太坊 Layer2:Rollup 战争

短期内,Optimistic rollups 很可能在通用的 EVM 计算中胜出,而 ZK rollups 则可能在简单的支付、交易和其他特定应用场景中胜出,主要原因还是 Zk rollup 虽然比 Optimistic rollup 更快、更高效,但并没有为现有的智能合约提供一个简单的方式来迁移到

什么是 Layer2 Rollup

image.png

Layer2 是被设计为解决以太坊扩展性问题的关键方案之一,通过在以太坊主链之上构建额外的网络层,允许处理更多交易的同时保持主链的安全性和去中心化特性。

Rollup 是一种通过在链下处理交易然后将交易数据“打包”进入主链的 Layer2 扩容方案,其安全性由 Layer1 保证,是目前最主流的 Layer2 扩容方案,相比于其他的链下交易方案,例如状态通道、侧链、Plasma 等,Rollup有三个特点:

  1. Layer2 是与 Layer1 相对独立的平台,所有参与用户也是独立的 Layer2 账户,用户可以在 Layer2 平台上与其他 Layer2 用户进行交易,但是 Layer1 账户 与 Layer2 账户之间的交互需要通过 Layer2 运营方部署在 Layer1 及 Layer2 上的智能合约,最常见的交互就是 ETH 等代币的转移;
  2. 所有的交易信息都需要被完整的记录在主链上,即 Calldata 或 Blob 数据(EIP-4844),即使 Layer2 状态丢失,任何人都可以从主链上存储的信息中恢复出丢失的状态;解决了在以往的链下交易方案中存在的数据可用性问题,关于数据可用性,可以参考我之前的一篇文章:《数据可用性:谁动了以太坊的奶酪?》;
  3. 交易执行和状态变更在 Layer2 平台,但是状态摘要会被发布到 Layer1 链上,因此 Layer1 链能够通过某种数据有效性验证方式进行验证,通过验证后 Layer2 的状态将在 Layer1 主链上锁定;根据其数据有效性验证方式的不同,Rollups 可以进一步细分为 Optimistic Rollups 和 ZK Rollups。

image.png

从侧链到 Plasma 再到 Rollup

image.png

侧链是最早的 Layer2 方案之一,顾名思义,侧链是与主链(Layer1)挂钩(peg)的独立区块链,有自己的共识模型和区块参数。当我们将一个区块链挂钩到另一个区块链时,这意味着我们可以在两个区块链之间移动资产。当想要更快交易时,可以将资产从主链转移到侧链并在侧链上进行交易,完成后,再将资产转移回主链。

Plasma 是 2017 年由闪电网络的提出者之一的 Joseph Poon 和以太坊创始人 Vitalik Buterin 提出的一个 Layer2 扩展解决方案,是侧链的演变方案。

Plasma链是在以太坊外构建的独立区块链,也称为子链,就像一棵树的树枝,以太坊是主干,也称为根链。每个子链可以在以太坊上部署自定义的智能合约,可用于处理不同的业务。Plasma 链之上可以再构建一层子链,从而形成树状的Plasma网络。Plasma 的工作原理是将大的计算任务拆分成小任务,并将它们分配给各个子链进行处理,处理后的结果结果逐层汇总并提交至上层,从而实现了对大量复杂计算的快速和低成本处理。

Plasma 需要提交 Plasma 链上发生的交易的 Merkle 根,当用户试图将他们的资产从 Plasma 链移回根链时,用户可以提交将资产发送给 Plasma 的最新交易的 Merkle 分支。这开始了一个挑战期,任何人都可以尝试证明用户的 Merkle 分支是欺诈性的。如果 Merkle 分支存在欺诈,则可以提交欺诈证明。由于根区块链仅跟踪 Merkle 根,因此与那些发生在主链上的交易相比,它必须处理的数据要少得多,提升了根链的扩展性。

Plasma 是一种无监管的以太坊侧链技术,无监管是指即使 Plasma 链受到恶意攻击或者验证者串谋起来作恶,Plasma 链上的资产也可以安全退回根链。这也是 Plasma 与需要依靠自己的安全模型来保护用户的资产的侧链最大的不同。Plasma 的代表方案是 Polygon 1.0(Matic)。

Plasma 有三个致命的缺点:

  1. Plasma 链需要一个运营商将 Merkle 根承诺发布到根链,运营商可以执行「数据可用性攻击」,即拒绝将某些交易发布到链上。在这种情况下,由于缺乏构建欺诈证明的交易,阻止了用户资产退出;
  2. 当用户试图从 Plasma 链中退出资产时,他们必须提交退出交易请求,然后等待一段时间,即所谓的挑战期。在挑战期的任何时候,任何用户都可以通过提供退出无效的证明来挑战另一个用户的退出;
  3. 用户必须监控和验证 Plasma 链上的所有交易,以检测恶意节点的行为并及时退出,然而交易验证成本高昂,并且这种监控需求为参与 Plasma 链增加了大量开销。

正因为 Plasma 存在的缺点,从2019年开始 Plasma 陷入了发展瓶颈,此时在 ConsenSys  担任 Layer2 可扩展性研究员的 John Adler 提出了 Optimistic Rollup 方案,由于仍然采用欺诈证明,主要解决了 Plasma 的数据可用性问题。

另一边,Vitalik Buterin 2018 年就提出了利用 zk-SNARKs 实现扩展,开创性引入了零知识证明技术证明区块状态变化的有效性,这也是 ZK Rollup 的雏形。

zk-SNARKs 绕不开的一个点就是中心化的 Trust Setup,也称之为CRS(the Common Reference String)。2019年由 Aztec 研究团队提出 Plonk 算法则解决了 zk-SNARKs 通用性问题,即可信设置与应用无关,仅需要一次可信设置可以满足所有应用,而且 Trust Setup 可以任意更新,只要有一个可信参与者,即可保证可信设置的安全性,可以说 Plonk 算法的提出大大加速了 ZK Rollup 的发展。

Layer2 Rollup 赛道

纵览 Rollup 赛道,当下的竞争非常激烈,目前已经上线主网的 Layer2 Rollup 中,仍然是 Optimistic rollups  占据大部分 TVL,主要原因是 Optimistic rollups 是最先落地的完全 Rollup 方案,但是随着 ZK Rollup 技术的成熟,越来越多的人开始关注并参与到 ZK Rollup 生态中。

Optimistic rollups

image.png

Optimistic Rollups 依赖于一种“乐观”假设,即大部分交易都是有效的,并允许在发现欺诈行为时进行挑战和回滚。Rollup 的 Layer1 合约不直接对 Layer2 提交的新状态进行验证,而是为每个被提交的新状态准备一个挑战期。由于 Rollup 会将所有的交易信息提交到主链并公开,因此任何人都可以对该状态更新进行验证(特别是当该状态更新涉及到自己的钱包时)。如果新状态是错误的,那么验证者可以针对该错误状态产生一份欺诈证明,并在挑战期内提交,从而使该错误的状态更新被无效化。

Optimistic Rollups 代表方案是 Arbitrum 和 Optimism。

Arbitrum 2021年9月正式启动主网,是目前TVL 最高的 Layer2 协议。

目前,在 Arbitrum 生态系统中主要有 3 条网络,包括 Arbitrum One、Arbitrum Nova、Arbitrum Orbit。

  1. Arbitrum One 是当前 Arbitrum 生态的核心 Rollup 链,其所有交易数据存放在主网以太坊上,我们平常提到的 L2、链上生态应用多运行在该主网上。
  2. Arbitrum Nova 是基于 AnyTrust 技术搭建的、专为游戏、社交应用程序和高吞吐量的 DApp 用例而设计的新网络。该网络的交易数据存储在链下,由数据委员会管 DAC 管理。
  3. Arbitrum Orbit 是用来构建 Layer 3 网络的开源工具包,支持开发者部署和创建自己的链。开发者可以基于 Orbit 工具包搭建自己的 Rollup 和 AnyTrust 链(Layer 3),选择由 Arbitrum One 或 Arbitrum Nova 其中一条链作为结算层,来实现扩展。

Optimism 2021年8月上线主网,目前拥有 Layer2 第二大 TVL,上仅次于 Arbitrum。

Optimism 实现了 EVM 等效性,以太坊上的 Solidity 智能合约可以在 Optimism 的 Layer2 上运行,且不需要构建额外的功能,开发者可以无缝转接到 Optimism 上开发应用。

OP Stack 是 Optimism 推出的开源模块化工具包,涵盖数据可用性层、执行层、结算层、治理层等。开发者可以根据自己的需求场景利用 OP Stack 工具包组装一个定制的 Layer2 网络。正因如此,OP Stack 为 Optimism 引入了超级链的概念,超级链是指构建在 OP Stack 上的一组 Layer2 区块链(也称 OP 链)统称。目前,基于 OP Stack 构建的 Layer 网络已有数十条,包含 Base,opBNB,Magi 等重量级项目。

ZK Rollups

image.png

ZK Rollups 则使用零知识证明技术来确保链外处理的交易是有效且正确的,提供更高的安全性和效率。Rollup 的 Layer2 平台在状态变更后,要为状态变更的正确性提供一份零知识证明,并随着状态变更一同提交到主链上。主链上的合约会对该证明进行验证以确定状态更新的正确性。相比于Optimistic Rollup方案,ZK rollup 不需要设置漫长的挑战期来最终确定 Layer2 交易,同时也不需要依赖错误的状态更新会在挑战期内被发现的假设。

代表方案是 zkSync, StarkNet,Polygon zkEVM 和 Scroll。

ZK Rollups 是第一个主网上线的 zkEVM 项目,以零知识证明为基础,允许交易在不透露基础数据的情况下被验证。zkSync的主要特点之一是使用 "乐观" 转账,允许用户发送和接收交易,而无需等待它们在以太坊区块链上被确认。这大大减少了交易时间,并允许更高的交易吞吐量。除了使用零知识证明和乐观的转移,zkSync还利用其他一些技术来提高可扩展性和安全性。这些技术包括签名聚合,允许将多个签名压缩成一个签名,以及多链支持,这有助于zkSync与其他区块链网络交互。

StarkNet 使用了 zkSTARK 的扩容解决方案,这是一个零知识证明系统,允许用户证明计算的正确性而不透露底层数据。这使得网络上的隐私性和安全性更高,并且能够在不需要信任第三方的情况下进行复杂的计算。StarkNet还利用了分片技术,这种技术允许将区块链分割成多个较小的链,或称 "分片",可以并行处理。这允许更大的吞吐量和更快的交易时间,因为每个"分片"可以独立于其他"分片"进行处理。

Polygon 2.0 推出其 ZK Rollups 技术,称为 Polygon zkEVM。这项技术通过使用零知识证明来解决以太坊区块链的可扩展性问题,从而使以太坊网络上的交易更快、更便宜,并且这种实现是在字节码级别而不是语言级别上兼容的。

Scroll  是一个与EVM兼容的 ZK Rollups,可以支持与以太坊相同的编程语言和智能合约,允许开发人员轻松地将他们现有的应用程序迁移到Rollup网络,而不需要对他们的代码进行任何修改。

写在最后

笔者来自蚂蚁链,也是一名以太坊上的开发者(最近也在学习 Solana 开发),平时喜欢看书和写作,所以也运营了一个 Web3 的公众号(公众号名:小猪Web3),主要聚焦 Web3 前沿技术和发展历程,所以在这里还是小小打一个广告,希望能在登链认识更多志同道合的朋友交流学习。

这一篇也是我公众号的一篇发表,是在坎昆升级前写的,探讨了 Optimistic Rollups 和 ZK Rollups,短期内,Optimistic rollups 很可能在通用的 EVM 计算中胜出,而 ZK rollups 则可能在简单的支付、交易和其他特定应用场景中胜出,主要原因还是 Zk rollup 虽然比 Optimistic rollup 更快、更高效,但并没有为现有的智能合约提供一个简单的方式来迁移到 Layer2。但随着 ZK-SNARK 技术的改进,ZK rollups 将在所有场景中胜出,成为以太坊扩容方案的最终答案。

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Web3朱大胆
Web3朱大胆
0xBD95...d478
从百度到灯火阑珊处,从传统互联网转型区块链的程序员,目前在蚂蚁链负责区块链研发,熟悉主流公链和Web3项目,擅长C++/Rust/Go/Solidity/(Sui)Move。同时也在做Web3自媒体,致力于分享前沿Web3技术。 行业交流欢迎加WX:go15810306120