作者:CaptainHiro,巴比特
也许你曾经听说过ZKProof或零知识证明。但是,你好像从来没搞清楚它是什么?什么是ZK-rollups?什么是ZK-SNARKs?在这篇文章中,你所有关于零知识证明的问题都将得到解答,所以请抓紧时间,让我们一起开始学习零知识证明的旅程吧!
什么是零知识证明?
零知识证明是一种证明方法,通过这种方法,一方在不透露任何实际信息的情况下,可以向另一方证明它知道一个秘密或一个声明是真实的。
上面提到的术语“零知识”本身就是对以下事实的证明:没有透露任何信息,但第二方理所当然地相信第一方知道这个秘密或他们的声明是真实的。
那么,为什么我们需要零知识证明呢?当我们不相信别人会透露信息,但想说服他们我们知道这个秘密或我们的声明是真实的。
有两种类型的零知识证明:
交互式
非交互式
1?.我们先看一个交互式零知识证明的例子
假设你需要零知识证明你已经成年,但又不能实际透露你的具体年龄。我们需要一个第三方权威机构来证明你的年龄,该机构的骚操作是这样的:
“谢谢你提供的出生证明副本,我们已经知道你21岁的事儿了。这里有一个秘密号码,请秘密存储并保证它的安全。你可能在以后会需要它。”
现场 | 火币中国推出数字经济及区块链产业科普新书:金色财经现场报道,12月6日,由海南省工业和信息化厅主办,南南合作金融中心协办,海南生态软件园、火币中国承办的“海南自贸港数字经济和区块链国际合作论坛”在海口举行,这是全球首次区块链部长级论坛。
在本次论坛上,火币中国举行了“数字经济及区块链产业科普系列新书发布”仪式,希望通过教材、专业教育、培训等多种方式,帮助从业者、高校、研究机构深入了解区块链,从而建立起区块链全局性知识模型,真正推动区块链应用落地。火币中国CEO袁煜明介绍,将联合机械工业出版社面向普通高等教育推出《区块链导论》、《区块链系统设计与应用》和《区块链新商业模式分析》系列教材,这是国内最早推动的区块链教材之一;火币中国还积极参与数字经济的研究,由中信出版社出版的新书《读懂Libra》已经上市;由火币中国负责编写的区块链技术科普读物《区块链技术进阶指南》将于12月面世;首本行业内最全的区块链应用案例集《区块链产业应用100例》在本次论坛进行了首次刊印。[2019/12/6]
“你的秘密号码将被哈希处理22次,为你制作一个最终的年龄哈希码。因此,在我们给你的秘密号码和这个最终的年龄哈希码之间有22次哈希处理。”
“我们会使用你的名字、一个时间戳和这个最终的年龄哈希码来进行包装。这就是你要给别人的证明材料。”
声音 | 浪潮集团云南分公司总经理:云南区块链产业发展需从“科普”到“专精”不断深化:据昆明日报消息,浪潮集团云南分公司总经理郑昕表示,云南区块链产业发展需从“科普”到“专精”不断深化。下一步,浪潮将继续加大云南农业产业高质量发展体系建设力度,重点以普洱茶等云南优势产业为切入点,打造云南“绿色、有机农产品高地”的品牌形象,并在此基础上,开展基于区块链的供应链金融服务,解决中小企业贷款难、贷款贵问题。[2019/11/11]
现在,只要你想向别人证明你已经超过18岁,那么你就必须有效地证明,从你的秘密号码到你的最终年龄哈希代码有超过18个哈希步骤。
要做到这一点,你只需向他们展示最后18个哈希步骤,你需要首先通过自己做前4个哈希步骤,然后给他们结果;即第四次哈希处理的结果。
然后他们对你提供的结果再进行18次哈希,他们最终会得到最后的年龄哈希码,并可以验证你是否成年,因为这写信息都在你的证明套件中。
实际上,验证者会说:“给我们一个值,我们可以对其进行18次哈希,以获得与你的最终年龄哈希码相匹配的值。如果你不是18岁,那么你的最终年龄哈希码就不会有18次哈希步骤,我们就不能很好地认证你的真正年龄。”
这也是一个不错的例子?
动态 | 美国演说家Anthony Robbins开始科普什么是比特币:美国演说家安东尼·罗宾(Anthony Robbins)在自己的网站上发布了一篇比特币的科普文章,并在推特上向自己的粉丝介绍什么是比特币,目前他的推特账户共有粉丝304万人。[2019/1/1]
一个好的零知识证明的例子-MathOverflow
但这种交互式方法也有一些局限性:
每次他们进行验证都需要进行整个冗长的过程。而这个过程其实是相当简单的哈希处理,想象一下进行实际的加密算法的计算是什么样的?
此外,无论是线上还是线下,双方都需要在同一时间、同一地点碰头。
2?.来看看非交互式证明
1986年,Fiat和Shamir发明了Fiat-Shamir启发式,从而成为第一个基于交互式零知识点证明的数字签名算法。
Fiat-Shamir启发式可以通过承诺方案变成非交互式零知识证明,因此产生了ZK-SNARKs或零知识的简洁非交互式知识论证。
为了使Fiat-Shamir启发式更加强大,我们使用了承诺方案。承诺方案是许多加密协议的基本组成部分。它允许承诺人公布一个值,并将这个值与一个消息绑定,而不透露它。
科普时报:区块链与云计算长期发展目标不谋而合:据《科普时报》今日报道,区块链与云计算两项技术的结合,从宏观上来说,一方面,利用云计算已有的基础服务设施或根据实际需求做相应改变,实现开发应用流程加速,满足未来区块链生态系统中初创企业、学术机构、开源机构、联盟和金融等机构对区块链应用的需求。另一方面,对于云计算来说,“可信、可靠、可控制”被认为是云计算发展必须要翻越的“三座山”,而区块链技术以去中心化、匿名性,以及数据不可篡改为主要特征,与云计算长期发展目标不谋而合。[2018/5/4]
目前用于零知识证明的两个最突出的承诺方案是佩德森承诺和多项式承诺。
但是,直到2013年左右,ZK-SNARKs才变得实际有效,开发者可以在现实世界的应用中实现和使用它。
我推荐你阅读VitalikButerin的这篇优秀文章?,它总体上介绍了ZK-SNARKs为什么可用,并解释了它们是如何实现的。也许你不可能一下子就能搞清楚,多读几遍,一旦你理解了其中的内容,你就能明白其中的原理。
在后量子世界中,我们需要确保我们为ZK-SNARKs选择的加密函数不能被量子计算机强行破解。这就是为什么正在进行改进以实现后量子安全。如果你想了解更多这方面的信息,你可以看ACM的这个讲座:
金色财经独家分析 监管机构、媒体、业界提示风险 区块链科普道阻且长:新华社今日发文表示,近来“区块链”类案件频发,不法分子以“投资虚拟货币周期短、收益高、风险低”为借口,取用户信任并诱使其转账进行投资。无独有偶,同日消息,腾讯手机管家安全专家也提醒此类风险,并从技术上提出防建议。在美国,监管机构警示加密货币欺诈现象普遍承诺高收益而不披露潜在风险。金色财经独家分析,不法分子假借新技术之名进行,一方面是抓住民众趋利的心理,一方面反映出区块链科普的欠缺。区块链是新兴科技和底层技术并有改变社会生产关系的潜力,应该进行系统性的科普教育,当前,部分大学已经开始设置了区块链课程,但对于普通民众仍然有科普的需求,人们应该了解到系统和正确的知识,不仅要了解区块链的好,也要明确局限和弊端,以在高收益的诱惑下,保持清醒客观。[2018/4/11]
改进的非交互式零知识与后量子签名的应用?
好了,现在我们知道什么是零知识证明了,但是它们是用来做什么的呢?
在概念上它有两个主要的用例:
扩大区块链的交易规模
隐私——比如在医疗等领域保护个人数据安全
对区块链进行扩展——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世界中使用零知识证明所做的事情的初步介绍,相信你对零知识证明已经有了一定的了解。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。