作者: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不能升级。如果我们升级了程序,可信初始化要重新运行。
为了解决这一系列的问题,科学家们找到了两个方向:
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证明系统,并对其进行定制。
电路编程技能。开发者需要讲常用密码学算法编写成电路,如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天的延迟,除非安全委员会多签通过了立即升级。
故障序列
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进行开发。
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中进行使用。
开发组件
开发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是机构上链的必备技术
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。