作者: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不能升级。如果我们升级了程序,可信初始化要重新运行。
去中心化交易平台Oasis.app宣布更名为Summer.fi:6月26日消息,去中心化交易平台 Oasis.app 宣布更名为 Summer.fi。[2023/6/27 22:01:45]
为了解决这一系列的问题,科学家们找到了两个方向:
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。
Oasis Pro Markets与Solidus Labs合作,提供机构级的加密货币风险监测和合规服务:金色财经报道,交易系统Oasis Pro Markets宣布选择Solidus Labs作为战略合规合作伙伴。Solidus的加密原生、自动化和全面的统一市场完整性软件套件HALO,将使Oasis Pro Markets能够在一个平台上访问多个风险和合规项目,利用由机器学习支持的基于行为的检测模型来处理一系列特定于加密货币的威胁和警报。
Oasis Pro Market在5月份宣布获得了2700万美元的A轮超额认购。投资者包括Avalanche Fund、Inveniam、Redwood Trust、TrustLabs、Mirae Asset Venture Investment、Gate Ventures、LedgerPrime。(businesswire)[2022/9/16 7:01:03]
应用和密码学协议开发。
有效的开发工具可以加速开发过程,也可以降低复杂性。例如,像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
仅在退出验证:退出网络时,状态会被验证。中间状态并不会被验证。
隐私计算网络Oasis推出350万美元专项扶持计划,推动生态DeFi发展:11月9日消息,隐私计算网络Oasis基金会将与MetaMind Labs合作,共同推出Oasis × MetaMind生态扶持计划,该项计划总价值约350万美元,用于支持基于Oasis网络创建的具有隐私保护功能的DeFi应用程序。该项计划将持续12周,基于Oasis网络构建的DeFi项目可报名参与其中,成功入选的团队将从50万美元的ROSE扶持资金池中获得2万美元的项目启动资金。12周结束后,Oasis × MetaMind将邀请一众世界领先的投资机构及个人投资者举行项目演示日,每一个入选的DeFi团队将有机会展示项目运作原理及特色亮点,表现优异的DeFi项目将可以获得Oasis基金会高达300万美元的扶持资金。[2021/11/9 6:41:10]
互动证明:需要多笔交易来解决纠纷。
一轮:只需要一轮证明来解决状态纠纷。
数据可用性
链上:构建证明需要的所有数据都在链上。
外部数据委员会:构建证明需要的所有数据都不在链上。数据委员会负责保护和提供数据。
外部:构建证明需要的所有数据都不在链上。
升级
是:可以随时升级,不需要任何公告。
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产品:
Oasis协议增加Shyft网络以吸引机构加入DeFi:公共区块链Oasis宣布已经与关注合规的Shyft网络合作,旨在创建更加私密和可扩展的去中心化金融(DeFi)版本。合作伙伴关系将利用Shyft的身份系统来实施反(AML)限制。(Coindesk)[2021/1/8 16:40:52]
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图。
野村将推出Cryptoasset托管服务:据CCN报道,野村发布消息称,Cryptoasset将建立一个运营框架,允许投资者在新兴的数字资产部门部署最佳实践。该项目包括资金管理,数字资产安全,资产管理和银行业务的顶级专家。[2018/5/16]
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是机构上链的必备技术
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。