10 篇塑造现代零知识证明的必读论文
零知识证明在近 40 年中取得了显著的发展,达到了前所未有的复杂性和效率水平。如今,每天都有新的论文和项目涌现,建立在丰富的思想和创新基础之上。
JinseFinance文章作者: Polygon Ventures 文章编译:Block unicorn
零知识的本质
中本聪(Satoshi)精心构建了一种巧妙的解决方案,来解决古老的拜占庭将军问题,这个问题本质上是关于分散式的实体如何达成共识或真相的。这一突破是什么呢?它就是工作证明(PoW)共识算法。全球的矿工们现在可以调整他们的经济利益,从而诞生了一个全球性的共识系统。比特币还使用户能够控制他们的私钥并独立验证交易,引领了一个真正去中心化的托管生态系统。
以太坊则通过权益证明(PoS)共识机制为这一领域带来了一个新的变革,该机制依赖于验证者的激励和处罚来维护网络的安全和和谐。
分布式账本通过在每个网络节点上重新执行计算来强制执行正确性,这就好比为了验证一个单词而阅读整本书。这种方法导致了一种计算效率低下的体系结构,其中每个节点都必须下载最新的区块并执行完整的交易集以验证其与区块的一致性。
开放计算不仅资源密集,还暴露出一个软肋:缺乏隐私。这个漏洞被MEV剥削者所利用,他们操纵交易顺序以谋取个人利益。
认识到这些挑战,区块链社区将注意力转向提升可扩展性和隐私性。这导致了zk-密码学的探索,特别是像zk-SNARK(零知识简洁非交互知识证明)和zk-STARK(零知识可扩展透明知识证明)这样的技术。虽然这些技术在细节上有所不同,但让我们将其留待以后,看一个简化的解释。
从本质上讲,零知识证明允许某人(证明者)向一个不信任的方(验证者)证明他们拥有特定的知识,而不泄露有关这一知识的任何细节。
零知识证明具有两个基本特性:
1. 简洁的数据和省时:验证证明的效率高于直接检查原始数据。
2. 隐私:没有把正在被验证的数据、内容,透露给验证者。
尽管这项技术诞生于1990年代,但最初的应用主要局限于隐私解决方案。IBM于2010年利用ZK创建了其身份混合器Bluemix,而微软的选举保护工具则利用ZKP(零知识证明)来实现可验证的私人选举。
ZKP的能力可以紧凑地验证链下计算,已经激发了针对像以太坊这样的平台扩展的研究。去年,超过7.25亿美元的资金流入了用于区块链的ZK技术,突显了其日益重要的地位。
虽然ZKP的数学复杂,但开发人员可以像使用公钥密码一样将ZK密码学整合到应用程序中。持续的研究侧重于开发最先进的证明者和验证者,强调高效生成证明和快速验证它们。
区块链依赖于关键的链下数据,如资产价格或来自其他区块链的信息。传统上,链外数据源(或acles)如Chainlink扮演了可信赖的数据传输角色,利用一组在经济上受激励的验证者来确保数据的准确性和完整性。
ZKP为加密经济学领域增加了新的信任维度。使用ZKP,这些应用程序可以无可辩驳地证明链下数据和计算的合法性,充当了区块链之外的警惕 “ 监督者 ” 。
ZK格局:扩展
通用Rollups
随着以太坊的快速增长,ERC20代币和ERC721 NFT的交易成本经常飙升至5到15美元的范围,这促使我们需要重新考虑在不影响去中心化的前提下如何实现可扩展性。
进入Rollups时代:以太坊战略性地转向了一个模块化、以Rollup为中心的框架,包括三个不同的层次:1)数据可用性(DA)层、2)执行层、3)结算层。
目前有两种类型的Rollup正在研发中:Optimistic Rollup(乐观汇总)和ZK Rollup(零知识证明汇总),它们提供了Layer 2的扩展解决方案,可以在以太坊链外执行交易并在以太坊链上结算,继承了其安全性。
这两种类型都依赖于序列化程序来接收用户交易,将它们汇总成批次(每批交易可以包含100笔交易),并生成证明以承诺到以太坊主网。乐观汇总(Optimistic Rollup)依赖于监视程序来在争议解决窗口内发现欺诈交易,而ZK Rollup使用有效性证明来确保交易的有效性,无需在链上进行验证。
执行层:执行和状态存储发生在与Rollup特定的虚拟机(VM)中。每个ZK Rollup都有一个排序器,用于编排交易,以及证明者,用于制作验证中间计算的证明。这些“有效性证明”和使用最少的数据,然后被提交到以太坊主网上验证智能合约。
大多数ZK Rollup兼容以太坊虚拟机(EVM),以支持以太坊的智能合同。这种灵活性允许开发人员将基于以太坊的应用程序顺利迁移到第2层(L2)平台。然而,仍然存在挑战,包括证明效率、区块链性能和操作码兼容性。
存储层面:就存储而言,大多数Rollups,包括Polygon的zkEVM、Scroll、zkSync Era和Linea等,更倾向于将数据以压缩格式推送到以太坊calldata中。这种方法保证了活跃性,使用户能够从以太坊重新创建状态并在需要时绕过Rollup。
Block unicorn注释:"calldata" 是以太坊智能合同中的一种数据区域。它是一个特殊的用于存储输入数据的区域,包括在调用合同函数时传递的参数。这些数据通常是只读的,意味着它们不能被修改,而只能用于读取。在以太坊上,开发者通常使用 "calldata" 区域来处理合同函数的输入参数,而 "storage" 区域用于存储合同状态。
然而,一些zk-Rollups,如Starknet的Validium、Matter Lab的zkPorter和Polygon的Miden,将它们的数据存储在由数据可用性委员会(DAC)保护的不同DA层上。EigenDA和Avail等解决方案体现了这种方法,旨在提高吞吐量,同时仍然享受以太坊区块链的安全保障。
EigenDA计划将吞吐量扩展到每秒10兆比特(Mbps)
结算层:ZK Rollups将新的Rollup状态以及“有效性证明”提交到以太坊上的验证智能合同。这些验证器检查有效性证明,以确保离线虚拟机中的状态转换的正确性,并记录新的状态转换。
验证过程可能需要大量资源,单个证明的Gas成本在30万到500万之间。验证时间也可能较长,大约10秒。Rollups(汇总)通常会定期将证明发布到第1层以通过批次处理交易来降低每笔交易的成本。
ZK证明无法用于Rollup内部的共识或交易排序。通常,根据它们的个人规则集,序列生成器会做出共识决策,其中许多遵循首次见到的原则。正在努力去中心化序列生成器,其中一些正在实施,像Espresso这样的共享排序生成器。
基于MEV的Rollup
正如我们之前讨论的,与L2 EVM(二层虚拟机)一起工作时存在一些挑战,这可能会限制计算效率。以太坊的本机函数,如哈希函数,通常与ZK技术不兼容,因为它们具有资源密集型的特性。ZKSync移除了对其中一些操作码的支持,因为他们意识到其中大多数成本都来自这些昂贵的操作。
与专注于以太坊指令集的EVM不同,基于zkVM的Rollup(汇总)提供了运行广泛的与不同计算机架构兼容的软件的灵活性。这些虚拟机具有更广泛的能力,可以运行不同的计算机指令,比如RISC-V和WebAssembly,并生成用于计算的ZKP。
Starknet是zkVM-based rollup领域的先驱。它开发了Cairo,一种专门的低级编程语言,更接近汇编语言。Polygon的Miden使用自己的汇编语言,更接近Move,而Delphinus和Fluent则致力于基于WASM语言的rollups。Fluent和ZKM允许开发人员使用通用编程语言,如Rust、TypeScript、C/C++、Go等构建应用程序。
zkVM-based rollups通过促进构建应用程序,重新定义了Ethereum的能力,这些应用程序在传统账户系统(以太坊账户系统)中很难开发。使用zkVM-based rollup的解决方案,可以更加轻易的开发应用程序。
例如,Miden采用了一种基于客户端的证明模型,其中每个账户充当智能合同,用户负责在其客户端设备上创建ZKP。然后,这些ZKP被提交到Miden rollup以更新全局状态。这种方法允许事务的并行执行并增强隐私,因为诸如代币转账和NFT交换等操作可以在不影响公共状态的情况下进行。
Rollup框架
多个团队已经着手简化零知识(ZK)Rollup的开发,为更多的开发者敞开了大门。这些创新的框架为开发者提供了一套全面的组件,包括排序器、验证者、数据可用性(DA)层、共识层。
利用这些框架的开发者能够获得一个重要的优势,继承以太坊的强大安全性,同时保留了自主选择的自由。他们可以选择部署本机代币或利用以太币(ETH),并具有灵活性,可以与外部验证者互动或实施自定义验证者规则。
Sovereign Labs和Polygon正在积极开发软件开发工具包(SDK),使任何人都能创建具有预定义规则集和强大流动性互操作性的ZK第2层(L2)Rollup。
Lumoz采用全面的方法,通过专用的工作证明(PoW)共识、专用的证明网络和与其他Rollup的通信渠道,为开发团队赋予对其Rollup的完全主权。
LayerN采用混合的zk-OP(OP Rollup-ZK Rollup)架构,承诺交易费用比以太坊便宜一千倍。
Eclipse最近发布了一个通用的L2,作为一个示范,结合了不同的模块化元素——Solana的执行机器将DA发布到Celestia,并使用Risc0生成ZK证明以在以太坊上结算。这些实验推动了模块化论点的发展,旨在将Solana的高性能以太坊虚拟机(EVM)与以太坊的安全性相结合。
汇总即服务
Rollups-as-a-Service (RaaS)简化了Rollup框架和软件开发工具包(SDK)的情况,提供了一个抽象层,便于轻松部署、维护和创建定制的、适用于生产的应用特定的Rollup。
RaaS将开发人员从基础设施管理和监控网络性能的复杂性中解放出来,使他们能够专注于构建应用程序层。曾经需要大量工程时间的任务现在变成了一个简单的10分钟、无代码部署过程。
可以将它们视为Rollup的AWS(亚马逊云服务),简化了Rollup的部署和开发过程。
借助Vistara和Gateway等平台,用户可以自由组合各种模块化组件,仅需几秒钟即可创建符合其需求的个性化Rollup(Vistara和Gateway可以被作为创建Rollup公链的机会)。
这种模块化方法使开发人员能够精确地打造与其独特目标完全一致的ZK Rollup。从执行虚拟机(VM)和数据可用性(DA)层到排序器、桥接器和证明器,开发人员可以灵活选择适合其需求的组件。
专用Rollup
尽管通用Rollup技术有了很大发展,但由于竞争L2区块空间和不断上升的L1批量发布成本,扩展存在限制。特定的dApp需要定制功能,比如DeFi需要快速最终性,游戏需要低延迟,企业区块链需要隐私,这需要应用特定的Rollup技术。
在这方面,Starknet的生态系统走在前列,已处理了超过4.18亿笔交易,应用如dYdX、Sorare和Immutable利用了基于Starkware的Starkex技术构建的特定应用Rollup。Starknet的操作员聚合交易,将它们分批处理,并向以太坊主链提供ZK证明,以确保安全性和降低成本。
Loopring,一种ZK Rollup技术,专注于DeFi用例,提供了类似Block Trade的功能,可以实现CEX级别的流动性即时执行。Myria,另一种ZK Rollup技术,专注于游戏应用,强调低交易成本。最近,Canto宣布正在迁移到一个专注于使用Polygon的链开发工具包的L2,用于处理现实世界资产。
隐私
随着Web3技术迅速扩展,吸引了数百万用户,隐私问题仍然存在,特别是对于机构、银行和企业,它们经常发现自己受法律要求的约束,必须保护其金融交易。
ZK证明增加了一种保护机制,这是最早由zCash推广的初始用例。Zcash使用zk-SNARK来证明交易有效,而不揭示有关发送方、接收方或交易金额的任何信息。钱包余额不以明文形式存储,而是存储为“承诺注释”。
这种加密技术允许用户隐藏其交易的详细信息,同时仍然证明他们拥有足够的资金并遵循协议的规则:
价值隐私:它确认了进入交易(输入)的总硬币数量等于离开交易(输出)的总硬币数量,而不揭示实际数量。
支出权限:它通过一种密码学方法证明了发送方有权使用他们拥有的特定输入,这样就确认他们有权限花费这些代币,这有助于防止未经授权的人消费这些代币。
防止双重支付:它证明了代币以前没有被花费,从而防止双重支付。
隐私导向的L1协议
许多协议,如Aleo、Aleph Zero、Ironfish和Mina,正在进一步拓展界限,专注于重视隐私的第一层解决方案。与以太坊的基于账户的框架不同,这些协议采用了比特币的未花费交易输出(UTXO)模型的修改版本。
共识模型:这些以隐私为中心的协议都采用不同的共识模型。例如,Aleo采用可持续的工作证明(SPoW)机制,其中“工作”涉及生成zk证明,而不是资源密集型的挖矿。Ironfish采用类似比特币的工作证明(PoW)模型,仅通过挖矿生成代币,没有首次代币发售(ICO)。最初设计为第一层(L1)解决方案的Aztec已过渡到第二层(L2)框架,定居在以太坊网络上。
重新定义网络层:除了共识,这些协议重新构想了网络层,倡导点对点数据交换以最大程度保护隐私。例如,Ironfish使用WebRTC和WebSockets的组合与节点建立连接。用户可以建立直接连接,进行交易,创建用于验证规则遵守的zk证明,然后在区块链上结算交易,同时保护他们的隐私。
专注隐私的L2解决方案
与此同时,诸如Aztec和Ola等项目致力于通过启用具有私人账户和加密交易的ZK Rollups来增强以太坊网络的隐私保护。这两个项目都在开发自己的zkVM,非常注重管理私人账户,而不仅仅关注以太坊的兼容性。
ZK应用程序
应用程序利用ZKP的隐私能力,将信任引入到链下数据和计算中。我们可以将大多数用例总结为以下几类:
a. 保密的秘密分享:ZK技术赋予用户通过无需信任的结算层机密地分享秘密的能力。知名的应用程序,如zkMail和zkVoting协议,促进端到端的加密数据共享,确保强大的隐私。
b. 链上保密身份:ZK应用程序使用户能够以可组合的方式创建链上的保密身份,超越了传统数据混淆方法(如混合)的限制。
c. 链下安全保证:利用ZK技术提供了强大的链下安全保证,确保了大量链下数据和计算的完整性和预期状态。
d. 互操作性信任:由ZK技术支持的预言机和桥梁在将链下数据桥接到区块链网络时起着关键作用,维护了加密完整性。
隐私中间件
与创建具有本机隐私功能的全新区块链不同,隐私中间件协议将隐私机制引入现有的区块链网络中。这些平台引入了一个隐私层,充当用户地址和匿名或“隐身”地址之间的中介,提供了一种实际的隐私增强方法。
Tornado Cash受到Zcash隐私模型的启发,部署了一个基于以太坊的智能合同,用于管理存储在隐身地址中的用户余额。使用零知识证明,该协议验证每笔交易的完整性,确保用户不能在混合资金后提取超出其帐户余额的资金。然而,Tornado Cash面临了法规挑战,因为恶意行为者滥用其隐私功能进行非法活动。
为了遵守法规,行业领袖如Vitalik Buterin和Ameen Soleimani正在推动下一代隐私池模型,平衡了强大的隐私和法规遵从性。这些模型探索了各种方法:
黑名单筛查:能够禁止来自FATF(金融行动特别工作组)黑名单上地址的存款,确保协议只用于增强隐私的合法活动。
用户控制的查看密钥:用户保留只读密钥,可以选择性地与监管机构共享。这些密钥验证资金来源和税收义务,同时确认资金不来自黑名单地址。
服务器控制的查看密钥:在这种设置中,协议保留查看所有用户资金和交易的能力,为了增强合规性,向监管机构提供选择性的披露。
像Panther和Railgun这样的平台提供了被保护的代币,这些代币是通过将资金存入这些平台来获得的,以获得可以在以太坊、BSC、Polygon、Solana等区块链上使用的被保护资产。
Nocturne利用多方计算(MPC)和账户聚合器(AA)来创建一个隐形地址层。与铸造zk资产不同,这些地址是用于与协议进行交互的。用户将资金存入存款管理器,该管理器混合所有用户资金并为每个应用程序交互提供隐形地址。DApp永远无法访问这些地址的来源,从而增强了隐私。
Nocturne的存款筛选器在批准交易之前检查合规性
DEX
为了满足机构领域对安全和隐私资产交易日益增长的需求,开发团队正在积极探索基于零知识技术的去中心化交易所(DEX)。与自动做市商(AMM)不同,基于零知识技术的DEX采用订单簿,提供了一系列优势,包括增强的流动性、免费的交易、无限的交易对、多样的订单类型和用户友好的界面。
让我们以Brine为例,Brine采用了一种混合模型,有效地将其运营分为链下和链上两个部分:
链下部分:在链下部分,Brine管理钱包数据和所有订单和交易的实时状态,这个链下组件在高效执行订单和维护最新订单簿方面发挥着关键作用。
链上部分:链上部分处理状态承诺和系统资产。为确保交易的安全性和完整性,Brine利用STARK prover,并随后通过专用的StarkEx合同在以太坊网络上验证这些证明,以确保状态转换的准确性。
Brine的去中心化交易所(DEX)平台使用StarkEx服务来批量处理证明
由于Brine的订单存储在链下,该平台可以容纳各种订单类型,包括限价单和止损单。做市商可以提供流动性,获得类似于中心化交易所(CEX)上看到的费用。
Brine的撮合引擎拥有出色的可扩展性,能够处理高达60万笔每秒的交易。这超越了通常与AMMs相关的限制。重要的是,由于只有加密证明被发布到链上,交易者在其头寸方面可以享受100%的隐私。
除了Brine之外,像Zkex和Satori这样的平台也通过使用类似的机制,使衍生品和永续合同的交易在市场中引起轰动。
互操作性
在两个区块链之间架设数据和资产的桥梁通常依赖于受信任的验证者组或受信任的多重签名保管人,以确保数据的准确传输。这种依赖于外部验证已经导致了重大的安全漏洞,就像Nomad、Wormhole和Ronin等桥梁的遭受的入侵一样,累计造成了超过15亿美元的损失。这些传统的桥梁通常依赖于外部委员会,在将资产锁定在原始链上后,在目标链上铸造相应的资产。
基于零知识(ZK)的轻量级客户端的引入提供了一个革命性的进展,这些轻客户端使用ZK证明来验证源链上的共识变化。运行整个区块链的轻客户端将需要大量计算,因此ZK桥梁将zkSNARK共识变化的证明发送到目标链的执行层,目标链通过验证ZK证明来验证共识变化的正确性。这种方法显著降低了运行节点的计算成本,实现了互操作性,而不依赖于信任假设。
例如,Succinct正在开发一款名为Telepathy的轻客户端,它可以在EVM链上以仅30万燃气的消耗验证以太坊的共识。这些轻客户端可以支持目标链上的各种功能,包括:
使用Zero-Knowledge(ZK)技术允许在不同区块链之间发送任意消息,这些消息可以用于协调或管理不同区块链上的跨链部署。
读取以太坊验证者的权益和余额,用于Layer 2解决方案和再质押协议。
在不依赖锁定/铸币协议的情况下,在链之间提供流动性桥接。
从以太坊跨越目标链访问Chainlink的预言机数据,供Layer 2自动做市商(AMM)和DeFi协议使用。
Polyhedra和zkLink专注于在多个区块链之间构建流动性桥接。与在每个连接的网络上维护自己的流动性池不同,zkLink的目标是汇总流动性并合并所有使用zkLink基础架构的dApp的代币。这有助于提高不同区块链上的流动性,使代币能够在各种应用程序之间自由流通。
Oracles(预言机)和协处理器
Oracles可以分为两种主要类型
1. 输入Oracles- 将链下数据带到链上环境(例如:Chainlink价格数据源)
2. 输出Oracles- 将链上数据传递到链下环境,用于高级计算(The Graph)
智能合同具有固有的局限性,特别是在处理复杂的计算方面,如浮点运算、密集计算或统计分析。这就是输出Oracle受到关注的地方,通过将这些计算任务卸载到外部系统来解决这些计算挑战。
像Chainlink和The Graph这样基于抵押的Oracle运行一组验证者,他们会获得奖励,以便导入来自现实世界(例如CEX上的价格或天气数据)的数据并对这些数据进行计算。然而,当抵押总额低于潜在的被盗价值时,会存在安全问题。黑客可以利用这种不平衡来操纵Oracle数据,从而导致频繁的攻击和套利机会的利用。
这就是ZK Oracle发挥作用的地方,特别是在输出Oracle领域。它们通过提供zk证明来验证在链下执行的计算是否按预期进行。这催生了一个新的类别,称之为:协处理器。
HyperOracle正在通过利用专门的Oracle节点,这些节点生成了与传输的数据一起发送到以太坊区块链上的验证器合同的零知识(zk)证明,从而推动“无信任”Oracles的发展。
这种方法将安全模型转变为“1对N”的模型,即使一个节点提交了正确的数据,验证器合同也可以检测到任何差异。这种设置保证了链下计算的100%计算完整性,同时将最终性降低到仅12秒,与以太坊的区块时间相匹配。
另一个挑战是Axiom提供了一种无信任的机制,用于访问以太坊上的历史状态数据。由于以太坊的状态机性质,智能合同只能访问当前状态,并依赖于中心化的链下Oracle来访问历史状态数据。
Axiom通过提供零知识证明来解决了这个问题,以验证来自以太坊过去区块的块头、状态、交易和收据的真实性。
Herodotus专门提供存储证明,这些证明本质上是ZK证明,用于确认数据包含在L1(一层)和L2(二层)的状态根中。开发人员可以构建跨链应用程序,例如通过在另一条链上提供抵押品来为另一条链上的贷款提供抵押品的借贷应用,以及可以利用另一条链上的NFT资产的游戏应用程序。
身份/个人身份证明
ZKP的隐私保证为设计身份各个方面的新加密原语创造了机会:位置证明、所有权证明、语音证明、教育、经验、医疗数据、KYC。
Sismo是这个领域ZKP的一个很好的例子。该团队正在开发ZK徽章,使用户能够有选择地与Web3应用程序和其他用户共享他们的个人数据。ZK徽章是一种与灵魂绑定的令牌,根据用户的个人数据将其分类到特定群组。例如,用户可以通过生成验证条件的ZK证明来证明他们是长期以太坊用户、某个GitHub仓库的贡献者或美国公民。在验证证明后,Sismo授予用户与其个人数据相对应的徽章。徽章标记了用户的身份,而不实际透露任何敏感信息。
Worldcoin代表了ZKP的另一个创新应用,建立了World ID作为一个开放和无需许可的身份验证协议。该协议利用虹膜生物识别技术进行精确的身份验证,通过卷积神经网络将高分辨率的虹膜扫描转换为压缩形式。这些数据被插入到它们的Semaphore ZKP实现中,以生成一个身份承诺,该承诺存储在World ID合同中。
为了证明他们的身份,用户提供他的World ID,然后对整个列表进行检查以验证会员资格,从而获得访问有用功能的权限,例如投票和一次性空投。
Worldcoin声称在计算哈希后销毁虹膜图像,但没有百分之百可靠的方法来验证图像的销毁
可验证计算
计算证明是一种密码技术,允许一方向另一方证明特定的计算已正确进行,而不披露有关输入、输出或计算本身的任何敏感信息。
Risczero的虚拟机在其机器上运行代码时生成ZKP计算收据,这个“执行跟踪”使任何人都能验证计算每个时钟周期时机器状态的记录,同时保持数据隐私,这就像在RISC-V架构上进行计算时有一个数字公证员。
这打开了许多可能性,例如:
1. 验证已发生的计算而不披露所有细节:利用ZK Proof of Exploit,白帽黑客可以报告智能合同中的实时漏洞,而不披露漏洞的机密细节。此外,Filecoin使用的ZK Proof of Storage可确保矿工在任何给定时间存储数据的副本。
2. 验证媒体的真实性:区分真实图像和篡改图像已成为不断升级的挑战,助长了假新闻的蔓延。内容真实性和出处联盟(C2PA)提出了一项验证图像来源的标准,以确保这些图像确实是真实的,并且是在所宣称的上下文中拍摄的。该标准要求相机对每张照片进行“数字签名”,并附上一系列关于照片的声明(例如位置、时间戳)。然而,在这些图像发布到互联网之前,它们可能会经过调整大小、裁剪和增强,这可能会改变这些声明。Boneh及其团队已经实施了用于各种照片编辑的ZKP,包括裁剪、转置、翻转、旋转以及调整对比度/亮度。因此,任何用户都可以轻松检查证据,以验证新闻报道是否真实,而无需依赖“社区注释”。
3. 验证财务信息:通过利用ZK证明,个人可以将其KYC数据转化为客户端设备上的ZK证明,并在不披露敏感信息的情况下与Dapp共享,以满足合规要求。此外,银行可以签署ZK证明,以确认信用评分的完整性。虽然金融科技应用程序依赖于Plaid来验证此类数据,但需要从银行获得权限来设置此类集成。
Reclaim、zkPass和Chainlink的DECO等协议绕过这些许可要求,将金融数据存储为可由任何Dapp使用的可组合的ZK证明。这些协议的工作原理是充当网站服务器和客户端设备之间的代理,生成TLS(Block unicorn注释:TLS是一种用于保护互联网通信安全的加密协议)收据以确保数据的准确性。它们允许无需信任地导入各种数据,例如Github存储库、Facebook帖子、银行余额、土地记录、税收文件和游戏成就,所有这些都记录为链上的ZK证明。这些协议将Web2数据从中心化的、经过许可的服务器中解放出来,并将它们转化为可组合的Web3凭据。
4. 验证大型模型的真实性:Giza、Space and Time 和 Modulus Labs 正在致力于可验证的算法完整性 - 重点关注零知识机器学习(ZKML)。算法在我们的日常生活中具有巨大的影响,驱动着一切,从在线搜索和社交媒体到个性化推荐,控制我们的注意力,塑造我们的信仰。鉴于它们的重要性,这些算法的透明性和开放性至关重要,因为用户有权知道这些算法的工作原理以及它们的使用方式。
ZKML 技术允许用户验证像 Twitter 这样的平台是否真正使用它们声称的算法,通过为单个帖子的最终输出分数提供加密证明。零知识证明为追究科技公司的责任提供了一个有希望的途径,其应用不仅限于社交媒体,还涵盖了人工智能和医疗保健等各个领域。
隐私计算
(ZKP)本身非常强大,但当与其他加密技术如多方计算(MPC)、全同态加密(FHE)和可信执行环境(TEE)结合使用时,它们开启了新的安全和隐私设计领域。
Renegade 正在开发一个链上黑暗池,确保交易者在执行交易前后都能享有完全隐私。在传统的设置中,当两方希望交换信息和资产时,它们必须依赖中央服务器来解密和处理数据。然而,如果任何一方获悉输出并在代币交换之前中止连接,这可能导致信息泄漏和市场操纵。
为了解决这个问题,Renegade 引入了一个具有多个中继的点对点八卦网络。当交易者寻求进行交易时,中继会识别交易对手并建立多方计算连接,保护交易信息免受第三方曝光。
多方计算(MPC)是一种加密技术,它允许多方协作计算一个函数的输出,而不需要揭示他们的输入。交易者可以交换资产而不需要披露他们的全部余额,这一核心功能构成了一个完整的黑暗池的基础,消除了对受信任操作者的需求。然而,MPC 协议本身无法保证输入数据的有效性。Renegade 在MPC 计算中生成一个 zk-SNARK 证明,确保交易者的余额与其声称的一致。
交易员可以在Renegade上运行中继节点以保持完全的隐私
全同态加密赋予云端对加密数据的计算能力,保护敏感信息免受第三方访问。与此同时,ZKP提供了一种通过简洁的可验证证明来证明计算正确性的手段。
MPC、FHE 和 ZKP的融合开辟了新应用的大门。zkHoldem 通过为每一次洗牌和发牌生成 ZK 证明,彻底改变了链上扑克游戏,确保了可证明的公平游戏。通过还实施 MPC 技术,即使对于他们的服务器来说,也能隐藏玩家的牌,zkHoldem 提高了链上游戏的诚信水平。
ZK工具
证明系统
证明系统是一种涉及一套规则和程序的双方协议,使证明者能够说服验证者某个陈述的真实性。开发人员可以使用多种ZKP系统,每种系统都有其独特的优势和挑战:
zk-SNARK(零知识简明非交互式知识论证):
优点:紧凑的证明大小;快速的验证。
缺点:需要“信任设置” - 一次性的初始化,如果处理不当,可能会启用伪证明。
zk-STARK(零知识可扩展透明知识论证):
优点:无需信任设置;能够抵御量子威胁。
缺点:较大的证明大小;较高的计算需求。
Bulletproof:
优点:避免了需要信任设置;相对较小的证明大小。
缺点:验证和创建比zk-SNARK更耗时。
PLONK:
优点:具有高效的算术运算和简化的设置。
缺点:仍在研究中,尚未得到充分验证。
软件
领域特定语言(DSL)将抽象逻辑转化为电路表示,这些电路表示可以被证明系统使用。DSL用一种非常接近汇编语言的形式来表达更高级的逻辑。例如,Aztec的Noir兼容多个证明系统,因此它对开发人员来说是一个很好的选择。然而,这些语言的复杂性也构成了一种障碍,使大多数开发人员难以进行电路设计。
一股创新浪潮席卷了ZKP领域,许多团队正在开发更高级的语言,以抽象掉汇编语言的复杂性。
其中两个示例是SnarkyJS,这是一种专为Mina区块链量身定制的TypeScript框架,以及Polylang,这是由Polybase Labs开发的另一种TypeScript框架,与Miden的虚拟机合作。
总的来说,ZK工具主要追求三个核心目标:多功能性、用户友好性和性能。Solidity不适合生成ZK表示,因此Starknet团队创建了Cairo,专门用于创建基于STARK的智能合同。
以太坊的抱负包括通过类型0的zkEVM将ZK-EVM集成到其核心协议中。然而,这一抱负伴随着一系列挑战,因为以太坊并未设计为友好于零知识证明,而为以太坊区块生成证明在计算上是昂贵的。RiscZero最近宣布了他们的项目Zeth,它可以证明以太坊的各个方面,包括每个EVM操作码和EIP,以及区块构建,但在将ZK正式纳入以太坊之前还有很长的路要走。
硬件
随着游戏行业的崛起,催生了软件和硬件开发方面的重大进步,改变了个人电脑和游戏机。1993年,Nvidia进入了市场,专注于为3D加速定制的GPU,迎合蓬勃发展的游戏市场。随着人工智能和机器学习(ML)的风潮逐渐兴起,Nvidia认识到其GPU在加速这些领域的复杂计算方面有巨大潜力。因此,他们转向重新定位GPU,以提高AI和ML任务的效率,最终占据了AI芯片市场95%的份额。
类似地,我们预计零知识(ZK)技术将开启一种新的专门硅硬件时代。这些硬件 - 包括GPU、FPGA和ASIC - 将被设计用于加速证明的生成和验证,同时保持成本效益。
在用户硬件上生成ZK证明速度非常慢但维护隐私是必要的。在移动设备上使用SHA2对10KB数据进行哈希运算只需几毫秒,但生成这个数据的ZK证明将需要至少2分钟。
硬件加速团队,如Ingoyama和Cysic,可以通过专用硬件在云端生成证明并将证明返回给用户。
需要大量zk计算的协议还可以与专用硬件提供商合作,以确保最佳性能和有竞争力的价格。例如,Ulvetenna运营FPGA集群,专为ZKP Rollup计算而构建。
这些初创公司提供了多种选择,从在线软件即服务(SaaS)模式到向组织销售专用硬件。有些还提供咨询服务,为应用程序的特定需求设计定制电路。
证明市场
对于需要ZK证明的新兴开发者,与专门的硬件供应商建立合同并寻找经济高效的解决方案可能面临重大挑战。
诸如RiscZero的Bonsai、Nil的Proof Market和Marlin的Kalypso等证明市场充当桥梁,连接需要ZKP生成器的初创企业与提供证明生成服务的企业。在这些市场中,重点关注证明生成的两个关键方面:相关成本和生成证明所需的时间。
Broady,有两类用户群体:注重隐私的消费者和追求效率的初创公司
1. 客户端证明:个人希望生成ZKP以保护隐私,旨在将他们的敏感信息免受集中实体的干扰。他们最好的选择是在移动设备或笔记本电脑上生成ZKP,但由于这需要时间,他们正在寻求将这些任务卸载到专用加速器上。研究人员正在积极探索使用诸如DIZK之类的协议的私人委托方法,旨在确保没有单一的工作人员可以访问完整的秘密,以最大程度地提高隐私和安全性。
2. 服务器端证明:初创公司需要大规模的证明能力,例如一个分散式交易所(DEX),它为其系统中流动的所有交易生成证明,并需要迅速的处理能力以消除其应用性能中的延迟。
在Polygon Venture,我们有幸密切关注ZK技术的发展。这一旅程使我们得以与像Jordi和Daniel这样的先驱者合作,深入研究这一变革性技术的内部运作。
在熊市和牛市的循环舞台中,基础设施往往在低谷期中崭露头角,为接下来的复苏做好准备。回顾以前的牛市,ZK技术仅处于萌芽阶段。快进到今天,真的令人鼓舞的是看到ZK应用的指数增长,ZK扩展的重大进展,以及一个已经显著扩展的无需信任的计算范式的发展。
“ ZK技术的发展速度令人难以置信;几年前看似不切实际的应用现在已成为现实。新的ZK项目可以从各种库、DSL(领域特定语言)、zkVM和其他工具中进行选择。” ——Daniel Lubarov,PLONKY2
我们正在过渡到一个时代,在这个时代中,曾经被视为不可动摇的中心化机构越来越受到怀疑。尽管像谷歌、Twitter和Meta这样的中心化巨头拥有策划和审查的权力,但明显变革的风潮正在酝酿中。
与任何有前途的技术一样,ZK也面临着挑战。确保ZKP的安全性将需要时间,这让人回想起以太坊早期的智能合约漏洞。尽管存在这些障碍,但ZK内在地承载着一种承诺——一种根本性地改变我们相互交往和建立信任方式的承诺。
零知识证明在近 40 年中取得了显著的发展,达到了前所未有的复杂性和效率水平。如今,每天都有新的论文和项目涌现,建立在丰富的思想和创新基础之上。
JinseFinance从传统上讲,群签名在数学上相当复杂且难以实现。然而,使用零知识证明(ZKP),这个数学问题变成了一个简单的编程任务。在本文结束时,你将能够自己编写群签名。
JinseFinance本文对零知识证明技术近四十年的历史文献和最新研究都做了系统的综述。
JinseFinance零知识证明 (ZKP) 是一种加密方法,允许多方验证语句的真实性,而不会泄露语句本身以外的信息。许多区块链利用 ZKP 来提高涉及敏感数据的交互的安全性。
JinseFinance零知识证明并不是新鲜事物。定义、基础、重要定理甚至重要协议都是从 20 世纪 80 年代中期确立的。
JinseFinance本文描述了 SNARK 自 20 世纪 80 年代中期推出以来的进步。
JinseFinance低成本、高性能的可靠zkp生成将成为开发人员的首要考虑因素。这就是为什么我们很激动地宣布,Variant领投了Gevulot的种子轮融资。
JinseFinance在 StarkNet 上探索 ZKX 的开创性发布,其基于零知识证明的去中心化衍生品交易平台彻底改变了 DeFi 的格局。在我们的全面报道中,您将发现创新功能、以社区为重点的空投活动,以及安全高效交易的美好未来。
Weiliang