以太坊最热Layer2之一ZK-Rollup凭什么被V神看好?
关于以太坊合并的说明明确表示:升级后的“The Merge”主要带来网络共识机制的转变;而备受关注的扩容,将由以太坊与 Layer 2 各解决方案的紧密合作共同完成。
一时间,Layer 2 赛道中的各大项目被重新提上议事日程。与此同时,最为著名的 Layer 2 项目之一 zkSync 于10月28日推出其2.0版本主网,再度成为市场焦点。
以太坊最热Layer2之一ZK-Rollup凭什么被V神看好?
*zkSync.io
本篇将基于扩容赛道,帮助大家进一步了解 Layer 2 中的 ZK-Rollup 解决方案。

扩容方案

关于以太坊扩容这件事,不论你是刚进入行业的新人,还是资深从业者,想必都有所耳闻。像什么 RollupLayer 2 等词语,对你来说应该也不陌生。
随着在以太坊上部署的去中心化应用(dApp)逐渐增多,拥堵的网络和高昂的 Gas fee 让以太坊扩容势在必行。
以太坊最热Layer2之一ZK-Rollup凭什么被V神看好?

然而由于区块链的不可能三角(即可拓展性、去中心化、安全性三者只能得其二)存在,在 Layer 1 层面进行扩容难度较高,因此 Layer 2 顺势而生。其核心思想是将大批实际发生的交互放在链下执行和计算,再通过以太坊上极少量的交互最终完成有效性验证

在 Layer 2 扩容方案中,比较主流且受追捧的大约是 Optimistic Rollup 和 ZK-Rollup,前者是目前 Layer 2 项目中生态最大的解决方案,而后者则被 V 神认为是解决扩容问题的最终方案

Rollup

那么,什么是 Rollup?它是一种可扩展的解决方案,它将交互捆绑压缩发送到共识层进行验证,一次可验证多个交互行为。
以太坊最热Layer2之一ZK-Rollup凭什么被V神看好?
本质上,用户不是将交互发送到 L1 的节点那里,而是将其发送到 Rollup 服务器,由服务器验证这些交互是否有效,换句话说,这些验证是在以太坊主链之外执行。验证后,Rollup 服务器会将数据发布到以太坊主链,由主链记录交互与验证状态,因此它们将继承 L1 的安全性

举一个简单的例子:

小明在楼下食堂办了张饭卡,并充值1000元。每次吃饭时,小明只需刷饭卡而不需要用银行卡重新支付饭钱。一个月后小明不打算继续在食堂吃饭,注销饭卡时余额还有200元,于是就将余额提取回了自己的银行卡。
在此过程中,小明的银行卡与食堂账户只交互过两次,而期间无数次买饭的交互都是在食堂内部的系统完成。
这里还有很关键的一步:提取余额时,小明需要食堂提供明细以验证余额结算没有出错,同时这个明细需要提交到银行卡系统里保存验证。
为什么说明细验证这一步很关键?
以太坊最热Layer2之一ZK-Rollup凭什么被V神看好?
在 Rollup 被提出之前,还有个扩容方案叫 Plasma,该方案不会将链上发生的数据发送给主链储存验证,只会提交一个最终的状态结果。这就导致结果不可验证,就像是食堂只向你提供最后余额,但不给你明细。
Rollup 方案则会将数据提交给主链,但它会通过聪明的编码方式,最大限度地压缩这些数据,同时基于 Rollup 本身的特性适当删除缩减部分数据,只要保证最终的提交能够任何人验证即可。
ZK-Rollup 正是围绕验证方面,进行了安全性准确性的优化。

ZK-Rollup

ZK-Rollup 是将大量交易打包到一个 Rollup 区块内,并在链下为该区块生成一个简洁的证明;Layer 1 上的智能合约只需验证该证明即可直接应用新的状态,无需重新执行这些交互。
这样一来,不仅可以节约 Gas Fee,因为证明的验证成本远低于重新执行的计算成本;而且另一个好处是可以通过数据压缩来节省存储空间(即,仅在链上存储最少量的数据用于验证)。
以太坊最热Layer2之一ZK-Rollup凭什么被V神看好?

ZK-Rollup 的一个关键点在于“质疑一切”,这与 Optimistic Rollup 的“乐观的假设所有人都不作恶”形成对比。ZK-Rollup 默认所有提交的结果都是可以的,但需要 Layer 2 在提交了数据之后携带一个 zk-SNARK 证明,以证明其结果的准确无误。

回到食堂的例子:

如果小明直接提取了余额,并没有检查明细,而是一直等到哪天觉得不对劲了才去检查,这就类似于 Optimsitic Rollup;但如果小明在提取余额的时候,还要求食堂提供一份明细证明文件以确保食堂提供余额的准确性,那就类似于 ZK-Rollup。
看到这你可能会好奇,食堂提供的证明文件凭什么就能证明他们给的数据没错?这就涉及到了ZK(零知识证明)。
以太坊最热Layer2之一ZK-Rollup凭什么被V神看好?
*图源:网络

最简单的零知识证明是:某一通道中间有密码门,如果小明需要证明自己知道密码,他不用告诉别人密码是什么,只需要通过密码门即可。当然,投入实际应用的零知识证明比这复杂很多。想要了解的可以参考 V 神的这篇文章:

https://link.medium.com/kTqKFY2XDub
看完后,你就会明白为什么 ZK-Rollup 明明很早就被提出且被 V 神盛赞,但相对于 Optmistic Rollup 来说却少有进展——因为 ZK 的实现难度和原理远比想象的要复杂太多。