LAYER:硬核解读:零知识证明(ZK) 为什么重要?

作者:Glaze&FundamentalLabs研究团队

概要

ZK的前景是美好的,它可以让一些过去不可能的事情变成现实。近年来,ZK领域发生了很多突破性的进展,例如更强的性能、可升级性和不需要信任初始化。这些改进都将ZK推向了应用阶段。因此,如果我们要看到一个新的ZK证明系统,我们可以从以下维度进行评判:

一笔交易和十笔交易的证明时间

一笔交易和十笔交易的验证时间

一笔交易和十笔交易打包后的证明大小

可信初始化

参考字符串长度

CRS支持

SRS支持

递归证明支持

能否抵抗量子计算机

安全性基于任何密码学假设

ZKEVM是ZKRU的下一个里程碑,ZKEVM有三个阶段:

共识级

字节码级

语言级

ZKRU刚刚进入应用阶段,生态并不完善。开发者们还没有发掘出ZK的所有潜力。人们仍不断从这些前沿理论中得到启发,以下是值得关注的方向:

充分利用高TPS和低手续费的应用程序

Layer2之间的通信协议/应用程序

聚合流动性

开发工具/框架

基于云的开发工具

具有独特功能的跨Layer2Layer1应用程序

不同的ZKVM

ZK桥

在其他链上应用ZK

拥有递归功能的Layer2

ZK在DAO和社区治理中的应用

商业化ZK算法

芯片和云计算

ZK的应用聚焦在两个方面:Rollup和隐私。Rollup比隐私有更好的前景。隐私在某种程度上和区块链的开放精神相违背。另外,隐私可能有合规问题。在Web2时代,我们没有看到隐私应用程序达到龙头的位置。所有应用的隐私保护水平在不断提高,但龙头应用往往不是主打隐私的引用,而是易用性最强的应用。隐私是有代价的,大多数情况下牺牲了用户最关心的易用性。

当我们看ZK隐私项目时,以下几点较为重要:

ZK只是技术,我们要专注产品力和团队

ZK是个复杂的技术,会拖慢开发进度

ZK有利于DAO治理和身份认证

ZK是机构上链的必备技术

直觉

一句话介绍ZK:证明者说服验证者相信某些声明是真的,但除了声明是真的之外,验证者没有获得其他信息。

ZK是为匿名而设计的。试想我们可以证明我们的身份证号码是有效的,但是验证者并不能获得我们的身份证号码。这在信息过度索取的今天,具有重大意义。

让我们来看一个更加生动的例子。小明和小红在玩数独。小红想向小明证明她找到了数独的答案,但同时又不透露这个答案,因为小明还没解出这个数独。你将如何设计这个证明?

我们把数独写到卡片上。每张卡片上有一个数字。将他们按照答案排列好,正面朝下。小明可以随机选择一列,一行或者一块。小红将拿出小明所选择的那些卡片,随机打乱后,将这些卡牌翻过来,正面朝上。如果这些卡牌是不重复的1-9,那么小明知道小红解出了数独的某一部分,但也或许是运气。重复以上步骤,如果每次都是正确的。那么就几乎不可能是小红运气好,而是小红真的知道答案。虽然小明得知小红解出了数独,但是小明仍旧不知道数独的答案。

如果你还是有点疑惑,欢迎观看这个视频。UCLA的计算机教授将以5种难度形式,解释什么是ZK。

常见零知识证明流派

在介绍零知识证明流派之前,大家要注意我们常说的ZK-SNARK不是一种算法,而是一种流派。ZK-STARK是一种具体零知识算法的名字。

我们最常见的可能是ZK-SNARK。SNARK的缩写是succinctnon-interactiveargumentsofknowledge。SNARK最特殊的点在于他的N,非交互性。

简洁性:验证所需要的计算资源远远小于重新跑一遍需要证明的程序。

非交互性:证明者和验证者不需要每一轮都沟通。他们只需要在一开始完成可信初始化:其他验证者也可以在可信初始化之后加入验证。

Argument:如果证明者有着无比强大的算力,那么他可以生成假证明。如果这种情况发生,主流的公私钥加密模式也不再安全。

知识:证明者需要知道一些其他人不知道的秘密,才能生成证明。

ZK-SNARK最大的问题在于它需要可信初始化。可信初始化会生成参考字符串。如果RS被泄露,那么任何人都可以生成虚假证明。此外,如何设计多人参与的可信初始化也很具有挑战性。RS还只能被用于指定的程序。对于其他的程序,我们需要另外的可信初始化。因此ZK-SNARK不可能用于通用计算。另外一点,RS不能升级。如果我们升级了程序,可信初始化要重新运行。

Beosin:Ara项目被攻击的根本原因是合约中处理权限存在漏洞:6月19日消息,Beosin Alert发推称,Ara项目被攻击的根本原因是合约中处理权限存在漏洞。0xB817开头地址批准了大量ARA与USDT交换合约,它没有限制从调用者转移的用于交换的资金。[2023/6/19 21:46:59]

为了解决这一系列的问题,科学家们找到了两个方向:

TransparentSetup:可信初始化生成公共参考字符串。CRS是公开的,不需要保密。Fractal,Halo,ZK-STARK,SuperSonic都是采取了这一条路线。这一条路线的问题是生成的证明占用太多的存储,来到了kB的量级。对于区块链来说,存储是非常昂贵的。

UniversalSetup:可信初始化生成了结构化参考字符串,但它需要保密。SRS让可信初始化可以用于不同的程序,这让通用计算的证明可能实现。Marlink,SuperSonic-RSA和Plonk都采用了这条路线。

业界广泛采用以下几种算法:

Groth16:Zcash一开始使用了这种算法。它是零知识证明中的跑分对照组,因为它具有证明快,生成的证明小的特点。它的缺点是需要可信初始化,并且一次可信初始化只能针对一个程序。它拥有最完善的工具链。

Sonic:支持UniversalSetup.SRS的大小和程序大小成线性关系。生成的证明是固定大小,但是验证需要消耗很多的计算资源。Sonic让通用计算的零知识证明变为可能。

Fractal:支持递归。生成的证明占用较多空间。

Halo:支持递归,但并不满足简洁性因为证明时间是非线性的。Halo2是目前主流使用的证明系统。

SuperSonic:第一个实际的,可以应用的TransparentZK-SNARK。

Marlin:程序可以升级。性能处于Sonic和Groth16之间。

Plonk:程序可以升级;参与者按照顺序加入可信初始化。这让进行有很多人参与的可信初始化不那么复杂;Plonk使用Katecommitments而不是多项式承诺。许多现代化的零知识证明系统都构建与Plonk之上。Plonk有着非常优秀的工具链。

如果你想挑几个算法仔细研究,Groth16,Halo,Plonk是最好的选择。

CRS是TransparentSetup路线中生成的公共参考字符串。SRS是UniversalSetup路线中生成的结构参考字符串。证明的大小将决定要占用Layer1多少的存储空间。证明和验证的时间决定了计算资源的消耗。

Source:ComparingGeneralPurposezk-SNARKs

下图是零知识证明算法的Benchmark,基于这个实验。

Source:ComparingGeneralPurposezk-SNARKs

以下有更多的Benchmark和算法对比:

BenchmarkingZero-Knowledgeproofswithisekai|byGuillaumeDrevon|SikobaNetwork|Medium

Zero-KnowledgeProofs:STARKsvsSNARKs|ConsenSys

CommunityProposal:ABenchmarkingFrameworkfor(Zero-Knowledge)ProofSystems(zkproof.org)

ComparisonofDifferentzk-SNARKs

总结以下,当我们看到一个新的ZK算法时候,以下指标是我们需要在意的:

一笔交易和十笔交易的证明时间

一笔交易和十笔交易的验证时间

一笔交易和十笔交易打包后的证明大小

可信初始化

参考字符串长度

CRS支持

SRS支持

递归证明支持

能否抵抗量子计算机

安全性基于任何密码学假设

ZK在最近几年走出实验室,逐渐步入应用。ZK两个主要应用方向是Rollup和隐私。ZK对于隐私产品的变革是显而易见的,得益于ZK可以让验证者不获得任何额外信息。Rollup依赖于ZK的两大特性:简洁和递归。简明的特性有助于验证者节省大量的计算资源。验证者不需要重新运行整个程序。递归特性有助于节省存储空间。通过递归,区块链可以保持一个固定的大小。这也有利于去中心化,因为这样的区块链节点在什么样的硬件上都可以跑起来。

ZK应用开发流程

独立开发一个ZK应用非常复杂,开发需要掌握以下技能:

算法,底层算数,优化技能。开发者需要这些技巧来解决一些有限域算术、多项式承诺和椭圆曲线问题。

ZK证明系统,如ZK-SNARKs、Plonkish和如何可信初始化。开发人员需要选择适当的ZK证明系统,并对其进行定制。

1.15亿枚MATIC从未知地址转入Binance.US:6月6日消息,据链上信息显示,约 10 分钟前,一巨鲸地址将 1.15 亿枚 MATIC(约合 9546 万美元)转入 Binance.US。[2023/6/6 21:19:28]

电路编程技能。开发者需要讲常用密码学算法编写成电路,如MerkleTree和Hash。

应用和密码学协议开发。

有效的开发工具可以加速开发过程,也可以降低复杂性。例如,像Circom这样的工具可以解决底层代数和证明系统。开发人员可以忽略代数和ZK证明系统,专注于电路编程和应用开发。

Rollup机制

Rollup的想法很简单。由于链上计算较为昂贵,因此Rollup希望安全地将计算移动到链下,并只在链上存储计算结果。

哈希树的状态根存储在Rollup合约中。Rollup智能合约从Layer2提交的信息中更新状态根。

Source:AnIncompleteGuidetoRollups(vitalik.ca)

Source:AnIncompleteGuidetoRollups(vitalik.ca)

ZKRollup使用零知识证明来确保从Layer2提交的新状态根是正确的。验证者只需要验证这个证明就可以确认新状态根的正确性。验证者并不需要一个个重新执行Layer2提交的交易。这大大节省了验证者的工作量,提升了TPS。这节省计算量的部分体现了零知识证明的简洁特性。依赖于零知识证明的简洁性,完备性,合理性,ZKRU得以安全地提升TPS。

ZKRU整体来说优于OptimisticRollup。OPRU的TPS略差,并且需要更长的提款周期,因为它依赖于欺诈证明。那么等ZKRU全面铺开以后,不就是ZKRU碾压OPRU了吗?并且OPRU目前的生态并不算过于领先。OPRU并没有坐以待毙,他们尝试将ZK融入自家的解决方案来提升TPS,解决原生提款周期过长的问题。例如,他们将ZK应用于状态变化,这样就可以缩短欺诈证明所需要的时间了。

角色

在Rollup的体系中,一共有三个角色:

用户:用户在Layer2提交交易。他们从Layer1充值资产至Layer2

Rollup节点:Rollup节点负责维护Layer2网络的正常运行。它们需要生成证明,执行交易,打包交易,参与欺诈证明

Layer1:Layer1保证了Layere2的安全性,并负责共识的达成。大部分Layer1目前都是以太坊。

Source:Understandingrollupeconomicsfromfirstprinciples

经济模型

经济模型中最重要的就是成本和收入。对于Layer2来说,支出基本上是以下几个:

生成证明的计算成本

切换状态的计算成本

Layer1交易手续费

Layer1数据存储成本

其中Layer1数据存储成本最为昂贵。这张图展示了数据的传递。首先用户递交交易给Rollup节点。Rollup打包多笔交易并生成证明,存储在Layer1中。

Source:Understandingrollupeconomicsfromfirstprinciples

这张图展示了Rollup在Layer1上的支出已经它们的收入:

Source:L2Fees.infoin3/28/2022

Layer2最常见的收入是手续费和MEV。手续费基于网络的情况,MEV则取决于用户的交易。Layer2也会发行属于自己的代币,并且奖励给Rollup节点。

常见ZKRU

这张图展示了常见Layer2以及他们的市场占比。目前Arbitrum占据市场半壁江山。

Source:https://l2beat.com/on3/28/2022

下图展示了不同Layer2使用的不同技术:

状态验证

欺诈证明:允许白名单执行者监控链上交易,并指出错误状态。

零知识证明:使用ZK-STARKs来证明状态的正确性。

SN:ZK-SNARKs

仅在退出验证:退出网络时,状态会被验证。中间状态并不会被验证。

互动证明:需要多笔交易来解决纠纷。

一轮:只需要一轮证明来解决状态纠纷。

数据可用性

链上:构建证明需要的所有数据都在链上。

外部数据委员会:构建证明需要的所有数据都不在链上。数据委员会负责保护和提供数据。

外部:构建证明需要的所有数据都不在链上。

升级

是:可以随时升级,不需要任何公告。

21天延迟或无延迟:有21天的延迟,除非安全委员会多签通过了立即升级。

Helium:迁移至Solana后Helium钱包将立即支持原生sub DAO代币赎回:金色财经报道,去中心化无线通信网络Helium官方发文称Binance.US宣布计划在Solana迁移之前,于2023年3月21日下架HNT/USD和HNT/USDT交易对,尽管Helium基金会对Binance.US决定在迁移之前采取这一行动感到失望,但我们理解他们的立场。

Helium表示迁移后Helium钱包应用将立即支持原生subDAO代币赎回(如HIP70中所述)以及SolanaDeFi平台内的其他集成,同时为HNT解锁更多去中心化交易协议。(Medium)[2023/3/14 13:02:38]

故障序列

L1交易:用户可以在L1提交一笔交易来强制L2打包自己的交易。

强制交易/L1退出:用户可以在L1提交请求来强制L2打包自己的提款请求,但这意味着用户需要找在系统之外找到交易对手方。

强制L1退出:用户可以在L1提交请求来强制L2打包自己的提款请求。

构建区块:用户需要自行运行节点来构建区块。这个区块包含了用户想要打包的交易。这要求用户自行计算ZK证明。这对算力有很大要求。

L1退出:用户只能在L1提交提款请求。

验证失败

逃生舱:用户可以在无需信任的情况下拿回押金。用户需要提交资金的哈系树证明。押金将会以上一次状态中的平均价格退出。

构建区块:用户需要自行运行节点来构建区块。

Source:https://l2beat.com/on3/28/2022

Source:https://l2beat.com/on3/28/2022

Ethhub列出了ZKRU的几个主要优缺点:

优点

降低用户手续费

优于OPRU的性能,手续费,提款周期

区块可以并行运算,有利于去中心化

更高的TPS

更短的提款周期,优于欺诈证明

缺点

计算证明需要大量的资源

ZKRU的可信初始化较为中心化

量子计算可能会损害安全性

安全假设包含不可验证的信任

目前大部部分ZKRU只支持支付和有限的功能。zkSync是Gitcoin的支付层。ZKRU大多使用自定义虚拟机,并不兼容EVM。例如,StarkEx+Cairo和zkSync1.0+Zinc。

ZKEVM是ZKRU的下一个里程碑。ZKEVM可以划分为三个等级:

共识级:ZKEVM和主网上的EVM等价。生成的状态根是通用的。以太坊在未来计划实现主网上的ZKEVM。

字节码级:ZK证明系统在这个阶段非常重要,需要对EVM友好。字节码级的ZKEVM生成的状态根与EVM的状态跟格式不一样,因为ZKEVM采用不一样的密码学算法。EVM使用的那些对于ZK证明系统不友好。Scroll和Hermez采用这个解决方案。

语言级:在这个级别,并没有真正的ZKEVM。一个转译器将Solidity编写的智能合约或者字节码转译成自定义虚拟机可以执行的格式。zkSync和Starkware都是采用这个解决方案。这个方案的缺陷是,并不能兼容EVM的所有功能。

以太坊基金会的JustineDrake计划在2022年底看到可用的字节码级ZKEVM,但会有以下限制:

与主网相比,较小的GasLimit。

中心化节点由于生成证明需要大量的算力。用户将在2023年使用他们的GPU生成证明。2024年,ASIC将投入使用。节点运营者将从CPU到GPU,FPGA,最后到ASIC。

由于ZKEVM的工程复杂度,ZKEVM会存在Bug。

为了进一步降低手续费,一些ZKRU正在实现Volition,将数据存储的地方从以太坊到链下。

市场上目前有16个ZKRU,其中7个发行了代币,总市值150亿美金,占加密货币总市值的0.67%。

Polygon

Polygon目前在实现4个ZK产品:

Miden:实验性质的ZKRU通用计算平台,TPS1k+,15min提款,5秒产出1个块,隐私交易。

Nightfall:Nightfall是一个ORU,集成了ZK来实现隐私交易。一笔交易需要9kGas,110TPS,为安永会计师事务所设计。

Hermez:EVM兼容的ZKRU,2kTPS。目前网络已经上线,几乎没有交易量。

Zero:通用ZKRU计算平台,支持递归。只需要0.17s就可以生成证明。证明大小45kB。一个账户只占用5bits。

zkSync

zkSync由MatterLabs创立于2019/12基于Plonk开发。目前zkSync支持支付功能以及有限的智能合约功能。智能合约需要用Zinc进行开发。

dYdX社区通过一项建议实施做市商返利计划的提案:金色财经报道,dYdX发布推文表示,社区通过了建议实施做市商返利计划的提案,该提案建议基于做市商交易量占dYdX上30天交易量的百分比来实施返利计划从而激励流动性。dYdX表示,该提案仅仅是一项建议,因为dYdX无法通过治理决定费用和返利。[2023/2/22 12:22:34]

zkSync2.0测试网在2022/2上线,兼容EVM。MatterLabs将大部分OPCODE电路化实现在不修改证明系统的前提下,实现EVM兼容。目前zkSync2.0并不支持ADDMOD,SMOD,MULMOD,EXP,CREATE2和KECCAK256。在这种解决方案下,Solidity成为了一等公民。

zkSync2.0的GasPrice是根据以太坊主网GasPrice和ZK证明成本动态变化的。受以太坊主网GasPrice影响的原因是zkSync会将数据打包存储到以太坊主网。

为了进一步降低手续费,提高TPS,zkSync计划发布ZKPorter。用户可以选择将他们的账户数据存储在ZKPorter上来降低手续费。如果一个账户数据存储在ZKPorter上,则它所有的交易都将由ZKPorter确保数据可用性,交易不再能提交到以太坊主网上。

以下是关于zkSyncTVL和资金种类的图表。大部分zkSync上的资金都是稳定币。

Source:Duneon3/28/2022

Source:Duneon3/28/2022

Starkware

Starkware在2018/5由Zcash核心团队成员创立。

Starkware有两个产品:StarkEx,StarkNet。

StarkEx是一款SaaS产品,为项目方提供ZKRU解决方案。目前客户包含dYdX,DeverseFi,Immutable,Sorare。dYdX每周有4k活跃用户。

Source:Layer2PublicDashboard·Metabase(dydx.exchange)

Source:Layer2PublicDashboard·Metabase(dydx.exchange)

StarkNet是更加开放的ZKRU相比于StarkEx,任何人都在可以在上面部署合约。StarkNet目前不兼容EVM。StarkNet使用Cairo来编写智能合约。

Starkware也在推进ZKEVM。他们用了和zkSync不一样的解决方案。他们使用Warp来将Solidity编写的智能合约转译成Cairo。这个解决方案并不如zkSync的解决方案,对Solidity的兼容性较差。

StarkNetAlpha兼容ZKEVM在2021/11上线。目前每日交易数量为1033。

Loopring

Loopring是一个基于ZKRU的交易所,提供低手续费的交易体验,可以达到2kTPS。

Loopring在2018发行了代币$LRC。目前市值为13亿美金。Loopring总共有65k

用户,每天用户增长数为167,每日交易量为10896。

dYdX是Loopring强力的竞争对手。在未来,当ZKEVM正式投入应用,会涌现出一大批DEX,因为Solidity的开发速度比开发Layer2快很多。新的项目Fork也很快。整个交易所的竞争将非常激烈。

ZKRU中的机会

在过去,我们经常听到一些高TPS,低手续费的链标榜自己为以太坊杀手。随着时间的推移,大部分以太坊杀手杀死了自己。剩下的链都找到了自己的发展方向,如DeFi,GameFi。这些链也有了自己的特色应用和完整的生态。

现在开发一条高TPS,低手续费的链不难,难就难在生态和特色应用。因此我们不能只关注纸面性能数据,而要注重用户,生态和特色应用。

Layer2具有的特点是高TPS,低手续费,完整的生态。虽然不少Layer2ZKEVM主网还没上线,但是已经和很多项目达成了合作。

Moonbeam目前的状态就很像一条Layer2。它背靠Polkadot,和大DeFi项目有合作,有完整的DeFi生态和跨链桥,但是缺少特色应用。下图是Moonbeam的TVL图。

Source:Defillamaon3/29/2022

因此完整的生态对于Layer2是不够的,Layer2还需要发掘出它的特色。

特色应用

能够充分利用Layer2长处的特色应用将是Layer2之间竞争的关键。目前我们发现的是类似dYdX的交易所可以充分利用低手续费,高TPS。另一个有潜力的应用便是链游,他们的需求与交易所类似,也是低手续费,高TPS。

跨Layer2应用

Layer2们共享同一个Layer1,因此构建跨Layer2应用将安全的多。我们期待看见开发者利用这个特性,实现一些具有创新的应用。这些应用将不能被复制到跨链生态中,因为只有Layer2才共享同一个Layer1。例如Starkware提出了聚合跨链流动性的构想,所有流动性存储在Layer1,但是可以在Layer2中进行使用。

法律专家:FTX融资方案的预测没有“可行的假设”支持:金色财经报道,Simmons & Simmons律师事务所的合伙人George Morris在FTX公司制作的2020年宣传资料中发现了 \"未经证实的 \"预测。 由姐妹公司Alameda Research制作的一份2018年的文件已经引起了审查,因为它承诺高回报且 \"无风险\"。

一份由FTX在2020年2月为其B轮融资制作的推介材料中,有几项预测被莫里斯描述为 \"未经证实\"。该计划是以10亿美元的估值筹集5000万美元的计划的一部分。虽然推介文件通常只是尽职调查过程的第一阶段,但这份文件让人感受到FTX前首席执行官山姆-班克曼-弗里德向投资者展示的大胆的、有时是牵强的愿景。(the block)[2022/11/18 13:21:53]

开发组件

开发ZK应用是复杂的,开发者需要了解代数,证明系统,电路编写和协议开发。因此他们需要一些合适的开发工具来加速开发,做适当的抽象,省去一些底层的开发。

除此之外,定制化Layer2也将在未来有绝佳的市场。这类型的开发框架可能类似CosmosSDK和Polkadot的Substrate。

当一个应用变得热门,它不可避免的需要占据更多的计算资源。为了降低手续费,它可以选择做一条自己的链,迁移到Layer2和自己定制一条Layer2.

AxieInfinity便面临着一样的问题。在那个时候,Layer2还不成熟,定制Layer2的成熟方法也根本不存在。因此AxieInfinity只能自己开发一条链,来自定义手续费。这带来了几个问题:

不能和以太坊共用生态

无法享受以太坊的流量

跨链桥安全性

在不远的未来,迁移到Layer2或许是一个不错的选择,但是在Layer2开发终将面临一样的问题。应用并没有完全的自主性,还是会面临一些限制,所以最有前景的选择是定制化做一条Layer2。如果那时候跨Layer2非常的成熟,Layer2和以太坊的交互也很方便,定制化的Layer2的使用体验将无比丝滑。

与以太坊结合

Layer2如何与Layer1结合也是一个有意思的方向。只有Layer2和Layer1良好结合,用户才更容易从Layer1迁移到Layer2。这包含了更好的资产桥和通讯协议。

不同的VM

ZKEVM是ZKRU的下一个里程碑。ZKEVM分为三个级别:

语言级别:在这个级别,其实并不存在ZKEVM。我们有一个ZK友好的自定义VM和一个转译器。转译器将Solidity编写的智能合约翻译成这个自定义VM可以执行的形式。zkSync和Starkware都采用这个形式。这个形式的好处是开发速度快,但是无法兼容EVM的所有功能。

字节码级别:在这个级别我们有一个完全兼容的ZKEVM。我们的证明系统对于EVM非常友好。缺点是这一级别生成的状态根和主网EVM的状态根根式不一样。Scroll和Hermez正在实现这一级别的ZKEVM,预计在年底可以推出。

共识级别:共识级别的ZKEVM运行在主网上,这一级别的ZKEVM和EVM别无二样。

除了ZKEVM,我们可能也会看到其他虚拟机,例如ZKWASM等。

Layer2在其他链

zkLink在Solana推出了Groth16。ZKRU在其他链上或许也有机会。ZKRU可以赋予项目更大的自由,以及隐私性。对于企业来说,他们有必要保护客户的隐私。因此Layer2也是让这些企业上链的一个机会。

ZK桥

目前大家都在努力实现一个无需信任的跨链桥,但所有的桥都需要相信第三方。虽然这些桥都要求参与者抵押资产,但我们很难具体计算作恶的成本和收益。ZK可以应用在跨链桥中,用来生成交易证明。这样我们就不需要相信预言机所传递的信息,只需要对证明进行验证就好。目前ZK跨链桥的问题在于如何生成区块的证明,而且扩展性堪忧。不同的链需要开发不同的电路来生成对应的区块证明。

ZK商业算法

商业算法广泛出现在专业领域,例如线性求解器,GPT-3等。如果ZK始终维持着高入门门槛,开源便不能帮助其降低开发和维护成本,因为没有人有能力来为其做贡献。在这种情况下,便会出现ZK商业算法。目前大部分ZK从业者拥有Ph.D.学位。

定制化芯片

随着更多的用户流入Layer2,Layer2将捕获更多的价值。矿工们也将进行军备竞赛,购买性能更强大的矿机。在以太坊的路线图中,未来将集成ZKEVM。Filecoin目前也投入了ZK,矿工需要是生成证明。这也就是说矿工必须需要一枚可以快速生成零知识证明的芯片。

纵览以太坊和比特币矿机,一开始矿工们使用触手可得的CPU和GPU进行挖矿。在这个阶段,软件开发者需要为算法适配硬件加速。在这之后FPGA出现了。FPGA具有更好的能耗比,更强的性能,并且是可编程的。用户可根据算法的不同,对FPGA进行编程,来适应算法。ASIC最后出现,因为它的设计,量产需要更长的时间。ASIC具有最好的能耗比,最强的性能,但是缺点是生产周期长,并且不具备可编程性。

未来是属于ASIC还是FPGA将取决于这些Layer2会不会频繁切换证明系统。每年都有更好的证明系统被开发出来。如果Layer2频繁进行切换证明系统,只能适用于单一计算任务的ASIC将被迫不断推出新产品,但同时Layer2切换证明系统也会带来很多工程化上的问题,例如重新适配ZKEVM。

递归

递归可以使区块链有更小的体积。更小的体积意味着节点可以运行在低端设备中。这非常有利于去中心化。简洁的特性使区块链可以无副作用的提升TPS。因此递归和简洁将可以打破区块链的不可能三角:安全性,去中心化和TPS。

隐私

ZK已经被用于很多隐私项目中。例如,TornadoCash,Zcash,DarkForest。保护隐私分为三个阶段:

交易隐私:用户可以隐藏他们的交易。

通用计算隐私:目前以太坊上的所有计算过程都是公开的。任何人都可以看到输入,输出,和状态转换。通用计算隐私将隐藏这些计算过程。

函数隐私:有时调用函数的名称会泄露信息。例如,mint()往往意味着铸造代币。函数隐私将隐藏函数的调用记录。

目前隐私赛道的总市值约为100亿美元,约占整个加密货币市场的0.45%。每日交易量约为10亿美元。

TornadoCash

TornadoCash是一个基于智能合约的隐私交易工具。它可以用来匿名转账,现在支持以太坊,BSC,Polygon,Optimism,Arbitrum,Gnosis和Avalanche。

存款,获得凭证,提款。用户就可以完成一笔隐私转账。在新版Nova中,用户可以选择任意的提取金额。ZK用于生成提款凭证。

下图展示了TornadoCash的TVL和用户增长。

Source:Duneon3/28/2022

Source:Duneon3/28/2022

下图展示了$TORN的价格。$TORN是TornadoCash的治理凭证以及提供流动性的奖励。

Source:TradingView3/28/2022

Zcash

Zcash是一个使用ZK-SNARK来实现隐私交易的区块链。与基于智能合约的TornadoCash不同,Zcash使用了一条链来实现隐私。

下图展示了Zcash链上每日交易量。

Source:ZcashTransactionsCharton3/28/2022

下图是$Zcash的价格走势。

Source:TradingView3/28/2022

Zecrey

Zecrey是一个支持以太坊、Polygon、BSC、Near和Avalanche的隐私支付应用。它处于保护隐私的第一层,交易隐私。Zecrey提供一个浏览器钱包,用户可以用它匿名转账,交易代币。这些匿名性都由ZecreyLayer2保证。因此用户需要先将钱存到ZecreyLayer2中才可以使用这些匿名功能。ZecreyLayer2是ZKRU基于Plonk。Zecrey还支持资产跨链。目前Zecrey每日交易量大约为10笔。

Source:Zecrey

Suterusu

Suterusu是一个支持以太坊、BSC、Fantom和Polygon的隐私支付应用。它使用Layer2来保护用户的交易隐私。它还有一个跨链桥,可以在以太坊和BSC之间转移$SUTER。未来它计划推出NFT匿名转账以及匿名拍卖。Suterus采用ZK-ConSnark,这种算法不需要信任设置。

Suterusu共有15k用户以及24k笔转入。目前用户增速非常缓慢。Suterusu的市值大约1000万美金。

Source:Suterusu

DarkForest

DarkForest是一款多人网络游戏。玩家需要占领更多的星球,获得更多的资源。玩家可以向其他星球输送能量来占领它们。星球的位置是保密的。玩家需要利用哈希碰撞自己找到这些星球。ZK被用来证明与位置有关的操作:

行星初始化

行星资源的转移

在DarkForestv0.6第一轮中,有1700名玩家参加。其中700人得到了进入下一轮的机会。在第一轮中,玩家们一共提交了200万笔交易,花费了大约1.5万亿Gas。假设它是在以太坊上,GasPrice是80,那么这些玩家的手续费总共是120ETH。

StealthAirdrop

StealthAirdrop允许用户匿名地领取空投。用户首先使用他们满足空投领取条件的钱包来生成零知识证明,接着他们可以用其他钱包和这份证明来获得空投代币。

StealthAirdrop代表了ZK在治理方面的运用。在现实世界的治理中,我们也广泛应用匿名这个特性。例如在投票中,如果你发现有影响力的人物都投了赞成票,你也会受其影响,更有可能投出赞成票。因此匿名投票可以帮助用户独立投票。

在2021年,以太坊基金会对于ZK的资助主要集中在ZKEVM和治理方面。以太坊基金会主要资助了两个项目,其中一个就致力于解决投票贿赂问题。

A16Z也实现了类似的东西a16z/zkp-merkle-airdrop-contract。

zkProofofBuffiness这个项目在ETHDanver上发布。用户可以生成ZK证明来展示他们拥有一个Buffiness,而不透露他们的个人身份信息。这是ZK在身份认证相关的应用。

Source:zkPoB

总结

隐私市场较小。隐私项目很早就出现了。Zcash始于2016年。然而,整个隐私市场只占加密货币市场的0.45%。起步晚的Layer2也远超隐私市场。

将会受益于更高的隐私标准。在不牺牲易用性的情况下,用户会追求更好的隐私保护。特别是在手机行业,谷歌和苹果正在推动更严格的隐私标准。欧盟也提出保护消费者隐私的法规。像Let'sEncrypt这样提供SSL证书的基础设施公司更严格的意思标准中受益。在未来,当ZK因为更好的隐私保护而会被这些巨头公司采用时,ZK基础设施将有巨大的机会。

ZK是金融机构入驻的必备条件。一些机构在尝试上链,他们有责任保护好客户的隐私。因此ZK在这个场景下将成为区块链的标配,来提供隐私功能。

有利于DAO治理和身份。匿名在民主治理有着重要应用。ZK可以实现匿名投票,让投票者独立思考,不被他人的决定所干扰。身份验证也可以从ZK中受益。用户可以在不显示其实际地址的情况下展示其资产。

忽略ZK,专注于产品的易用性。ZK可以更好地保护隐私,但一个产品并不全是ZK。ZK是一种技术,我们更需要强调产品的易用性。通常,更好的隐私保护并不意味着易用性,但易用性是最关键的。因此,要更加关注易用性、市场和团队。

另一个有趣的项目

ZKRepel

ZKRepel在GR13中成功母子5000万美金。ZKRepel是要给在线Playground,开发者可以快速体验如何编写电路,并生成证明。ZKRepel比较像早期的Remix。

大环境上,我们看到了从本地开发到云开发的范式转变。在这之中有一些著名的产品,如Codesandbox,Codepen,Codespaces。有了这些产品,开发人员可以在任何地方任何时间使用他们的开发环境。开发者也可以快速建立新的开发环境。Github提出面对日益复杂的软件开发,开发环境作为基础设施是必不可少的。Github内部开发环境已经迁移到了自家的Codespaces。

目前没有关于ZK开发者数据的明确统计。从Github上的数据来看,ZK开发者比Solidity开发者少了500多倍。

Source:ZKRepel

更多的ZK项目

Source:HowtofundyourZKProject?

以下项目专门自主或者投资ZK项目。

ZKTechGitcoinGrants:第一轮中为19个项目中匹配了10万美元。

0xPARCGrants:支持以太坊和其他去中心化平台在应用层面的创新。

zkDAO:由zkSync和BitDAO支持的新推出的2亿美元基金,以支持zkSync生态。2亿美元中的7.5%将用于Grants。

PolygonZK基金

AztecGrants:目前的重点是跨链桥、工具和分析。

HarmonyZK基金:专注于ZK和隐私研究的1000万美元基金。

ZKValidator::专注于ZK的基金。过往投资有Aztec,Penumbra,Ironfish,Anoma,zkSync,Aleo,Diversfi。

Aleo推出的ZPrice

NilFoundation:致力于数据库和密码学方面的项目。

总结

ZK的前景是美好的,它可以让一些过去不可能的事情变成现实。近年来,ZK领域发生了很多突破性的进展,例如更强的性能、可升级性和不需要信任初始化。这些改进都将ZK推向了应用阶段。因此,如果我们要看到一个新的ZK证明系统,我们可以从以下维度进行评判:

一笔交易和十笔交易的证明时间

一笔交易和十笔交易的验证时间

一笔交易和十笔交易打包后的证明大小

可信初始化

参考字符串长度

CRS支持

SRS支持

递归证明支持

能否抵抗量子计算机

安全性基于任何密码学假设

ZKEVM是ZKRU的下一个里程碑,ZKEVM有三个阶段:

共识级

字节码级

语言级

ZKRU刚刚进入应用阶段,生态并不完善。开发者们还没有发掘出ZK的所有潜力。人们仍不断从这些前沿理论中得到启发,以下是值得关注的方向:

充分利用高TPS和低手续费的应用程序

Layer2之间的通信协议/应用程序

聚合流动性

开发工具/框架

基于云的开发工具

具有独特功能的跨Layer2Layer1应用程序

不同的ZKVM

ZK桥

在其他链上应用ZK

拥有递归功能的Layer2

ZK在DAO和社区治理中的应用

商业化ZK算法

芯片和云计算

ZK的应用聚焦在两个方面:Rollup和隐私。Rollup比隐私有更好的前景。隐私在某种程度上和区块链的开放精神相违背。另外,隐私可能有合规问题。在Web2时代,我们没有看到隐私应用程序达到龙头的位置。所有应用的隐私保护水平在不断提高,但龙头应用往往不是主打隐私的引用,而是易用性最强的应用。隐私是有代价的,大多数情况下牺牲了用户最关心的易用性。

当我们看ZK隐私项目时,以下几点较为重要:

ZK只是技术,我们要专注产品力和团队

ZK是个复杂的技术,会拖慢开发进度

ZK有利于DAO治理和身份认证

ZK是机构上链的必备技术

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-0:782ms