# 寻找潜在投资机会：一文纵览ZK方案全明星项目 

By [深潮TechFlow](https://paragraph.com/@techflow-4) · 2022-04-12

---

_撰文：LD CAPITAL_

隐私性在加密货币社区一直被视为非常有价值的特性之一，因为对于大多数加密资产持有者而言，他们不希望自己的资产和交易记录被完全公开。而在提供隐私性的各项加密技术中，零知识证明（Zero-Knowledge Proof）技术是非常重要的存在之一。本文不涉及专业的密码学知识，仅是对零知识证明进行理论表达，帮助读者粗略地复原一下零知识证明系统的全貌及目前的发展现状。

### **1 零知识证明技术发展**

### **1.1 零知识证明概念**

零知识证明（ZKP）是现代密码学的一个重要组成部分，\*\*它指的是证明者能够在不向验证者提供任何有用的信息的情况下，使验证者相信某个论断是正确的。\*\*零知识证明实质上是一种涉及两方或更多方的协议，即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相 信自己知道或拥有某一消息，但证明过程不能向验证者泄漏任何关于被证明消息的信息。通俗的来讲就是：**既证明了自己想证明的事情，同时透露给验证者的信息为"零"。**

零知识证明本身涉及到的是比较复杂的密码学算法，但是为了让大家对零知识证明有一个理论上的了解，我们引用一个【找熊猫】的例子：

一群人在这张图中找一只熊猫，小A率先发现了熊猫位置，但是他不能立马公开指出来，因为这样就破坏了其他人的游戏体验。

  

image.png

有没有什么办法，即能够证明小A知道熊猫在哪儿，又不会让其他任何人知道答案呢？

于是小A找来一张超级大的白纸，并把这张纸随意地覆盖在有熊猫的图片上。然后，小A在白纸上剪出一个小洞，只让熊猫露出来。

  

image.png

这样，熊猫的位置作为关键信息，是被保护起来的，但小A还是能够在不让其他人知道熊猫在哪儿的前提下，证明自己找到了熊猫，这就是零知识证明。

**零知识证明的验证方法强调的是完备性和可靠性**。完备性原则是指：证明者能够说服证明者接受一条正确的陈述；可靠性原则是指：证明者不能说服验证者接受一个错误的陈述。但事实上，可靠性仍然是概率性的，只是说证明者要作弊的可能性极其低。

\*\*因为零知识证明的可信度会取决于两个因素：一是证明的难度，二是交互的程度。\*\*证明的难度即直接从数学性质上增加证明的难度；交互的程度是指验证者需要不断对证明者进行提问，再由证明者证明，随着交互次数的增多，证明者要欺骗验证者的难度也会增加，因为证明者在不知道正确信息下提供正确证明的概率在统计学上是递减的。

### **1.2 零知识证明理论演变**

零知识证明概念最初是由S.Goldwasser、S.Micali及C.Rackoff在1985提出的，他在其论文中引入“交互”和“随机性”，构造了早期【交互式证明系统】。交互式证明会要求验证者不断对证明者所拥有的“知识”进行一系列提问。证明者通过回答一系列问题，让验证者相信证明者的确知道这些"知识"。这样产生的问题越多，交互的次数就越多，但是这样的方法并不能使人相信证明者和验证者都是真诚的，两者可以提前串通，以便证明者可以在不知道答案的情况下依然通过验证。

在随后的十几年里，有不少传奇的密码学家为零知识证明系统的发展做出重要贡献。比如M. Blum, P. Feldman, and S. Micali指出了”交互”与“隐藏随机性”并不是必要的，继而提出基于公共参数 CRS （Common Reference String）模型的【非交互式零知识证明系统】\*\*。非交互式证明即证明者不需要和验证者进行交互，系统内会需要事先设置一组公共参数，交易依靠零知识证明的公共参数进行构建和验证。\*\*这也就意味着证明者可以独立生成证明，避免了证明者和验证者串通的可能性。

2010年，Jens Groth提出一种在当时颇具争议性的指数知识假设（Knowledge of Exponent Assumption），通过把一些秘密随机值隐藏到CRS中，将证明长度缩短到常数级别。这个过程可以理解为创建了一个只有系统“知道”的秘密，而任何了解如何生成该公共参数的人都可以伪造证明，这一过程就是【初始化可信设置】。该方案虽然大幅缩减了证明长度，但是也带来了一些安全风险，因为任何了解如何生成该公共参数的人都可以伪造证明。不过，这一方案确立了未来十年最重要的零知识证明技术分支。

而伴随着零知识证明理论的不断发展，密码学家们开始在工程化方向上深入研究。2013年，Rosario Gennaro，Craig Gentry等人在Jens Groth 2010年工作的基础上，做出更加优化的改进方案，大大缩短证明时间，并且将证明长度缩小到更加小的常数级别。随后，Parno等人在此基础上实现了一个叫做Pinocchio的可验证计算协议，并且继续做了优化和改进。

2014年，加密隐私货币ZeroCash诞生了，Eli Ben-Sasson, Alessandro Chiesa等人稍稍改进了Pinocchio协议，这是零知识证明技术在区块链领域的第一个成功实现。ZeroCash就是Zcash的前身，Zcash团队也在零知识证明工程化方面做出了比较大的贡献。

### **1.3 零知识证明发展现状**

零知识证明技术与Zcash的结合，让人注意到其在区块链领域能够发挥的巨大作用，也是零知识证明技术从理论走向应用的重要实践。

零知识证明目前主要有以下几种方案，每种方案都代表着不同的零知识证明实践，不同的实践也会产生不一样的效果，**主要体现在安全性、证明尺寸、计算速度和验证速度上。**

  

image.png

横轴代表证明尺寸的大小，纵轴则代表安全性假设。其中，**安全性最高的是STARK算法**，该种算法不依赖数学难题假设，具有抗量子性；\*\*证明尺寸最小的是SNARK方案中的Groth16算法；\*\*PLONK也是SNARK方案中的一种，安全性和证明尺寸都处于适中。**目前应用最广泛的就是zk-STARK和zk-SNARK两类。**

### **1.3.1 zk-SNARK**

SNARK（Succinct Non-Interactive Argument of Knowledge）是简洁非交互式知识论证的缩写。\*\*该种方案的特性是简洁的，即验证过程不涉及大量数据传输以及验证算法简单，这就意味着验证时间不会随着运算吞吐量而成倍增长。其次，非交互式知识论证是从证明者到验证者的单条信息，会让整个验证过程变得更加高效。\*\*而Groth16是目前验证速度最快、数据量最小的zk-SNARK，Zcash是其首个广泛实现。Groth16是在Pinocchio协议上做了进一步优化，在略微加强安全性假设的情况下，把证明尺寸压缩了将近一半。

但是Groth16方案的备受争议的一点就是【初始化可信设置】，因为CRS中隐藏的随机值通常是有小部分群体制定的，因此可能存在信任问题。而且，理论上来说，如果证明者拥有足够的算力，就可以提交假证明，从而影响整个系统的安全。这也是为什么量子计算机被认为可以威胁这种算法的原因。所以，【初始化可信设置】也是其它零知识证明技术努力尝试克服的最核心问题。PLONK算法也是针对可信设置做出的改进，我们会在后文详细论述这两种算法的差别。

为了解决这个问题，斯坦福密码学家Benedikt Bünz等人提出Bulletproof（防弹证明）技术，相比较早的zk-SNARK，不需要初始化可信设置，但是计算和验证时间都比STARK长，但是证明尺寸比STARK小得多，该种方案一经提出就被Monero项目采纳。

### **1.3.2 zk-STARK**

STARK（Scalable Transparent Argument of Knowledge）是可扩展的透明知识论证，是作为SNARK的替代版本而创建的。与SNARK的Succinct的“S”不同，STARK的“S”代表的是Scalable（可扩展性），主要表现在STARK生成证明（Proof）时间复杂度近似于计算的复杂度，而验证证明（Verify Proof）的时间复杂度远小于计算的复杂度。也就是说随**着STARK扩展性提高，STARK的证明复杂度并没有相应增加。**

但更重要的是，**STARK不需要进行初始化可信设置**，因为它们依赖于通过哈希函数碰撞进行更精简的对称加密方式。这也是STARK中【透明】（Transparent）的部分。

STARK相较于SANRK的第三个改进是抗量子计算，意味着其并不会被量子计算破解。当然，这些改进同时也伴随着牺牲。**相比于SNARK，STARK更加复杂，证明大小从288字节增加到几百KB，而且消耗的以太坊验证手续费也更高。**

  

image.png

### **1.3.3 可信设置的零知识证明方案**

基于可信设置的零知识证明系统虽然需要生成公共参数，但是在运算成本以及证明大小上被证明具有自己的优势，因此仍然是许多面向隐私的区块链应用的首选工具。可信设置零知识证明系统的安全性很大程度上可以归结为公共参数生成的安全性，而以受信任地中心化方式生成这些参数是可能的，但是与去中心化的目标不兼容。到目前为止，**可信设置中使用的首选技术是多方安全计算（MPC）。**

MPC方案试图确保没有任何一方能够生成或能够获取关于这些参数的底层数学结构的知识。其通过要求生成过程在尽可能多的独立参与者之间共享来实现这一点，只有少数人（甚至是一个人）需要诚实行事，以确保设置安全。显然，**使用MPC时，参与者的数量越多，参数的安全性越高。**

Zk-SNARK就是可信设置的零知识证明方案，但是在这其中也演化出不同的算法。Groth 16和PLONK是现在采用最多的可信设置零知识证明方案，二者的区别在于：

**Groth16是验证速度最快和数据量最小的方案**，但是由于Groth16的秘密计算与特定的问题相关联，每次需要通过根据不同的问题，重新开启一轮MPC可信设置。而需要多方参与的计算协议通常是极为繁琐的，这就非常影响Groth16的性能。

\*\*PLONK是Sonic的改进版，证明时间缩短5倍。Sonic是一种可更新的全局CRS方案。\*\*所谓可更新是指，可信预设置可以随时进行更新，只要大家怀疑秘密已被泄露。所谓全局，是指计算过程不再与CRS绑定，一个应用只需要完成一次可信预设置即可实现不同的零知识证明电路计算。也就是说，可信设置只需设置一次，除了进行更新外，不用每次根据不同问题再去举行新的MPC。下图为Groth16和PLONK性能对比：

  

image.png

PLONK算法由来自于Protocol Labs的研究员Gabizon和以太坊隐私交易协议Aztec Protocol 的两名研究人员合作完成。**PLONK的提出晚于Groth16，在证明大小和验证速度上与Groth16有一定差距，但是基于可更新的可信设置这一特点，使PLONK算法在零知识证明领域占据了一席之地。**

### **2 零知识证明技术应用**

零知识证明技术的两个重要特点是其能在区块链领域得到应用的主要因素：

\*\*1）\*\*零知识证明能够保护数据的隐私性，在不泄漏数据信息的条件下对其进行证明；

\*\*2）\*\*零知识证明仅需要生成很小数据量的证明就可以完成对大批量数据的证明，在压缩数据量、提高性能方面可以发挥很大的作用。

因此，零知识证明作用的两个方向是：

  

image.png

### **2.1 隐私保护**

隐私保护一直都是区块链中一个极为重要的概念，代表了在分布式网络中保护交易和参与者的能力。虽然区块链一直推崇匿名性，但在多数交易中，交易参与者虽无需使用真名，但是仍然可以通过重复使用公钥哈希值作为交易标识，从而识别交易者，所以这类交易仅仅具备了化名性，并没有实现真正的匿名。默认情况下，用户的每一笔交易都是公开的，一旦被锁定了某个用户地址，就可以根据该地址查看其资金来源、计算持仓甚至分析用户的链上活动。

\*\***零知识证明技术则可通过提交不透露任何信息的证明，确认交易的有效性，实现交易信息的完全匿名。**\*\*在强调加密隐私性问题的发展时期，众多开发者投身于隐私公链的探索中，零知识证明的隐私保护和数据压缩能力是其成为公链组成技术的重要原因。这一时期，Zcash、Monero等项目都大放异彩。

以Zcash为例，ZCash 最早采用的是Pinocchio协议，2019年切换到了Groth16证明系统。ZCash 钱包地址分为隐蔽地址和透明地址两种。透明地址之间的交易 与比特币交易没有区别：发送者、接收者以及交易金额都是公开可见的；隐蔽地址之间的交易也会出现在公有区块链上，但交易的地址、资金的数额以及备注字段都是被加密过的，再由zk-SNARK 证明在网络共识规则下验证交易的有效性；另外，隐蔽地址和透明地址之间也是可以进行交易的。 Zcash 在保护交易隐私的同时还是保持了对审计及监管的友好，隐蔽地址 交易的发送者和接收者都可以公开交易细节给第三方，用于满足见证、合规或审计需求。

### **2.2 扩容**

\*\*“不可能三角”是以太坊这样的L1区块链面临的永恒难题，不同的链也总在去中心化、安全性和可扩展性之间寻找平衡。\*\*以太坊更侧重于去中心化和安全性，因此不得不面临可扩展性方面的限制。以太坊上的gas费用之高、交易确认时间长都在很大程度上影响了其使用体验。因此，其核心开发团队和社区一直在探索各类扩容方案。

有两种方法可以对区块链进行扩容：

\*\*1）\*\*对L1层区块链本身进行扩容，方法包括增加区块大小，或者进行分片，即将区块链网络中的节点分成若干个相对独立的分片，单个分片负责的处理规模较小，甚至只存储部分网络状态，多个分片并行处理事务，理论上整个网络的吞吐量将会提升。然而，这样的方式会带来去中心化程度上的牺牲；

\*\*2）\*\*将L1层网络上的交易转移至L2层， L2层对交易进行汇集，然后发送至L1层网络进行结算。这样，每一批交易付一笔gas费用，而不是每笔交易都付gas费用。因此，所有交易对gas费用进行平摊，有效降低了每笔交易的费用。这样，L1就成为了L2上所有执行交易的结算层。L2层扩容方案可以在不牺牲去中心化和安全性的同时，L1的解决可扩展性的问题。

当然，L2层扩容方案也经历了状态通道到Plasma再到Rollup的演化。目前，\*\*Rollup是最主流也是最有发展潜力的L2。\*\***Rollup 是指先在链下进行复杂的计算和状态维护，再将与状态更改相关的数据通过合约调用的方式，利用更便宜的CALLDATA 在链上保存数据，将大量交易汇总打包成一个交易，最终在保证了【数据可用性】的前提下提高TPS。**

Rollup方案的共同点是强调链上数据可用性，即任何人都能根据链上保存的数据，复原出全局的状态，从而消除数据可用性问题带来的安全风险。零知识证明发挥作用的一点正是在压缩链上计算量的同时保障了数据正确性。

ZK Rollup方案起源于18年下半年，该方案的关键在于ZK，它的每一次的状态转变都需要提供零知识证明，并由主链上的合约进行验证，只有验证通过才能更改状态。即，ZK Rollup 的状态转变严格依赖于密码学证明。（注：ZK Rollup原理详解推荐李画的《一文理清Layer与跨链方式》）

当然，也有其它的Rollup方案，比如Optimistic Rollup ，该方案形成于19年下半年。它的每次状态转变无需严格验证，它是先乐观地假设每次转变都是正确的，然后在一定时限内可以对某次转变进行挑战，如果挑战成功就证明之前的提交有问题，会惩罚提交者并将状态回滚。即，Optimistic Rollup 的状态转变依赖于经济激励和博弈。

ZK Rollup的突出问题在于难以实现可编程性上，不过ZkSync的虚拟机及其相关设计能够让可编程性落地；Optimistic Rollup 最被关注的问题似乎是当资金从Layer 2返回时，因为挑战期带来的延时问题，但可以有中间商提供垫付服务，因此，Optimistic Rollup方案落地更快。

二者之间性能对比如下图所示：

  

image.png

相较Optimistic Rollup ，ZK Rollup方案技术上复杂度非常高，需要大量的运算，交易的时延也会变长，运算成本更高昂，不过每笔交易手续费更低，而且验证比运算成本低很多，这样的简洁性为扩容提供了条件。

依据I2beat.com最新数据显示，二层方案锁定资产规模约在67亿美元左右，其中Optimistic Rollup二层扩容方案是由Arbitrum和Optimism提出并首先推向市场，目前占据了二层方案的半壁江山。零知识证明方案锁定的资产规模仅约17亿美元，原因在于技术实现难度更大，生态应用搭建还未真正落地。

  

image.png

### **3 零知识证明方案明星项目**

早期的零知识证明项目Zcash、Monero虽然在隐私保护方面做得很好，但是只能作为一种价值存储手段，难以搭载其它应用。随着众多开发者的努力，他们正试图将零知识证明与智能合约相结合，探索零知识证明技术的更大潜力。当前的应用大致可以分为如下三类，我们本节内容会为大家介绍一些非常值得期待的零知识证明项目，且其中多数还未发行代币。

  

image.png

### **3.1 Mina**

Mina成立于2017年，曾用名Coda Protocol。其开发团队为O(1) Labs，其团队目前由世界级的密码学家、工程师、博士和企业家组成。

\*\*Mina专注于构建轻量区块链，相比以太坊和比特币动辄几百GB的区块空间，Mina的区块大小会维持在22 KB，这就可以使得大多数人参与并成为节点。\*\*低门槛的节点部署，更容易普及到各类用户，用户易接触到节点和部署节点，也会让网络更加分布式，安全性也相应的得到提高。

Mina能做到恒定区块大小的核心是使用了【递归零知识证明】，即在每次区块生产时，利用zk-SNARK技术将区块压缩为单个证明，并且每个新的SNARK证明都包含过去的SNARK证明，节点只需检测该证明即可，因此不需要检测整个交易历史记录。

但这只是第一步，区块链的一个特性是每个区块都需要引用上一个区块，因为如果只是为每个区块生成SNARK证明，其整体容量还是会线性增长。所以，Mina会为SNARK创建SNARK（也就是递归），然后不断进行迭代和嵌套，将这些SNARK证明以递归结构链接在一起，实现让区块保持约 22 KB的恒定大小。

另外，Mina围绕着零知识证明搭建了一个可保护数据隐私的生态系统，其生态应用Snapps（现已更名为zkApps）可针对部分场景实现特定的业务逻辑，也可以通过转接桥，与其他公链进行合作，增强互操作性，让整个区块链生态互惠共赢。而且具备轻量级节点这一特性，目前只有Mina在该领域进行开发。

融资背景：

2022年3月，Mina宣布完成有FTX Venture和三箭资本牵头的9,200万美元战略融资，这些资金将用于通过吸引世界级的开发人员来加速Mina作为Web3内领先的零知识证明平台的采用。

在此之前，Mina曾进行过四轮融资，融资金额约为4,815万美金，参投方包括Coinbase Ventures、Polychain Capital、Three Arrows Capital、Paradigm、Multicoin等顶级机构，优秀的投资机构往往会更加关注长期价值，而且这些机构多数自带IP流量，对Mina未来市场的主动拓展非常有利。

### **3.2 ZkSync**

zkSync是由Matter Labs团队构建的项目，该团队成立于2019年12月，主要以以太坊扩容为目标。\*\*zkSync 1.0 是以太坊上的一个ZK Rollup（零知识证明） L2 扩容解决方案，主要聚焦于支付，于2020年6月上线以太坊主网。\*\*zkSync一开始采用的SNARK算法是 Groth 16 ，使用Groth 16，不仅仅需要一次可信设置（比如zkSync创世之初），而且zkSync上每次有新的应用升级都需要进行可信设置。这也为zkSync 1.0创建EVM兼容环境制造了障碍，因此 zkSync 1.0只是限于特定应用，比如支付等。

zkSync 2.0则是构建于以太坊之上可兼容EVM的L2解决方案，也被称为zkEVM，因为它重新编译了EVM代码并用零知识证明来校验Rollup交易，允许开发者使用以太坊的本地编程语言在一个低gas费、高度扩容的L2环境构建和部署去中心化的应用。

2021年5月，zkSync发布zkEVM的Apha版本，并且期望主网可以在2021年8月份上线，但由于技术难度而被推迟。2022年2月，zkSync 2.0公共测试网上线。zkEVM已经发布，这是以太坊测试网上第一个兼容EVM的ZK Rollup。

**融资背景：**

2021年3月，Matter Labs完成了由Union Square Ventures领投的600万美元A轮融资，其它知名投资机构包括Placeholder和Dragonfly。这轮融资更令人注目的是同时引入了非常多的生态合作伙伴，其中不乏加密货币领域中最知名的公司和创始人。

2021年11月，Matter Labs又完成了由A16Z领投的5,000万美元B轮融资，其它战略投资者中还包括了不少中心化交易所（Blockchain.com, Crypto.com, ByBit, OKEx)。在融资宣发后不久，这些交易所纷纷宣布与zkSync达成合作，支持交易所与L2之间的充值/提币。

### **3.3 StarkWare**

StarkWare团队成立于2018年5月，其团队由世界级的密码学家和科学家组成，核心成员是Zcash的前首席科学家，多年来在零知识领域开拓创新，zk-STARK技术正是由该团队在2018年的一篇学术论文中提出。该论文作者随后创建了StarkWare。

\*\*StarkWare与zkSync一样都是零知识证明扩容解决方案的玩家，但是StarkWare是基于STARK。\*\*STARK的问题在于其技术不如SNARK成熟，并且如果它实现了图灵完备，就很难与EVM兼容。StarkWare创建了一种特定的编程语言Cairo来运行由STARK支持的自主型程序。并且StarkWare 团队现在正与Nethermind团队合作创建代码转译器 Warp，将Solidity 智能合约无缝转换为 Cairo，以便使其与EVM 兼容。

\*\*StarkWare推出StarEx，并允许创建由Cairo和STARK提供支持的应用专用型的ZK Rollup。\*\*dydx、Immutable、Deversifi是由StarkEx支持的3个主要应用。到目前为止，StarkEx已经通过这些应用处理了超过500万笔交易，价值超过2,500亿美元。

2021年11月29日，他们发布了StarkNet的主网Alpha版本。StarkNet是一个ZK Rollup二层应用网络，计划发展自己的生态系统。

**融资背景：**

StarkWare总共进行过四轮融资，融资金额超过1.6亿美元，参投方包括众多顶级机构，如Paradigm、Polychain、红杉资本、IOSG等，天使投资人包括以太坊创始人Vitalik Buterin（V神），备受加密圈子青睐。

### **3.4 Aztec**

Aztec团队成立于2018年，其团队成员多为世界一流高校的博士，团队中也有来自Zcash前研究员，技术背景很强，其自主开发的PLONK算法被业内多家项目采用。

Aztec也是通过ZK Rollup技术解决以太坊的扩容问题，自项目成立到Aztec 2.0上线，团队一直在对PLONK算法进行深入研究，期间发布了PLONKUP等零知识证明算法，V神也对该团队的研发能力推崇备至。

**Aztec网络主要有两个作用，一是保障用户交互的时候的隐私性，二是用户可通过Aztec提供可编程的隐私合约，建立完全隐私的应用。**

Aztec 2.0上线后，推出zk.money私人转账应用，发送和接收代币是匿名的，通过递归零知识证明加密交易，不会公开发布任何交易数据，以保护用户的隐私，但是目前只能为用户进行存款转账。Aztec Connect作为第一个隐私跨链桥目前也上线测试网。

Aztec项目发展至今大概为三个阶段：

第一个阶段为Aztec 1.0，是以太坊上的隐私交易工具；

第二个阶段为Aztec 2.0，通过zk-Rollup的方式，成为以太坊的隐私二层，为以太坊带来可扩展性隐私；

从现有披露来看，未来第三个阶段为Aztec 3.0，通过Noir隐私编程语言，实现以太坊二层的隐私智能合约。

但大部分zk-Rollup二层项目面临的问题都是EVM兼容问题，Aztec网络目前还是无法兼容EVM，这会导致很多项目去构造隐私智能合约的难度和成本加大。项目方也有披露，在通过技术研究改善这个问题。

**融资背景：**

2018年11月，Aztec进行了由ConsenSys Labs 领投的210万美元种子轮融资。2021年12月，Aztec完成由Paradigm领投，IOSG等参与的A轮1,700万美元融资，其中包括天使投资人Stani KulecFhov，其为借贷龙头项目Aave创始人。该轮融资将被用于继续开发ZK系统，以及继续完善Aztec Connect，据其说明，该桥进行隐私交易时可以节约高达100倍的gas费。

### **3.5 Aleo**

Aleo项目于2019年正式成立，团队成员由来自谷歌、亚马逊和 Facebook 等公司以及加州大学伯克利分校、约翰霍普金斯大学、纽约大学和康奈尔大学等研究型大学的世界级密码学家、工程师、设计师和运营商组成。

\*\*Aleo通过结构建的zkCloud体系屏蔽身份和屏蔽交易，被屏蔽的身份可以直接（如资产转移）或以编程方式（通过智能合约）进行互动。\*\*在典型的公共区块链中，程序执行发生在由每个网络节点运行的全局“虚拟机”（VM）中的链上。因此，网络中的每个节点都必须重新计算（并集体同意）给定程序的每个步骤。这不仅效率低下，而且会降低速度并增加最终用户的成本。zkCloud 通过将应用程序运行时与区块链维护的状态分离（链上+链下）来克服这些限制，结合递归零知识证明，使得Aleo能够实现完全的可编程性和隐私性，以及更高交易吞吐量。

Aleo为了让发者体验更好，所以构建了对零知识证明应用开发更友好的程序语言Leo。Leo 是一种受Rust启发的静态类型编程语言，专为编写私有应用程序而构建。除了开发者环境友好，它们也推出了开发者激励计划以及测试网激励措施，帮助Aleo初期生态的发展。

**融资背景：**

2021年4月，Aleo完成2,800万美元的A轮融资，本轮融资由a16z领投，Placeholde 、Galaxy Digital、Variant Capital和Coinbase Ventures 参投。

2022年2月，Aleo宣布完成2亿美元的B轮融资，是目前零知识证明赛道内单笔最大的融资数额，由Kora Management LP和SoftBank Vision Fund 2牵头，Tiger Global和Sea Capital参投。

### **小结**

零知识证明技术目前在区块链领域诚然已经占据了非常重要地位，但是发展至今，尚未完全成熟，各个方案在抗量子计算、性能优化等方面都存在一些不足，与EVM的兼容也是目前的一大难题。不过，当前的零知识证明方案正处于快速发展时期，zkSync、Starknet等项目也为区块链的发展带来更多可能性。

### **参考资料**

1. 《零知识证明技术发展报告》，陀螺研究院，安比实验室

2. 《什么是零知识证明？｜ZK 科普系列（一）》，ZK爱好者

3. 《【公开尽调】深度报告：Mina》，头等仓

4. 《Layer2的发展以及zk-Rollup的崛起 | ZK科普系列（二）》，ZK爱好者

5. 《一文理清Layer与跨链方式》，李画

6. 《【密码专栏】超强进阶：PLONK VS Groth16（上）》，趣链科技

**_深潮 TechFlow 是由社区驱动的深度内容平台，致力于提供有价值的信息，有态度的思考。_**

> **_社区：_**
> 
> 公众号：深潮 TechFlow
> 
> 电报：[https://t.me/TechFlowPost](https://t.me/TechFlowPost)
> 
> 推特：@TechFlowPost

_进微信群添加助手微信：TechFlow01_

---

*Originally published on [深潮TechFlow](https://paragraph.com/@techflow-4/zk)*
