Vitalik在2021年曾说:
In general, my own view is that in the short term, optimistic rollups are likely to win out for general-purpose EVM computation and ZK rollups are likely to win out for simple payments, exchange and other application-specific use cases, but in the medium to long term ZK rollups will win out in all use cases as ZK-SNARK technology improves.
(总的来说,我自己的观点是,在短期内,Optimistic Rollups可能会在通用EVM计算方面胜出;而ZK Rollups可能会在简单的支付、交易和其他特定用途的应用场景中胜出。但随着ZK-SNARK技术的改进,中长期来讲ZK Rollups会在所有应用场景中胜出。)
现在名声最响的ZK Rollups项目都还没有发币,比如zkSync、StarkEX、StarkNet、Aztec等,而Optimistic Rollup的绝代双骄中Optimism的代币已经在各大主流交易所流通交易,而且最近随着加息落地、ETH2.0临近、OP空投的抛压盘消化殆尽等各方面因素影响,OP价格也有不错的表现。面对这强势的币价表现,许多人不由得就会想问:OP到底哪里不如ZK?
我先列一下Optimisitic Rollup与ZK Rollup的几个最关键的区别:
第一,安全性,ZK Rollup优于Optimistic Rollup。zk Rollup提交给L1的新状态随附了Proofs,可继承L1的安全保证;而Optimistic Rollup提交给L1的新状态没有随附证明,当TVL增长到一定量时,矿工可能被贿赂从而导致错误发生后的欺诈证明不被纳入区块中,继而发生被盗风险;
第二,拓展性,ZK Rollup优于Optimistic Rollup。Optimistic的实际吞吐量上限为500TPS,而ZK超过2000TPS,StarkEx甚至可达到9000TPS;
第三,可验证最终性,ZK Rollup优于Optimistic Rollup。zk Rollup的最终确定性时间很短,比如zkSync是10分钟;而Optimistic Rollup的最终确定性时间最少为一周。两者相比资本效率相差很大;
第四,EVM兼容性,Optimistic Rollup优于ZK Rollup。Optimistic Rollup兼容EVM,他们可以非常快速、便捷地将现有的Ethereum Layer1上的各种Dapps吸引过去,所以目前Optimistic Rollup系列的Layer2项目的TVL排名靠前。不过,随着zkVM的研发,Optimistic Rollup的这个优势也将被削弱。
要搞清楚为什么Optimistic安全性不如ZK、资本效率低,需要了解Optimistic Rollup的工作原理,接下来以Arbitrum Rollup为例:
Arbitrum Rollup是一种Optimistic Rollup。
其基本架构如下图:
Arbitrum是作为Ethereum的Layer2协议,EthBirdge是Arbitrum链中正在发生的事情的最终权威来源,也需要维护链的Inbox/Outbox。Aribtrum的执行环境是AVM,AVM的设计起点是EVM,在许多方面都没有改变,所以Arbitrum支持EVM编写或编译的程序。Offchain Labs给Arbitrum编写的操作系统是ArbOS,ArbOS为智能合约提供了与EVM兼容的执行环境,所以ArbOS这个操作系统中可以运行EVM兼容的Dapps,也就意味着Ethereum链上的各种Dapps可以直接迁移过来。
Arbitrum在Arbitrum Rollup链上发生的所有交易都是记录在Rollup链上的。在Arbitrum上执行交易也需要ETH Gas Fee,但比Layer1上更便宜很多。提交到Ethereum链上的是原始交易数据,合约的计算执行和存储是在Arbitrum Rollup链上。优化交易压缩以最大限度地减少需要在Ethereum链上发布的内容,对于Layer2降低成本和提高吞吐量至关重要。对于不携带自己的Calldata的简单转账交易,基准测试表明:Arbitrum允许每秒最多4500笔转账交易。
Arbitrum Rollup是一种乐观的Rollup,也就是说先默认大家都是诚实的,所以在发布断言时,不要求随附证明其有效性。而是采取欺诈证明的机制来确保Layer2网络的正确共识。
Arbitrum的欺诈证明(Fraud Proofs):当断言(Assertion)在链上发布时,做出该断言的验证者会发布保证金,并且有一个时间窗口,如果他们认为这是错误的,任何人都可以发布自己的保证金并质疑断言。在挑战窗口期,断言者和挑战者可以来回交互协议,链上合约充当协议的裁判。最后,裁判确定一方提出了虚假索赔,没收保证金来惩罚该方。
那么Arbitrum究竟是怎么解决挑战期内的争议的?
核心是交互式证明(Interactive Proving)。这其实是一种对争议做细化剖析,来寻找关键争议点,并通过Layer1 Referee(L1裁判)来判断的方案。
举例说明:假设Alice提交了一个断言(承诺93是正确的),而Bob不同意并发起了挑战(并承诺95才是正确的)。如果Alice的声明涵盖了N个执行步骤,则她发布两个大小为 N/2 的声明,它们结合起来产生她的初始 N 步声明,然后 Bob 选择 Alice 的 N/2 步声明中的一个来挑战。现在争议的规模已经减少了一半。这个过程继续进行,在每个阶段将争议减半,直到他们对一个执行步骤产生分歧。将争议缩小到一个步骤时,L1 裁判才需要通过查看指令实际执行的操作以及 Alice 关于它的声明是否正确来解决争议。
Arbitrum采用的交互式证明与Ethereum Layer1采用的重新执行交易(Re-executing Transaction)相比,区别在于:重新执行交易是需要模拟整个交易的执行,而交互式证明是让Alice和Bob两个人自己把争议缩小到一个步骤,从而使得L1裁判只需要模拟1个交易的执行。Arbitrum和Optimism的区别也体现在争议的解决上,Optimism是把整个有问题的交易都通过EVM运行。
由上可知,Optimistic Rollups之所以安全性不如ZK、资本效率低,关键在于证明机制不同。
回归到扩容的初心,相对于以太坊L1的性能,Optimistic Rollup其实已经实现了扩容的主要目的,而且因为Optimistic Rollups有EVM兼容的优点,发展情况还不错。在Layer2项目的TVL排行榜上,Optimistic Rollups的绝代双骄Arbitrum和Optimism分别以2.48B和1.04B的TVL位列前2。Arbirum生态入驻了21种分类的249个应用协议,Optimism生态也有179个项目。