ZK Rollups VS Optimistic Rollups

1. 引言

ZK Rollups简称为ZKR。
Optimistic Rollups简称为OR。

ZK Rollups和Optimistic Rollups为以太坊Layer2扩容方案。

Offchain Labs基于Optimistic Rollups技术方案实现了Arbitrum,而Polygon则采用的是ZK Rollups技术方案。

在这里插入图片描述

1.1 何为Rollups?

在这里插入图片描述
Layer2将数百笔交易rollup为一笔交易,压缩后提交到Layer1。
rolled-up contract data可根据Merkle tree重新计算出来。

rollups的主要目标为:

  • 将主链上的大量traffic 移到链下Layer 2。
  • 与主链上的智能合约交互,来实现withdrawals/deposits 以及 验证链下交易。

其中,验证部分对于链下数据来说至关重要,因为需要证明链下数据是真实的:

  • Fraud proofs:非常适合扩容解决方案,因为它们仅在检测到无效块时提交,而不是在每笔交易中提交。 可节省了网络的计算资源。【有dispute period,Arbitrum设置为7天。】
  • Instant finality:The transactions are finalized the moment the block is created, instead of undergoing a series of confirmations. Once again, this makes for a low-latency, high-throughput network.
  • Cross-chain bridges:支持token在Layer1和Layer2之间移动。

Arbitrum采用多轮fraud proofs。不采用一轮fraud proof (FP)的原因在于:

  • 若采用一轮fraud proof,需依赖L1来执行整个L2交易。此时,FP verification为instant即时的,但是,由于在L1链上执行,需要更多的gas cost,且the L2 fee itself limited by the L1 gas block。
  • 采用多轮fraud proofs,可专注于a singular point of transaction disagreement,从而可提升网络性能。且由于无需在L1上完整执行L2交易,其gas block limit也无关紧要。

在这里插入图片描述
Arbitrum有其自己的AVM(Arbitrum Virtual Machine),可自动将基于EVM的DApps转换到AVM。
Arbitrum支持所有EVM编程语言,如Vyper,Solidity,Flint,YUL+,LLLL等。

2. ZK Rollups VS Optimistic Rollups

ZK Rollups 与 Optimistic Rollups 最大不同在于:

  • 1)ZK Rollups采用validity proofs:ZK依赖于某方提交a succinct cryptographic proof,proving party需要知道a valid chain ending with a particular state。proving party需要execute the chain, in order to know how to construct the proof, 然后通过一系列复杂的密码学操作来构建相应的proof。该proof需在L1链上合约中进行验证。ZK proofs are succinct and verification is cheap enough to be done by an Ethereum transaction.
  • 2)Optimistic Rollups采用fraud proofs:Optimistic Rollups为乐观的,在其向以太坊提交updated state时,并不会附加任何proof。任何人都可提交a rollup block containing a claim about what is the correct outcome of executing some transactions。其他节点执行相同的交易,若其不同意第一个node的claim,可提交a challenge。
    一个有效的dispute协议可解决任何分歧,保证正确的一方将赢得挑战。【有dispute period,Arbitrum设置为7天。】
    各方都有强烈的动机,只提交正确的claim,并质疑错误的claim,因此在通常情况下,所有节点只需执行所有交易,而无需调用proof代码。整个过程由L1合约管理。

2.1 Optimistic vs ZK: Cost

OR与ZKR最主要的区别在于cost:

  • 1)Optimistic Rollups:其节点仅需简单地运行合约。如,某合约执行add操作,节点也仅需执行add操作。
  • 2)ZK Rollups:其节点需要生成复杂的密码学proof,需要成百上千次昂贵的椭圆曲线操作才能为add操作生成proof。ZKR为每个合约中的每个instruction承担cost。不仅要执行instruction,还需要为每个instruction生成复杂的密码学proof。这是ZK Rollups最大的缺点。可能需要特殊的硬件或大量的并行计算。
    不过,由Polygon Zero 团队提出的Plonky2算法,在笔记本上运行,仅需170ms即可生成a recursive proof,未来proving time和cost还将进一步减少。

Rollup cost主要由CALLDATA cost组成。

2.2 Optimistic vs ZK: EVM Compatibility

基于Optimistic Rollups构建的Arbitrum完全兼容EVM:

  • 具有相同的RPC接口
  • 接收与EVM完全相同的bytecode

ZK Rollups运行gamut,即将与EVM兼容。有些人将其视为遗留工具,鼓励人们学习其定制语言。(如Cairo等)

2.3 Optimistic vs ZK: Trustless Visibility and Compression

Arbitrum为trustless visibility的,即意味着任何人都可see or derive the contents of the chain, without help from a centralized party——不仅可看到occasional state snapshots,还可以看到the full history of the chain——how it got to its current state。

a ZK proof proves only that the prover knows a valid chain. The proof does not tell you what that chain is, and even if you have enough data to verify the proof, you may not have sufficient data to reconstruct the chain’s history.
As an example, suppose that Alice submits a transaction paying Bob 1 ETH, and Bob submits a transaction paying Charlie 1 ETH, in quick succession. Later you verify a proof that Alice has 1 ETH less than before, Bob’s balance hasn’t changed, and Charlie has 1 ETH more than before.
But what happened? Did Alice pay Bob? Did Bob pay Charlie? Maybe Alice paid Charlie directly. Maybe Alice burned an ETH and Charlie was paid by someone else. Maybe Diana was the intermediary, not Bob. Bob looks to the blockchain for evidence, but with some ZK-rollups that don’t provide chain visibility, he can’t tell the difference.

2.4 Optimistic vs ZK: Trustless, timely finality

达成timely finality最有效的方式为:将交易排序 与 交易执行 分离。排序会产生a finalized sequence of proposed transactions,执行则是按交易顺序进行执行。

若交易的执行为deterministic(Arbitrum为deterministic的),则finalizing the sequencing of transactions is sufficient to finalize the results,因为the results are a deterministic function of the sequence of transactions。若每个人都知道交易顺序,则每个人都可很容易的确定交易结果。

Finalizing a sequence需要将该sequence提交到L1链上,附加足够的信息,使得任何人都可自己执行这些交易,以知道the results trustlessly。理想的rollup为尽可能频繁地向L1提交sequenced transaction data。

Arbitrum通常每一分钟向L1链提交sequenced transaction data,为用户提供了fast finality,并保证了每人可undo their transactions。每一个小时,会生成一个新的optimistic result assertion,由于sequence已finalized且execution为deterministic的,这并不会减慢finality。

ZK Rollups可将交易排序 与 交易验证 分离,交易排序可频繁地提交到L1,交易验证可稍后进行,with the occasional validity proofs。
若附加压缩技术,ZK Rollups的实现方式通常有2种:

  • 1)每分钟,在提交a sequence of L2交易的同时需附加相应的validity proof。这样可保证fast finality,但是要求每分钟在链下生成ZK-Proof,并每分钟在L1链上验证ZK-Proof。向L1链提交ZK-Proof的成本约为50万~500万 gas,取决于具体实现。
  • 2)每小时,在提交a sequence of L2交易的同时需附加相应的validity proof。这可使得验证ZK-Proof的开销可接受,但将finality时间延长为了1小时。

2.5 Optimistic vs ZK: Trustless Liveness

Optimistic Rollups中,任何节点都可claim a correct execution,其仅需执行交易,仅需质押,若claim被确认之后,相应的质押会返还。

ZK Rollups中,任何可创建并提交ZK-Proof的节点都可progress the chain’s state。

2.6 ZK vs. Optimistic: Bridging

当资金由L2传回L1,Optimistic Rollups需要一周的延迟,而ZK Rollups只要ZK proof被提交到L1,相应的bridge即完成。
在这里插入图片描述

参考资料

[1] Offchain Labs 2021年12月18日博客 Optimistic Rollups: the present and future of Ethereum scaling
[2] Polygon 2022年1月19日博客 ZK and the Future of Ethereum Scaling
[3] Arbitrum vs. Optimism: What’s the Difference Between These Ethereum Rollups?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值