作者:CaptainHiro,巴比特
也许你曾经听说过ZKProof或零知识证明。但是,你好像从来没搞清楚它是什么?什么是ZK-rollups?什么是ZK-SNARKs?在这篇文章中,你所有关于零知识证明的问题都将得到解答,所以请抓紧时间,让我们一起开始学习零知识证明的旅程吧!
什么是零知识证明?
零知识证明是一种证明方法,通过这种方法,一方在不透露任何实际信息的情况下,可以向另一方证明它知道一个秘密或一个声明是真实的。
上面提到的术语“零知识”本身就是对以下事实的证明:没有透露任何信息,但第二方理所当然地相信第一方知道这个秘密或他们的声明是真实的。
那么,为什么我们需要零知识证明呢?当我们不相信别人会透露信息,但想说服他们我们知道这个秘密或我们的声明是真实的。
有两种类型的零知识证明:
交互式
非交互式
1?.我们先看一个交互式零知识证明的例子
假设你需要零知识证明你已经成年,但又不能实际透露你的具体年龄。我们需要一个第三方权威机构来证明你的年龄,该机构的骚操作是这样的:
“谢谢你提供的出生证明副本,我们已经知道你21岁的事儿了。这里有一个秘密号码,请秘密存储并保证它的安全。你可能在以后会需要它。”
民盟中央建议加速元宇宙科普和立法:3月4日消息,民盟中央已起草了《关于“元宇宙”技术发展的提案》,并将提交全国政协十三届五次会议。在提案中,民盟中央建议,在科普层面需加速知识传播,法律层面则需加快立法步伐。民盟中央拟提交的提案指出,目前,在新兴网络层面,相关政策法规相对缺失。“元宇宙”在未来将会带动形成全新的网络形态,当遇到突发舆情,全虚拟的环境、场景将更难进行源头追踪、问题疏导。因此建议应尽早加快立法研究,尽快形成与技术、市场发展相适应的治理模式和法律基础,全面提升我国社会治理的水平。建议组织相关部门,针对“元宇宙”相关需求、风险进行立法研究,并尽快发布。此前消息,民进中央拟向全国政协十三届五次会议提交《关于积极稳妥推进元宇宙技术和产业发展的提案》。建议推进元宇宙技术产业发展,建立相关监管治理体系。(华夏时报)[2022/3/4 13:37:12]
“你的秘密号码将被哈希处理22次,为你制作一个最终的年龄哈希码。因此,在我们给你的秘密号码和这个最终的年龄哈希码之间有22次哈希处理。”
“我们会使用你的名字、一个时间戳和这个最终的年龄哈希码来进行包装。这就是你要给别人的证明材料。”
现在,只要你想向别人证明你已经超过18岁,那么你就必须有效地证明,从你的秘密号码到你的最终年龄哈希代码有超过18个哈希步骤。
人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]
要做到这一点,你只需向他们展示最后18个哈希步骤,你需要首先通过自己做前4个哈希步骤,然后给他们结果;即第四次哈希处理的结果。
然后他们对你提供的结果再进行18次哈希,他们最终会得到最后的年龄哈希码,并可以验证你是否成年,因为这写信息都在你的证明套件中。
实际上,验证者会说:“给我们一个值,我们可以对其进行18次哈希,以获得与你的最终年龄哈希码相匹配的值。如果你不是18岁,那么你的最终年龄哈希码就不会有18次哈希步骤,我们就不能很好地认证你的真正年龄。”
动态 | 链客社区联合北京交通广播推出区块链技术科普节目:12月11日15:15—16:00,区块链技术社区——链客区块链技术社区将联合北京交通广播FM103.9从零开始为大众科普解码区块链技术,蜻蜓FM及北京广播网同期进行全球直播。首期做客嘉宾为链客区块链技术社区创始人郄建军和百度区块链产品负责人于雅楠。[2019/12/11]
这也是一个不错的例子?
一个好的零知识证明的例子-MathOverflow
但这种交互式方法也有一些局限性:
每次他们进行验证都需要进行整个冗长的过程。而这个过程其实是相当简单的哈希处理,想象一下进行实际的加密算法的计算是什么样的?
此外,无论是线上还是线下,双方都需要在同一时间、同一地点碰头。
2?.来看看非交互式证明
1986年,Fiat和Shamir发明了Fiat-Shamir启发式,从而成为第一个基于交互式零知识点证明的数字签名算法。
Fiat-Shamir启发式可以通过承诺方案变成非交互式零知识证明,因此产生了ZK-SNARKs或零知识的简洁非交互式知识论证。
为了使Fiat-Shamir启发式更加强大,我们使用了承诺方案。承诺方案是许多加密协议的基本组成部分。它允许承诺人公布一个值,并将这个值与一个消息绑定,而不透露它。
动态 | 区块链技术入选科普杂志《科学美国人》2019十大突破性技术榜单:据新浪网今日新闻报道,美国科普杂志《科学美国人》公布 2019 十大突破性技术榜单。区块链技术因在保障食品安全中的作用而上榜。 入选榜单具体原因:区块链技术的发展应用将显著改善食品污染源数据追踪的困境。利用区块链云端系统,食品制造商可以依次在计算机储存各类过程的信息。[2019/9/29]
目前用于零知识证明的两个最突出的承诺方案是佩德森承诺和多项式承诺。
但是,直到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世界中使用零知识证明所做的事情的初步介绍,相信你对零知识证明已经有了一定的了解。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。