原文标题:《TheZeroKnowledgeFrontier:OnSNARKs,STARKs,andFutureApplications》
原文作者:VaishPuri,TheTIE研究员
原文编译:KurtPan
「我只知道一件事,那就是我一无所知」——苏格拉底
在今天的文章中,我将剖析有史以来最强大但经常被误解的密码学工具之一:零知识证明。此外,我将重点介绍未来实现的用例和建议,并展示为什么零知识证明是crypto未来的关键。
为什么零知识证明很重要
简单地说,零知识证明是证明者在不实际透露任何信息的情况下说服验证者某事是真实的一种方式。让我们用一个类比来说明这一点:假设我们有两个人,Alice和Bob。Alice有一副密封的52张扑克牌。Alice偷偷拿了一张红牌想向Bob证明她有一张红牌,但不想出示该红牌本身。为了做到这一点,Alice需要将所有的黑牌从牌堆中拿出来,然后将它们展示给Bob。Bob检查所有26张黑牌,验证其不重复不遗漏。由是确定Alice拥有的牌必是红牌。因此,Alice能够向Bob证明她有红牌,而无需实际出示。这个类比是「极度」简化的而且并没有描绘出全貌,但技术背后的核心理念是一样的。
零知识身份验证方案Outdid完成250万美元种子轮融资,Jump Crypto领投:6月30日消息,总部位于英国的零知识证明隐私身份验证方案提供商Outdid宣布完成250万美元种子轮融资,Jump Crypto领投,Superscrypt以及Matias Woloski、Martin Varsavski、Gaston Frydlewski等15名天使投资人参投。
Outdid提供了一个隐私身份验证工具,通过利用零知识证明来验证政府颁发的原始文件,而无需中介机构进行验证并出具证明。2023年5月份,隐私区块链Dusk Network宣布向Outdid投资5万美元。[2023/6/30 22:09:37]
零知识证明并非这十年来甚至这个新千年来的新鲜事物。事实上,该想法是在1980年代由抽象数学的研究者首次提出的。该方案旨在解决当时的与证明者和验证者之间的理论系统–交互式证明–相关的问题。
但是如果验证者是恶意的怎么办?除了验证声明的真实性之外,证明者还泄漏了多少额外信息?让我们看看中心化服务器上口令的哈希是如何存储的。传统上,在与服务器交互时,服务器会知道明文口令。这是进行「身份证明」的一种糟糕方式,因此研究者转向了一种可以在不泄露任何无关信息的情况下证明声明的新系统。
波卡联合创始人:财政部很快将为零知识扩展和网络基础设施发展提供巨额资金:1月23日消息,波卡联合创始人Robert Habermeier发推表示,Polkadot财政部可能很快就会为进一步发展零知识扩展和网络基础设施提供巨额资金。Exit-to-DAO作为一种商业模式将是2022年及以后的决定性变化。[2022/1/23 9:08:17]
更具体地说,假设我们有函数C,有两个输入C(x,y)。令x为公开输入,y为秘密证据,函数的输出为真或假。给定一个特定的公共输入x,证明者必须证明他知道一个秘密证据y使得C(x,y)?==true。从证明者的角度来看,实现零知识需要随机性。验证者方面,也需要随机性来产生对证明者的查询。?被广泛展示的第一个应用是一个NP完全的称为图三着色问题。这是一个巨大的突破,因为这个可以应用于NP类中的「任何问题」。简直就是「一石N鸟」。
在区块链领域,由于零知识证明能够提供可扩展性以及在隐私模型中的实用性,因此有了许多实现。具体来说,与不用零知识证明系统的情况相比,验证者执行的计算工作呈指数级减少。另一方面,证明者需要相当多的计算开销来执行证明。我稍后会详细讨论这个问题。
Polygon 推出基于STARK零知识证明的扩容方案 Miden,采用Facebook开源技术且兼容EVM:11月16日消息,Polygon宣布推出基于零知识的、与 EVM 兼容的扩容解决方案Miden,同时也将开源其核心组件的早期原型版本Polygon Miden 虚拟机 (VM) 。Polygon Miden 是一个基于 STARK 的 ZK Rollup,Polygon Miden VM 是完全开源的基于 STARK 的虚拟机,它的作用是验证程序执行并为DApp 部署提供增强的尽职调查。Miden VM 通过利用Facebook的Novi开发的STARK证明器/验证器Winterfell 对基于Rust语言编写的零知识虚拟机 Distaff VM进行了扩展。Distaff VM和Winterfell的核心开发人员Bobbin Threadbare将加入 Polygon 作为 Miden Lead,致力于重新整合 Distaff,将 Distaff 和 Winterfell 结合起来,并继续开发 Miden VM 及其周围的生态系统。
除Polygon Miden外,Polygon价值10亿美元的ZK策略资金还孵化Polygon Hermez和Polygon Nightfall。Polygon Hermez是此前收购的Hermez Network,Polygon Nightfall是与安永共同开发构建的以隐私为重点保护的Rollup。[2021/11/17 21:56:06]
零知识协议
声音 | 数字资产研究院郭宇:区块链的信任需要结合共识算法、零知识证明和形式化验证:12月22日,数字资产与区块链年会(2019)暨中国投资协会数字资产研究中心成立大会在京举办。数字资产研究院学术与技术委员郭宇演讲中表示,区块链网络的吞吐率低下的核心原因是网络宽带限制,提高出块速度是此前比较流行的解决方案,但这种做法会导致区块链分叉,甚至可能威胁区块链系统安全。郭宇认为,要在不降低安全性的前提下,提高区块链吞吐率的解决方案是零知识证明。郭宇指出,区块链系统的可信实际上包括三方面:共识算法提供区块链协议信任,零知识证明提供数据信息和计算完整性,形式化验证保证计算逻辑可信。区块链的信任需要共识算法、零知识证明和形式化验证三者的结合。(新浪财经)[2019/12/23]
目前存在大量的零知识协议,但这篇文章中我将重点关注SNARK和STARK,并在后续文章中深入探讨其他协议。
简洁非交互知识论证,SNARK,是一种流行的证明机制,其纳入了于2011年首次提出的零知识证明。在底层,zk-SNARK使用椭圆曲线来保证安全性并依赖于可信设置。一开始,创建导出交易所需证明和验证所述证明的密钥。这些密钥包含一个参考字符串,将验证密钥和发送私有消息的密钥联系起来。为此,必须有删除所创建的密钥的方法,且密钥的创建者必须是可信的。这种在创建阶段对信任的依赖仍然是对zk-SNARKs的一大批评点。此外,参考字符串是不可更新的,这意味着如果程序需要更新,则需要重新运行可信设置阶段。
动态 | 平安旗下金融壹账通展示运用区块链技术的3D零知识验证技术:8月29日,在2019世界人工智能大会上,平安旗下金融壹账通展示运用区块链技术的3D零知识验证技术。该技术可以在保证隐私的前提下实现“数据可用”,解决AI模型训练中大量数据涉及的隐私问题,广泛应用于供应链金融、贸易融资、经营投资等场景中。[2019/8/30]
然而实际实践中,zk-SNARK很少会独自出现。在计算中往往需要检查许多步骤,但是单独检查每个步骤的工作将花费大量时间。解决方案以多项式的形式出现。将计算编码为多项式可以节省大量信息和时间。相比于数字之间的无数个方程,我们可以代替为「代表」它们的多项式表达式。
还有,通常会通过检查每个系数来使用多项式验证方程,但这又需要太长时间。多项式承诺在这里开始发挥作用。多项式承诺可以被视为用来「哈希」一个多项式的独特方法,允许在更短的时间内进行验证,无论多项式有多大。此外,多项式承诺「本质上」是保护隐私的,因为证明比多项式本身小得多。尽管可以添加随机性,多项式承诺只会泄漏多项式的少量信息。如需更深入地了解多项式承诺和验证,请查看此内容。
多项式承诺使用三种主要协议之一:bulletproof、KZG和FRI。比较和对比每一个都会使本文变得有点难懂,且超出了本文的范围,因为每个都值得去深入研究。
2018年,因为厌倦了现状,一群研究者试图在零知识系统中加入透明性。透明性意味着不必依赖受可信方进行初始设置,从而消除了开放后门的威胁。这导致了可扩展透明知识论证,或STARKs,的发明。STARK使用哈希函数作为其安全性来源,这与SNARK使用的双线性配对不同。名字里的可扩展指的是如下两件事:
与SNARK相比,证明者运行时间在复杂性上要低得多。
验证时间是多项式对数。STARKs使用了FRI,提升了信息存储量和性能。
当前应用
虽然像Zcash这样的zk-SNARK先驱已经存在了一段时间,是zk-STARK的发明使得开发空间迎来了爆炸式的增长。零知识协议方面的工作不仅限于rollups。事实上,一些L1已经是基于零知识证明来构建的了,以及刚萌芽的游戏项目。
StarkWare是zk-STARK的先驱,开发了两个核心产品:StarkNet,一个无需许可的去中心化zk-rollup,以及StarkEx,一个独立的zk-rollupSaaS。此外,StarkWare是名为Cairo的生产级零知识虚拟机(zkVM)的第一家生产商。Cairo声称通过实现图灵完备的冯诺依曼架构以达到这一点。每个程序与它处理的数据一起驻留在VM的内存中。今天任何人都可以访问Cairo,目前正被一些有名的StarkEx客户所使用,如dydx、Immutable和DeversiFi。其他使用他们自己版本的zkVM的新应用包括PolygonMiden和RiscZero,后者正在尝试构建通用zkVM。
与自启动的zkVM思想相反的是zkEVM。zkVMs是从头开始做针对零知识优化的新的区块链虚拟机,或者只是适配Solidity工具和兼容性。另一方面,zkEVM实现了完整的EVM操作码集。使用EVM操作码有几个好处:
实现与EVM生态系统和工具的完全兼容
继承以太坊安全模型
效率可能类似于基于编译器的方法
不出所料,zkVM和zkEVM阵营之间似乎存在很大的分歧。
zkEVM相对于zkVM的最大优势是EVM等效性。历史证明,通过低gas费激励和为开发人员提供简单的起始体验来瞄准庞大的现有dApp社区是卓有成效的,这正是zkEVM建设者所期望的。
目前最流行的zkEVM项目是zkSync,它使用zk-SNARKs作为2层解决方案进行验证和扩展。此外,zkSync选择将数据可用性置于链下,并由zkSync代币质押者使用权益证明进行保护。此实现的设计属于StarkWare开发的名为Volition的解决方案。
最后,一个新玩家Scroll正在开发一个通用的L2zkEVM。Scroll采用了一种新方法来使用GPU的能力来在链下生成零知识证明。最近在零知识证明方面的突破,如Poseidonhash、Plookup和PLONK?,已经将成本降低到足以使zkEVM成为现实。此外,GPU和ASIC/?FPGA加速器的进步正在改善硬件条件,进一步降低成本。Scroll仍处于开发阶段,计划在未来几个月内推出他们的zkEVM测试网。
未来的应用
零知识证明最初是为了保护隐私而开发的。尽管主流媒体可能将当前的用例集中在「允许更大的TPS」上,但事实仍然是零知识证明具有更广阔的应用范围。?一个这样的应用是这个工具,它通过零知识电路来匿名检查钱包中的资产或链上交易以验证用户的身份。
零知识身份具有极其强大的潜力,并且在现实世界中可以立即找到用例。例如,假设我是一名债务人,试图证明自己的信誉,同时仍将银行信息和活动保密。我会证明我已经从多家受信任的银行偿还了大笔贷款,但不会透露这些银行的名字或这些贷款的规格。
零知识领域的另一个重大进展是zk-SNARK证明者的高效隐私代理。如前所述,证明时间相当缓慢。使用SHA2来哈希10kb数据需要140秒,而不是所需的几毫秒。解决这个问题的方法是将证明过程外包。不幸的是,这带来了另一个困境:秘密总是会泄露给外包的机器。于是需要的是外包隐私证明。通过仔细的实现,目前已经可以将证明代理给手机等设备,其速度比本地计算快26倍。这个新颖的框架由PratyushMishra在2022年4月的zkSummit上首次提出。
结语
我们在开发基于零知识证明的应用方面还处于非常早期的阶段。尽管如此,进展的步伐还是很快的。原先专家认为在5年内无法达到的阶段目前已经实现了。当然,还有很多事情要做。开发社区之间仍然存在很多冲突,因为阵营正在形成,观点正在被化。只有时间会证明哪一方是正确的。可以肯定的是,当历史学家回顾过去时,他们会将这一时期的零知识实现视为加密货币壮观历史中的开创性部分。
原文链接
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。