作者:CaptainHiro,巴比特
也许你曾经听说过ZKProof或零知识证明。但是,你好像从来没搞清楚它是什么?什么是ZK-rollups?什么是ZK-SNARKs?在这篇文章中,你所有关于零知识证明的问题都将得到解答,所以请抓紧时间,让我们一起开始学习零知识证明的旅程吧!
什么是零知识证明?
零知识证明是一种证明方法,通过这种方法,一方在不透露任何实际信息的情况下,可以向另一方证明它知道一个秘密或一个声明是真实的。
上面提到的术语“零知识”本身就是对以下事实的证明:没有透露任何信息,但第二方理所当然地相信第一方知道这个秘密或他们的声明是真实的。
那么,为什么我们需要零知识证明呢?当我们不相信别人会透露信息,但想说服他们我们知道这个秘密或我们的声明是真实的。
有两种类型的零知识证明:
交互式
非交互式
1?.我们先看一个交互式零知识证明的例子
假设你需要零知识证明你已经成年,但又不能实际透露你的具体年龄。我们需要一个第三方权威机构来证明你的年龄,该机构的骚操作是这样的:
“谢谢你提供的出生证明副本,我们已经知道你21岁的事儿了。这里有一个秘密号码,请秘密存储并保证它的安全。你可能在以后会需要它。”
动态 | 新浪财经:官媒针对区块链的报道从科普宣传转向打假监管:据新浪财经今日消息,“1025新政”满月,一个月间,官媒对区块链的态度风向已转。据11月初的一项统计,七家党媒在新政一周内发布了65篇直接相关报道,当时文章中的关键词是数据、产业、安全、创新等,大量文章偏向于科普区块链的概念以及应用介绍,提醒警惕虚拟货币炒作的仅有3篇。近期,官媒的批评焦点则纷纷指向借区块链之名进行的虚拟货币发行和炒作行为。据统计,新华网、人民网收录转载的,以打击虚拟货币或揭露假借区块链行为主题的文章,自10月25日到11月25日午间,共28篇;其中,11月19日至11月25日的一周内就高达15篇。这些文章主要围绕三个观点展开:厘清区块链和虚拟货币的关系,说明二者概念不等;打击伪“区块链”局,或是虚拟货币局揭露;提醒民众,区块链不能成为炒作的噱头,更不是行的招牌,需警惕此类活动,理性投资。[2019/11/26]
“你的秘密号码将被哈希处理22次,为你制作一个最终的年龄哈希码。因此,在我们给你的秘密号码和这个最终的年龄哈希码之间有22次哈希处理。”
“我们会使用你的名字、一个时间戳和这个最终的年龄哈希码来进行包装。这就是你要给别人的证明材料。”
现在,只要你想向别人证明你已经超过18岁,那么你就必须有效地证明,从你的秘密号码到你的最终年龄哈希代码有超过18个哈希步骤。
声音 | 浪潮集团云南分公司总经理:云南区块链产业发展需从“科普”到“专精”不断深化:据昆明日报消息,浪潮集团云南分公司总经理郑昕表示,云南区块链产业发展需从“科普”到“专精”不断深化。下一步,浪潮将继续加大云南农业产业高质量发展体系建设力度,重点以普洱茶等云南优势产业为切入点,打造云南“绿色、有机农产品高地”的品牌形象,并在此基础上,开展基于区块链的供应链金融服务,解决中小企业贷款难、贷款贵问题。[2019/11/11]
要做到这一点,你只需向他们展示最后18个哈希步骤,你需要首先通过自己做前4个哈希步骤,然后给他们结果;即第四次哈希处理的结果。
然后他们对你提供的结果再进行18次哈希,他们最终会得到最后的年龄哈希码,并可以验证你是否成年,因为这写信息都在你的证明套件中。
实际上,验证者会说:“给我们一个值,我们可以对其进行18次哈希,以获得与你的最终年龄哈希码相匹配的值。如果你不是18岁,那么你的最终年龄哈希码就不会有18次哈希步骤,我们就不能很好地认证你的真正年龄。”
这也是一个不错的例子?
一个好的零知识证明的例子-MathOverflow
但这种交互式方法也有一些局限性:
动态 | 区块链技术入选科普杂志《科学美国人》2019十大突破性技术榜单:据新浪网今日新闻报道,美国科普杂志《科学美国人》公布 2019 十大突破性技术榜单。区块链技术因在保障食品安全中的作用而上榜。 入选榜单具体原因:区块链技术的发展应用将显著改善食品污染源数据追踪的困境。利用区块链云端系统,食品制造商可以依次在计算机储存各类过程的信息。[2019/9/29]
每次他们进行验证都需要进行整个冗长的过程。而这个过程其实是相当简单的哈希处理,想象一下进行实际的加密算法的计算是什么样的?
此外,无论是线上还是线下,双方都需要在同一时间、同一地点碰头。
2?.来看看非交互式证明
1986年,Fiat和Shamir发明了Fiat-Shamir启发式,从而成为第一个基于交互式零知识点证明的数字签名算法。
Fiat-Shamir启发式可以通过承诺方案变成非交互式零知识证明,因此产生了ZK-SNARKs或零知识的简洁非交互式知识论证。
为了使Fiat-Shamir启发式更加强大,我们使用了承诺方案。承诺方案是许多加密协议的基本组成部分。它允许承诺人公布一个值,并将这个值与一个消息绑定,而不透露它。
动态 | 币安科普MimbleWimble算法:币安官方推特今日发布隐私算法Mimblewimble的科普贴,在下方留言区大量网友留言猜测是否是基于 Mimblewimble算法的隐私币Grin或者Beam即将登陆币安交易所,其中猜测Grin的呼声更高。[2019/9/2]
目前用于零知识证明的两个最突出的承诺方案是佩德森承诺和多项式承诺。
但是,直到2013年左右,ZK-SNARKs才变得实际有效,开发者可以在现实世界的应用中实现和使用它。
我推荐你阅读VitalikButerin的这篇优秀文章?,它总体上介绍了ZK-SNARKs为什么可用,并解释了它们是如何实现的。也许你不可能一下子就能搞清楚,多读几遍,一旦你理解了其中的内容,你就能明白其中的原理。
在后量子世界中,我们需要确保我们为ZK-SNARKs选择的加密函数不能被量子计算机强行破解。这就是为什么正在进行改进以实现后量子安全。如果你想了解更多这方面的信息,你可以看ACM的这个讲座:
改进的非交互式零知识与后量子签名的应用?
好了,现在我们知道什么是零知识证明了,但是它们是用来做什么的呢?
在概念上它有两个主要的用例:
声音 | 中科院姚建铨:要加快推进区块链与物联网融合的科普 培训:据新华网消息,日前,在区块链与物联网融合发展峰会上,中国科学院院士姚建铨说,关注区块链技术里面的大数据,跟区块链技术结合起来进行测量和检测,能更好地提升激光清洗技术。姚建铨建议,无锡今后要加快推进区块链与物联网融合的科普、培训,正确引导广大人民群众对技术的认知;同时,建立专业、权威,但又普适、成套的理论体系和标准,以此切入区块链的实际应用。[2018/9/18]
扩大区块链的交易规模
隐私——比如在医疗等领域保护个人数据安全
对区块链进行扩展——ZKRollups
rollup是一种区块链的展解决方案,它通过在第一层网络之外执行交易,但在第一层发布交易数据来工作。这使得rollup可以扩展网络,并仍然从以太坊共识中获得安全性。
将计算移到链外就可以处理更多的交易,因为只有rollup的部分交易数据必须使用以太坊区块。
为了实现这一点,rollup交易在一个单独的链上执行,甚至可以运行一个rollup的特定版本的以太坊虚拟机。
在rollup上执行交易后的下一步是将它们批处理并发布到以太坊主链上。
整个过程本质上是执行交易,获取数据,压缩数据,并将其以单一批处理的方式rollup到主链上,因此这个过程被称作“rollup”。
以太坊如何知道发布的数据是有效的,而不是由试图为自己谋利的不良行为者提交的呢??
每个rollup在第一层都部署了一组智能合约,它负责处理充值和提现,并验证证明。
证明也是不同类型的rollup之间的主要区别所在。
Optimistic的rollup使用欺诈证明,相比之下,ZKrollup使用有效性证明。
在ZKrollup中,每一批发布到第一层的文件都包括一个称为ZK-SNARK的加密证明。当交易批次被提交时,该证明可以被第一层合约快速验证,无效的批次可以被直接拒绝。
关于零知识证明和Optimisticrollups还有很多内容需要你了解,比如它们的实现方法,它们的局限性。这篇文章只涉及了一些简单的概念,你还需要学习更多相关内容。
许多项目正在为以太坊开发基于ZKrollup的扩展解决方案。一些突出的项目有dYdX、Loopring、PolygonMiden、PolygonHermez。
隐私——日常生活中的应用
假设两个公司A和B想用区块链作为媒介来运作和交流。
A将资产转移给B,他们希望这些资产保留在自己内部。是的,区块链会带来透明度、互操作性、数据安全性和完整性以及其他好处,但为什么一个公司会公开分享他们的内部物流信息?这个时候,零知识证明就有了用武之地。
再比方说,你想私下给你的海外朋友转一些钱,但又不想让政府监控这笔交易。你会怎么做呢?零知识证明就可以帮上忙。
在其他几个领域,零知识证明也会产生深远的影响,如医疗、保险、电子投票、身份管理。
比如在医疗保健方面,确保DNA数据、个人信息、医疗记录、基本病史信息、药物可追溯性、临床试验、医疗保健供应链、器官移植的安全。
在保险方面,确保数字形式的保险凭证和保险证书、个人信息、车辆信息、结算索赔。
使用区块链和ZKP的身份管理具有深远的意义。每个与kyc相关的应用程序、学校、大学、支付应用程序都要求提供我们的身份证图像,如驾驶执照、护照、选民身份、国民身份。我们敏感的个人数据实际上就在那里,而我们甚至没有意识到信息可能会有随时泄露的风险。有了零知识证明,我们可以保护所有这些身份信息,只向供应商、应用程序和政府透露必要的信息。事实上,我们可以用零知识证明来完全改造这些身份信息的公布方式。
我们可以对所有这些使用零知识证明,这样,每当需要某些信息时,用户就会有选择性的批准并提供所需的信息,而其余的细节则被隐藏。
只是ZK-SNARKs的效率在2013年之后才足以实际实现并得到开发者的使用,这就是为什么使用零知识证明的不同应用程序在未来有很大的空间涌现。
2016年推出的Zcash是目前唯一成功实现ZK-SNARKs并提供用户间隐私交易的突出产品。
ZK-SNARKs与ZK-STARKs
图片来源:MatterLabsgithub资源库
ZK-STARK代表零知识可扩展的透明知识论证,ZK-SNARK代表零知识的简洁非交互式知识论证。
这两种零知识技术在本质上都是非交互式的,这也就意味着代码可以被部署并自主行动。
ZK-SNARKs在其基础上依赖于椭圆曲线的安全性。椭圆曲线在密码学中的基本假设是:找到一个随机椭圆曲线元素相对于一个公知基点的离散对数是不可行的。
可信设置是指用于创建私人交易所需证明的钥匙的初始创建事件以及对这些证明的验证。
如果在可信设置事件中用于创建这些密钥的秘密没有被销毁,那么这些秘密可能被用来通过虚假的验证来伪造交易。
SNARKs的另一个局限性,正如我们已经知道的,他们在后量子世界的可行性。
另一方面,在一个网络中开始使用STARKs时是不需要信任设置的。这些也被称为抗量子化。虽然STARK的证明规模比SNARK大得多。
但是,STARKs仍然处于初级阶段,现阶段它对开发者的支持也不多,所以我们还有几年时间才能看到基于ZK-STARK的产品。
文章写到这就结束了。这是对web3世界中使用零知识证明所做的事情的初步介绍,相信你对零知识证明已经有了一定的了解。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。