
zk、zkR、zkVM和zkEVM这四个名词可能让人感到陌生,但我们可以先用提取公因数的方法,从它们共有的“zk”入手。
zk是零知识证明(Zero-Knowledge Proofs)的缩写,有时也写作zkP。
zkR是指zk-Rollup,是以太坊扩容的一种二层解决方案,是零知识证明与Rollup二层扩容技术相结合的产物。
zkVM是零知识虚拟机,虚拟机是一个计算机界的专有名词,以太坊虚拟机叫EVM,这里的VM是通用的,也就是不止用于以太坊,有可能是所有支持智能合约的公链。
zkEVM是一种兼容以太坊虚拟机(EVM)同时又对零知识证明(zk)友好的虚拟机。
概括来说以上的概念都是将零知识证明的技术用于扩容或者用于虚拟机。
为什么以太坊需要进行二层扩容呢?这很容易理解,因为如果你使用过以太坊或经常在链上交互,你可能会明显感受到以太坊现在速度很慢,成本很高,可扩展性一直是以太坊整个区块链开发过程中主要的关注点之一。扩容的目的是让它可以同时处理成千上万的交易,但只需支付低廉的交易费。目前以太坊很昂贵的一个很大原因是它每秒能处理的交易数非常低,因此当需求上升时,流量一大,整个网络就会拥堵,导致交易费用大幅上涨。因此,如何提高交易吞吐量是我们讨论的重点。

我们有个名词叫tps,代表公链每秒能支持的交易笔数,例如,比特币每秒只能支持7笔交易,那它的tps就是7,以太坊可能好一点,它每秒可以处理大概15~20笔交易,但与传统的Visa相比,它每秒处理的量在2000tps左右,这是理论值,极限值可能会更高,达到几万。相比之下,以太坊显得非常慢,这就是它必须要进行扩容的最重要的驱动因素之一。

以太坊的 Gas 费并非一直停留在较低或平均水平,经常会出现异常值。如果参与热门 NFT 铸造,你可能需要支付高达一个 ETH 的 Gas 费。因此,Gas 的成本成为制约整个以太坊生态发展的重要因素。新用户想要进来,但发现成本如此之高,转账都要花费几百元。这就是为什么人们说以太坊是贵族链,已经用不起了。
因此,扩容性和成本是高度相关的,每秒能处理的交易量越大,成本也能降低。二层扩容的解决方案是把一部分资金锁在主网的智能合约中,以保证资金的安全,然后将交易移至链外执行。就好像在以太坊上增加了一层,这一层用来执行交易,可以有效缓解以太坊主网的压力。
💎 zk - 零知识证明

接下来我们来简单介绍下零知识证明假设有两个数学家,商高和毕达哥拉斯,都声称自己发现了勾股定理,都想抢夺论文首发权,但是在发论文之前不能透露具体的公式,这种情况下他们就可以使用零知识证明的方法,随机出两条直角边长的数字,让对方计算出斜边的长度。通过多轮测试,可以证明其是否确实掌握了勾股定理,而不是靠蒙或猜测。这个过程中不需要透露公式的具体内容,这就是零知识证明的一种应用。
通俗来讲,零知识证明就是既证明了自己想证明的事情,同时透露给验证者的信息为“0”。本质上就是使用了一套密码学的方法,允许某个人向其他人无可辩驳地证明一个事实是真实的,并且在这一过程中,除了具体陈述的真实性外,不透露任何额外的信息。
交互式与非交互式零知识证明

除了我们刚才虚拟的场景,零知识证明还有交互式和非交互式两种模型,其中交互式零知识证明通过多轮的随机测试减小验证者猜测的准确度,验证靠猜测的概率几乎为零,这种方式需要证明者和验证者进行多轮互动。

而非交互式零知识证明则把多轮变成了一轮,效率更高,也更适合在分布式系统中使用。非交互式零知识证明可以被编译为一个字符串,通过邮件、聊天工具等各种方式随意发送给任何验证者。
在区块链系统中,只有非交互式零知识证明才能更好地应用。具体的一轮证明的方法涉及哈希值,可以避免猜测和作弊。零知识证明不仅可以保护隐私,还有多种其他应用。

在刚才的例子中,我们可以看到零知识证明有两个主要特征:一个是保守秘密,防止隐私泄露,因为它只验证我们要陈述的事实的真实性,不泄露任何隐私信息。另一个是让别人相信你,即“证明论断有效”。这两个特性恰好是区块链所需要的:
**隐私方面:**通过零知识证明技术保护链下的数据不被泄露。在隐私交易场景中,我们可以利用零知识证明的“不泄露信息”的特性,将接收方、发送方、交易余额等交易细节全部隐藏,在不泄露交易细节的情况下证明区块链上的资产转移是有效的。例如,如果我想给某个人转账,但不想透露我的钱包地址以及余额等信息,那么通过零知识证明技术,就可以实现隐私转账。
**扩容方面:**第二个应用是将其用于以太坊的扩容,以节省计算资源。我们将所有计算放在链下,计算完成后如果是有效的,则可返回主网。在扩容场景中,我们主要利用了“证明论断有效”这个特性,因为链上的资源是有限的,如果我们将大量计算都放在主网上,主网将无法承受。因此,我们只能将其迁移到链下,在链下完成整个计算。零知识证明正好可以证明在链下发生的所有动作的有效性。这样就有效地节省了主网的资源,帮助以太坊实现了扩容。
💎 zkR - 零知识汇总

在翻译 zkRollup 这个名词时,有人将其翻译为“零知识汇总”,而有些人将 Rollup 翻译为“卷叠”,当时V神还专门发了一条Twitter来推荐这个翻译。

首先,我们需要理解什么是 Rollup。Rollup的核心理念其实很简单,本质上是将运算的过程从主网转移到一个叫 Rollup 的链上,它是以太坊的二层链,也是一条独立的公链。在这些独立的 Rollup 链上执行交易之后,数据被聚合汇总在一起,然后传输到主链进行验证。它只将最少的数据或者叫摘要数据打包返回到链上,也就是说你的计算在链下,但是数据和最终结果要回到链上。

类似我们考数学的时候,先在草稿纸上把复杂的计算过程算一遍,然后把一些关键步骤写在试卷上面。从这个意义上,Rollup就有点像以太坊的草稿纸。Rollup来承载复杂的计算过程,只把最重要的数据传回主网本身。当然,这里会有一个问题:既然交易发生在链下,但是如何确保整个计算过程、计算动作都是有效的,以及将链外的安全性与以太坊同步?以太坊如何才能批准Rollup状态呢?这里Rollup就需要向以太坊发起零知识证明,即使不执行交易,以太坊也可以验证其正确性。所有在 Rollup 链上的动作被证明是有效的,数据就会被记录在主链上,这样,每个以太坊区块就可以容纳非常多的智能合约数据。因此,这项技术被称为 Rollup,也就是汇总。
由于运算过程是在链外进行,并且记录到以太坊主链区块里的数据也减少了,这两个特性都会帮助以太坊减少拥堵,以此达到以太坊扩容的目的。而且因为发布在主网之外传输的数据摘要要比主网的存储和计算负担少且便宜,所以通过这个方式即可以提高吞吐量,同时又能有效地降低成本。
目前来说,Roll

up已经是以太坊社区最认可的扩容方案。在这个方向上,诞生了两种不同的方案:zkRollup和Optimistic Rollup。这两种方案只是利用了不同的验证方式。zkRollup利用了零知识证明的密码学技术来确保安全性,即链下动作是可信的。而后者则依靠惩罚机制,一旦验证者节点作恶,将付出极大的代价。这两个派别阵容非常强大,每个派别又有很多不同的团队在进行技术上的探索,各有差异。

这里有一个简单的对比,主要从可扩展性、延迟、安全性和通用性上去分析了二者间的差异。我们可以看到,在可扩展性、延迟和安全性上,zk表现要优于Optimistic,但是在通用性上要比Optimistic差。因此,目前短期来看Optimistic Rollup由于较好的通用性受到开发者的青睐,可以更快地落地,所以就被很多项目直接采用了。但是随着零知识证明虚拟机的演进,zk Rollup会在通用性上不断提高,它的优势会愈加明显,例如低延迟。在Optimistic Rollup提款大概需要七天左右的时间,并且它牺牲了一定的安全性,有一定的中心化成分,所以长期来看社区还是更看好zk Rollup。
💎 zkVM - 零知识虚拟机

zkVM是零知识虚拟机,在介绍zkVM之前,我们先简单了解一下虚拟机,虚拟机是计算机领域的专用术语,很多人可能对这个概念还比较陌生,但是其实在生活中我们能接触到它,比如有人买了苹果电脑,不习惯用苹果的操作系统,就希望用苹果的电脑装一个Windows系统。但实际上,电脑的操作系统与它的硬件是有关系的,苹果电脑并不能直接支持Windows系统,想要安装Windows系统只能用虚拟软件去虚拟一套。
所以虚拟机本质上就是通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。也就是相当于在苹果电脑中再虚拟了一套计算机系统,这个时候可以把Windows系统安装上去。一台物理计算机可以同时运行多个虚拟机,并且可以安装不同的操作系统。这些虚拟机具有不同的虚拟硬件包括CPU、内存、硬盘等。
在智能合约区块链上,虚拟机是智能合约运行的基础环境。通过虚拟机,可以实现在其上面运行的程序彼此隔离,并且与主链分离。这是虚拟机的一个概念,在以太坊中就叫作以太坊虚拟机。比特币这个区块链上面没有智能合约,就是因为它上面没有虚拟机,只能支持简单的转账,它就是一个公用的账本。是每一个虚拟机并不是天然就互相兼容的。比如,Solana上的虚拟机与以太坊上的虚拟机是不兼容的。也就是说,在Solana上编写的程序并不能直接在以太坊上运行。

具体来说,zkVM是指将通过零知识证明验证程序正确性的功能应用在虚拟机上。与普通虚拟机不同,zkVM可以证明程序执行的正确性,包括操作中使用的输入和输出的有效性。只有通过虚拟机,所有的操作和数据才能传递到主网上并获得可信度。如果没有zkVM,之前的zkRollup只能执行一些简单的转账,将这些简单的计算放在Rollup上,然后运行,但是无法在zk Rollup这个链上部署智能合约。有了zkVM,开发者可以编写任何复杂的智能合约代码,并将其部署到由零知识证明驱动的二层网络zk Rollup上。
💎 zkEVM - 零知识以太坊虚拟机
有了 zkVM,我们也引出了第四个概念:zkEVM,它是指零知识以太坊虚拟机,由三个部分合并而来:zk 指的是 Zero-Knowledge proofs 零知识证明的缩写,E 指的是 Ethereum以太坊,VM是 Virtual Machine 虚拟机的缩写。

与 zkVM 相比,zkEVM 是一个能够兼容以太坊虚拟机的 zkVM,或者说能够兼容 EVM 的 zkVM 就是 zkEVM。简单来说,在早期,zk Rollup 这个二层公链只能用于简单的代币交换和支付,无法执行智能合约。随着引入 zkEVM,zk Rollup 才开始支持以太坊的 dApp。也就是说,有了 zkEVM,我们可以将以太坊的智能合约部署到 zk Rollup 上。
所有采用 zkEVM 的项目都有一个共同的目标:在以太坊的二层网络 zk Rollup 上创造一种感觉就像使用以太坊主网一样的用户体验。这意味着开发人员不需要更改原来的代码,也不需要放弃他们习惯的 EVM(以太坊虚拟机)开发环境,就可以直接将原有的智能合约移植到 zk Rollup 上。对于用户而言,在zk Rollup上 使用 DApp 与在以太坊主网上没有什么区别,而且速度更快、价格更低、体验更友好,这都基于是 zkEVM 实现的。

在介绍具体的 zkEVM 项目之前,我们需要介绍两个概念:EVM 等效和 EVM 兼容。这两个概念实际上是指我们的 zkEVM 对以太坊兼容的层级不太一样。兼容层级较低的我们称之为 EVM 兼容,指的是 Solidity 等语言层面的适配。如果兼容程度比较高,到字节码层面的适配,我们就称之为 EVM 等效。在大多数情况下,EVM 兼容指的是开发语言、编程语言这个层级的一个适配。
这两个概念有什么差异呢?如果我们的 zkEVM 是 EVM 兼容的,那实际上只是在开发语言层面上做到了一个适配。对于开发者来说,你可能需要重新编写你的智能合约或进行一些修改,才能将其移植到 EVM 兼容的区块链上。EVM 等效对于开发者来说,基本上与在以太坊上的整体开发体验是一致的,他们可以直接使用在以太坊上的所有工具、框架和代码,这对开发者来说非常有意义,基本上可以实现零成本迁移。对于 zkEVM 项目来说,可以直接获得以太坊的网络效应。因此在很多 zkEVM 项目中,追求达到 EVM 等效,会让整个项目在营销和竞争方面更具优势。
以下是zkEVM赛道上的主要参与者和竞争者,共有四家。这四家在以太坊的兼容等级上略有不同,其中Scroll和Polygon Hermez实现了字节码层面的适配,也就是EVM等效。后面的两家zk Sync和StarkNet主要实现了语言层级的兼容,这两家是zk Rollup的早期参与者,之前市场上只有这两家专注于探索zk Rollup的解决方案,是EVM兼容方案上的主要参与者。目前,这些项目都还处于非常早期的阶段,zkSync的主网进展相对较快,其他项目还在内测或刚刚开放公测。

接下来,我们来具体看一下这四家的差异和表现:
💠 Scroll:最兼容EVM的zk Rollup

第一个项目是 Scroll,它是行业的一个黑马,也是横空出世的项目。他们自称是最兼容 EVM 的 zk Rollup,是 EVM 等效的 zkEVM 项目。这意味着以太坊上所有的智能合约都可以直接复制到 Scroll 上,无需进行代码的修改就能兼容以太坊基础设施。
Scroll 的创始人都是中国人,而且是一些非常年轻的技术大牛,主要来自清华北大和剑桥等高校。他们的年龄都在 98 年左右,是一群非常年轻的创始人。他们在海外留学期间聚在一起,探索 zkEVM 的方向。于 2021 年成立了 Scroll 这个项目,成立一年多的时间就获得了顶级机构的 3000 万美元 A 轮融资。Scroll 的支持者还包括著名的以太坊基金会。因此,虽然是一个国人项目,但整体上拥有顶级的配置,并得到了主流区块链核心资本和技术团队的支持。
由于成立时间较短,目前 Scroll 仍处于测试网阶段,面向所有公众。我们可以去测试网体验这个产品。目前,它是一个备受看好的项目,在兼容等级上相对来说是 zkEVM 项目中最高的。
💠 Polygon Hermez:最快开源

第二个项目是Polygon旗下的Polygon Hermez,它最初不是Polygon自己的,Polygon 以前名字叫Matic,是一条以太坊侧链,后来它调整了自己的市场定位,重新定位为以太坊二层扩展,可以支持以太坊所有的二层解决方案,让二层解决方案之间互相连接。除了推出的PoS侧链,它还在推广zk Rollup的解决方案。在2021年,他们花费2.5亿美元收购了一个专门研究zk Rollup的团队Hermez Network,并将其整合到了自己的产品体系中。于2022年中,推出了自己的zk Rollup链,名为Polygon Hermez。
到了7月份,他们宣布正在构建一个zkEVM,并将项目名称改为Polygon zkEVM。在开放公共测试网后,开发人员可以将任何以太坊智能合约无缝部署到Polygon zkEVM上。Polygon zkEVM目前已经完全开源了自己的代码,是这几个项目中最早开源的。虽然Polygon zkEVM号称实现了EVM等效,但当他们在Twitter上声称自己是第一个EVM等效的zkEVM时,许多技术专家表示,它最多只能算是EVM兼容,而并没有真正实现EVM等效。
💠 zkSync: EVM兼容

第三家 zkSync 是一家老牌参与者,资历较深,其团队名为 MatterLabs,于 19 年开始构建以零知识证明为核心技术的二层协议。其 1.0 版本已经上线,但是存在一个问题,即不支持智能合约,因此 zkSync 1.0 版本只能聚焦于支付目的,目前已经处理了大约 400 多万笔交易,整个生态也开始逐渐完善、成型。现在可以通过 zkSync 在 Gitcoin 参与以太坊众筹或者捐助活动。如果通过以太坊主网进行交易,可能需要支付的 Gas 费会超过打赏本身的金额。因此,就支付场景而言,zkSync 1.0 还是比较实用的,同时也积累了大量数据和用户。
zkSync 最新的项目是 2.0 版本,是 zkEVM 的一个项目。与前面两家相比,它只实现了 EVM 兼容,而未实现 EVM 等效,仅支持以太坊编程语言的兼容性。因此,在兼容性方面它可能会低于其他竞争对手。目前 zkSync 2.0 已经在以太坊测试网上上线,并获得了许多以太坊核心开发者的支持。例如,Uniswap V3 很快可能会部署到 zkSync 2.0 上。从这个角度来看,以太坊的核心开发者对这套技术解决方案非常支持。另一方面,从团队的融资情况来看,它在过去几轮中融资了大约 5800 万美元,头部机构都参与了它的早期投资,a16z 参与了两轮。
这张图列出了已经支持或即将支持的项目,我们可以看到,这个生态系统已经相对完善,包括钱包、DeFi、NFT、GameFi、DAO、跨链桥以及其他一些相关工具。整个生态系统有很多项目,其中大部分都是建立在 zkSync 1.0 的基础上。接下来,它的 2.0 版本将支持智能合约,可能会有更多的项目迁移过来,值得我们持续关注。
💠 StarkNet:专注于zkVM

第四个项目是StarkNet,也是一家老牌公司的项目。最突出的特点在于其团队是由世界顶级密码学家组成。他们共同发明了最著名的两个零知识证明系统zk-SNARK和zk-STARK。目前,几乎所有的零知识证明都采用了这两个系统,包括zkSync、Scroll、Hermez等多个行业头部zkEVM项目。该团队在零知识证明技术方面做出了巨大贡献,因此备受资本青睐。
相较于其他项目,StarkNet更专注于zkVM,即零知识虚拟机。它专注于开发零知识技术的潜力,并通过几乎无上限的性能扩容为未来的创新应用打造去中心化网络的基础。与前几个项目不同,StarkNet的目标并不是实现EVM等效,而是致力于开发零知识技术的潜力,以拓展新的功能和可能性。
如果要支持EVM兼容、EVM等效,需要考虑许多功能缺失的问题。StarkNet通过在zk Rollup上重新构建一套新的虚拟机,重新释放技术潜力,产生EVM原本没有的许多功能。这是StarkNet关注的一个点,它更关注零知识技术的拓展。这也是这几个项目之间的差异。
截至目前,StarkNet已完成6轮融资,共计2.73亿美元。最近一轮融资达到1亿美元,团队估值达到80亿美元。这是所有Layer 2项目中估值最高的,比Optimistic系列的几个项目的估值都要高。V神也是这个项目的早期投资人,在种子轮就投资了这个项目。
Layer2 发展现状

Layer2从提出以来,生态一直持续稳步发展。要了解整个 Layer 2 的发展,我们可以去 L2beat 这个网站。该网站将所有 Layer 2 项目的锁仓量等基本数据做了排名。

我们可以看到,最主要的两个解决方案是 Optimistic Rollup 和 zk Rollup。在数据表现上,整个 zk Rollup 解决方案的锁仓量相对较低。如图所示,迄今为止,排名第一的Optimistic的代表性项目Arbitrum的TVL占二层总量的一半以上,可以说是目前Layer2中当之无愧的龙头。主要原因是因为 Optimistic 这些项目一开始就支持兼容以太坊虚拟机,号称 EVM 等效。随着 zkSync、Scroll 等 zkEVM 项目的推出,他们接下来可能会改变整个行业的格局。目前所有的 zkEVM 都还在一个相对比较早期的阶段,它们的成熟度和生态建设都还需要一个过程。一旦进入相对的成熟期,今天看到的市场排名可能会被改写。因此,大家可以通过这个网站追踪整个 Layer 2,包括 zk Rollup 或 zkEVM 的发展和演进。以上就是四个zkEVM主要项目的基本情况。
从图表中可以看出,很多应用都是基于StarkEx构建的。StarkEx是StarkWare推出的一个可扩展性引擎,通过B2B的方式赚取服务费。我们熟知的Immutable X、dYdX、DeversiFi、Sorare都是基于StarkEx构建的。目前,这些应用的总锁仓量已经达到了12亿美元。
目前来看,StarkWare和zkSync都是非常有前景的二层方案。此外,它们都有发行代币的计划,未来可能会对早期用户进行空投。这是Web3行业的一个特点,会奖励早期用户。大家可以多去体验这些项目,并在使用中评估它们的优缺点,同时有可能获得丰厚的回报,这也是一个很好的市场机会。
Layer3 递归zk Rollup
在2021年12月,StarkWare提出了一个非常有趣的解决方案,叫做Layer 3,今天我们讨论的都是Layer 2,它是在二层扩展的基础上提出的,要在三层做扩展,我们称之为Layer 3解决方案。这是一种递归型的Rollup。所谓第三层的解决方案,实际上就跟第二层与第一层的关系是一样的。只是说,我在Layer 3链下计算的数据返回给Layer2,最后又递归回到Layer1。通过这种方式,它帮助Layer2提高了吞吐量。在这样的基础上,意味着我们可以构建很多个第三层,甚至在第三层上再构建第四层、第五层。通过不断的递归,将最终的结算递归回到主网就行了。

递归zk Rollup的一个比较形象的类比:我们知道市中心的的主干道一般都非常拥堵,那么该如何提高主干道的车容量呢?可以在它的上方再搭建一层立体的立交桥,中间有一条路连接起来,这样我们就能缓解主干道的交通压力。如果车流量再大,第二层都不够用了,那么怎么办呢?那就在第二层上再搭建一层,第三层,它就像第二层一样连接在一起。这样,我就建立了一个立体化的交通网络。理论上,我可以在上面搭建很多很多层,不断地搭建。这时候,就可以有效地缓解主路的交通压力。这只是一个类比,它不一定恰当,但是有助于我们理解所谓的递归zk Rollup,StarkWare就是它的代表性项目。

这张图就是StarkWare在解释递归zk Rollup也就是Layer 3的概念,一层最核心的是以太坊,二层是Layer 2,在之上就可以搭建Layer 3,有许多不同的第三层。第三层之上又可以搭建第四层。最终,通过不断的递归,将数据返回到主网。在这样的技术思路下,理论上性能可以无限提升,费用可以无限降低,无论有多少需求,我们都可以通过这种方式去满足它。

上文主要介绍了 zk、zkRollup、zkVM、zkEVM 这四个名词所代表的含义以及它们之间的关系。总结如下:
zk:零知识证明(Zero-knowledge proofs),应用于区块链的隐私保护和扩容。
zk Rollup:零知识证明技术加上 Rollup 扩容技术,是公认的最佳以太坊可扩展性方案,V神推崇的最有前景、最落地的方案。
zkVM:零知识虚拟机,让 zkRollup 公链可以运行智能合约。
zkEVM:兼容 EVM(以太坊虚拟机)的零知识虚拟机,让 zkRollup 可以执行以太坊智能合约,且同时无需对底层逻辑进行大量修改,可以吃以太坊生态红利,让以太坊现有的应用、智能合约直接把代码迁移到 zkRollup 的链上。

在我们的头部资本中,有一种共识:**零知识证明是 Web3 的风口和一种具有终局性的技术,未来可能会成为区块链世界中普适性的存在。**尤其是在扩容方面。对扩容解决方案的支撑,是它的一个更大的应用,因此我们应该对零知识技术引起足够的重视,并在其支持下拓展更多的应用可能。
推荐阅读

