零知识证明,您不一定读得懂这简单的5个字

本文来自:WeeklyBlockChain,作者:币圈的敬事房太监,星球日报经授权转发。

▋▊▉语言的博大精深语言的奥妙莫过如此,一些很浅显的词语经过组合,立马就变得高深莫测,在哲学和物理学领域尤其比较多。比如,形而上学。字面的理解,形,形状;而,介词;上学,去读书。归纳起来就是,根据形状去读书。这是要看图说话吗?再比如,时空扭曲。时空和扭曲分开都好理解,但合并起来,就爱莫能助了。社会上也不少见。比如,失足妇女、待业青年、公共知识分子、民族脊梁、全民所有制、人均GDP、负增长,诸如此类大抵也体现了汉语的博大精深。“零知识证明”也是这样,照字面理解,不用知识或者说没有知识即可证明,这怎么证明?谁的中学时代没有做过几道证明题呢?老师都是按照知识点给分的,论证的知识点越充分,你的得分就越高。那么。零知识怎么解释?零知识能证明什么?到底什么是零知识证明?区块链是个大杂烩,就这一口锅,硬生生的就把计算机、金融学、博弈论、密码学都一勺给烩了。其中,零知识证明就是密码学领域的一道菜。▋▊▉阿里巴巴的咒语强盗抓住了阿里巴巴,向他拷问进入山洞的咒语。阿里巴巴心里想:如果我把咒语告诉了他们,他们会认为我没有价值了,就会杀了我还可以节省粮食;但如果我死活不说,他们会认为我没有价值而杀了我。怎样才能做到既让他们相信我确实知道咒语,但又一丁点咒语也不泄露给他们呢?这的确是一个令人头疼的问题,但阿里巴巴想了一个好办法。他对强盗说:“你们在离开我十米远的地方,用弓箭指着我,你们举起右手我就念咒语打开石门,举起左手我就念咒语关上石门,如果我做不到或逃跑,你们就用弓箭射死我。”强盗们当然会同意,这个方案不仅对他们没有任何损失,而且还能搞清楚阿里巴巴到底是不是真的知道咒语。阿里巴巴也没有损失,因为处于一箭之地的强盗们听不到他念的咒语,不必担心泄露了秘密,同时又让强盗确信自己有咒语,自己不会被射死。强盗举起了右手,阿里巴巴的嘴唇动了几下,石门果真打开了,强盗举起了左手,阿里巴巴的嘴唇又动了几下后石门关上了。强盗还是有点不信,说不准这是巧合呢,他们不断地换着节奏举右手举左手,石门跟着他们的节奏开开关关,最后强盗们确信阿里巴巴确实掌握了通关的咒语。

两位数学家因对零知识证明的研究获得数学界大奖阿贝尔奖:据DeepTech深科技消息,近日,备受瞩目的数学界大奖阿贝尔奖公布两名获奖者,一位是匈牙利数学家拉兹洛?洛瓦兹(László Lovász),一位是以色列计算机科学家阿维?威格森(Avi Wigderson)。两位数学家因为对零知识证明的研究,而获此殊荣。曾经让纯数学家看不起的零知识证明,却获得了数学界举足轻重的阿贝尔奖。正如颁奖词所说:“表彰其在理论计算机科学和离散数学方面做出的杰出贡献,以及在将之塑造为现代数学中心领域中发挥的主导作用。”零知识证明比起其他复杂算法更为简单,但这两位数学家对于零知识证明的研究,不仅对现代数学核心计算有重大贡献,还有巨大的现实意义:其一,零知识证明对数字货币的认证意义重大;其二,零知识证明还可以用于人的身份验证,即在不透露密码的前提下,验证方通过一系列问题来让对方提供 “我知道正确密码”,或在信息安全领域,提供 “我就是本人” 的证明。[2021/5/2 21:16:57]

如此这般,阿里巴巴既没有告诉强盗打开山洞石门的咒语,同时又向强盗们证明了,他是知道这个咒语的。这就是阿里巴巴的零知识证明。▋▊▉零知识证明的前世今生零知识证明并不是个什么特别创新的发明。早在16世纪文艺复兴时期,意大利有两位数学家为竞争一元三次方程求根公式发现者的桂冠,就采用了这个方法。数学家塔尔塔里雅和菲奥都宣称自己掌握了这个求根公式,为了证明自己没有说谎,又不把公式的具体内容公布出来,他们摆开了擂台:双方各出30个一元三次方程给对方解,谁能全部解出,就说明谁掌握了这个公式。比赛结果显示,塔尔塔里雅解出了菲奥出的全部30个方程,而菲奥一个也解不出。于是人们相信塔尔塔里雅是一元三次方程求根公式的真正发现者,虽然当时除了塔尔塔里雅外,谁也不知道这个公式到底是个什么鬼。我们举一个生活中的例子。A要向B证明自己拥有某个房间的钥匙,假定该房间的锁只能用这把钥匙打开,而其他任何方法都不可以。有2个方法:A把钥匙出示给B,B用这把钥匙打开该房间的锁,从而证明A拥有打开这个房间的钥匙。A告诉B该房间内有某一特定的物体,A用自己的钥匙打开该房间的门,然后把物体拿出来出示给B,从而间接地证明自己确实拥有打开这个房间的钥匙。有一个前提,在一个密闭的系统内,没有第二个地方存在这个相同的物体。第二种方法就属于零知识证明。好处在于,整个证明的过程中,B始终不能看到钥匙的样子,从而避免了A的私钥被泄露。我们再举一个复杂一点的例子。假如A拥有B的公钥,但A没有见过B,而B见过A的照片,偶然一天两个人见面了,B认出了A,但A不能确定面前的人是否就是B,这时B要向A证明自己就是B,也有两种方法。B把自己的私钥给A,A用手上的公钥对某个数据加密,然后用B的私钥解密,如果正确,则证明对方确实是B。A给出一个随机值,并使用B的公钥对其加密,然后将加密后的数据交给B,B用自己的私钥解密并展示给A,如果与A给出的随机值相同,则可以证明B就是B。很明显,第二种方法,B并没有向A透露他的私钥,但也证明了A手上的公钥正是B的,眼前的这个人就是B。这就是零知识证明。但,你并没有搞清楚什么是公钥,什么是私钥,对吗?▋▊▉零知识证明和不对称加密又是一个新概念,不对称加密。事实证明,不学习是干不好区块链的。通常来说,另外一个人打开保险箱最简单的办法就是,从主人那里拿到钥匙或者是偷过来复制一把相同的钥匙,这就是对称加密,加密和解密的是同一把钥匙,或者说是两把相同的要是。所谓解铃还须系铃人。比如两个人,其中债务人给债权人快递了一个上锁的保险柜,里面有一定数额的钱财,债权人收到之后用手上那把相同的钥匙即可开锁。但有一个很麻烦的问题,如果有第三个人复制了这把钥匙,出现了财产丢失,钥匙算谁丢的?或者,你根本就不想任何其他人有您手上一模一样的一把钥匙,怎么办?非对称加密就可以解决这个问题。用一把钥匙加密,用另一把不同的钥匙解密。方法是,债权人先快递了一个保险柜和一把公钥同时给到债务人,债务人在保险柜里装上了要快递的财物然后用这把公钥锁上保险柜再快递给债权人,债权人用手上的私钥即可打开保险柜。加密的钥匙只负责加密,解密的钥匙只负责解密。并且成对出现。钥匙在加密的时候就变成了锁。这就解决了一个问题。除了债权人以外没有任何第二个人可以打开这个保险柜,他对这笔财产拥有完整的、无争议的所有权。债权人也无需向债务人出示私钥来证明这个保险柜就是我的,如果保险柜即公钥不是债权人的,债权人手上的私钥也无权打开保险柜,这恰恰是债权人最不愿意见到的。不对称加密就是基于零知识证明的概念而来,即不需要泄露私钥,一样也可以证明我就是这个私钥的主人,并且是唯一的主人。网银转账时使用的U盾就是一个典型的非对称的加密系统,一般采用1024位RSA不对称加密算法。以现在的计算机运算速度,至少要10年以上才有可能被破解。数学界有一个公认的难题,当p和q是一个大素数的时候,从它们的积pq去分解因子p和q,近乎等于IMPOSSIBILE。这就是RSA加密的原理。黑客破解密码的过程就是为一个大素数分解质因数的过程。您U盾里的私钥和银行的公钥都是基于p、q经过复杂的公式运算而来。由于黑客无法破解p和q,所以您可以尽管放心地使用您的私钥向银行提供加密信息,银行通过公钥解压,信息一致,则验证通过。▋▊▉回到区块链的世界里区块链是一个匿名的系统,没有中心化的监管,也没有中心化数据储存你的私钥,比如像银行那样储存您的银行卡密码。但区块链又是一个完全透明公开的系统,任何一个地址,均可以通过区块链浏览器查阅到该地址名下的资产数目。在这里,私钥就相当于您数字钱包的密码,也可以叫助记词,这是用户在区块链世界唯一的身份。而公钥或者说地址都是由私钥通过复杂的加密运算生成的。私钥可以推算出公钥,但无法由公钥反推出私钥。并且一个私钥,可以推导出多个公钥,一个公钥则对应唯一地址。详情见下图。

以太坊ZK Rollup扩容方案Hermez Network正在开源零知识证明模块:据官方消息,以太坊ZK Rollup扩容方案 Hermez Network表示,正在开发一个名为Rapidsnark新的zk-SNARKs零知识证明模块,目前已经发布并开放了源代码。[2021/2/2 18:43:40]

插播一下,提出几个问题,请持续关注《链周刊》,后续推文给各位解释。为什么私钥就一个,公钥需要多个?公钥一定无法反推出私钥吗?既然公钥和地址是等价的,为什么从地址不能反推回公钥?同样基于二者是等价的,有了公钥,为什么还要再生成一个地址?你掌握了私钥,就等于你拥有了公钥,也就是对地址的控制权。由于公钥不能反推出私钥的,所以公钥是明文的,可以公开的,私钥只能被你个人所有,绝对不能公开。继续。区块链或者说比特币本质上是一个喊话+共同记账的系统。比如,A向B转账1个比特币,首先是A向全网喊话要从某一个地址中减少1个比特币,而另一个地址则相应的增加1个比特币。网络上的矿工收到指令后,会检查您账户中的资产是否超过1个比特币,如果满足条件,获得打包权的矿工将记录下这一笔交易,然后向全网公布并达成共识,A地址中减少了1个比特币,B地址中相应的增加1个比特币。转账完成。比特币系统还设置了一个找零地址,为什么?后续再介绍。那么问题来了。如何向网络证明这个地址是我的,而不是别人的,也就是我有权用这个地址付款给其他人。我的喊话并不是瞎喊。

StarkWare已开源零知识证明代码ethSTARK:零知识证明研发机构StarkWare已在GitHub开源ethSTARK。StarkWare称,2018年我们获得以太坊基金会的资助去探索对STARK友好的哈希函数以及开源ZKP代码。ethSTARK代码的证明速度将比现有的任何ZKP代码快20倍。

注:2018年7月份,StarkWare获得了以太坊基金会提供的400万美元资助,将研发对STARK友好的哈希函数和技术,并为生态系统提供开源代码。STARK将允许区块链在兼备隐私和后量子安全的情况下进行大规模扩展(例如分片)。(Github)[2020/7/27]

中本聪的做法,用通俗的语言可以这么描述。对交易信息先进行hash加密,得到一个摘要信息,即hash值;用您的私钥对交易摘要进行签名,即加密,并与交易信息一起在全网广播;节点在收到您的加密信息后,用您公开的公钥对信息解密,如果解密出来的hash值和您提供的一致;则证明您对该地址拥有控制权。简言之,如何向网络证明我就是我。用私钥加密,用您提供的公钥解密,信息一致即通过。这和上一个部分中,B向A证明B就是B的方法有异曲同工之妙。

声音 | ALabs负责人王增新:改进后的零知识证明是解决数据可用性问题的可行方案:今日,在日本东京举办的SmartBlock2018国际学术会议上,区块链研究院ALabs负责人王增新做了关于区块链安全隐私及扩展性的学术分享,他认为数据可用性问题是区块链广泛应用的瓶颈,改进后的零知识证明是解决数据可用性问题的可行方案,即将共识的复杂程度降低到对数级别,提高数据的交换与验证效率。ALabs将围绕这个方向进行探索,推动区块链行业应用发展。 SmartBlock2018国际学术峰会由Springer、早稻田大学、哥伦比亚大学、北京理工大学、伯明翰城市大学等顶尖学术院校联合主办,会议围绕前沿科技趋势进行探讨,包括人工智能、大数据、区块链等前沿技术,数百名学术大拿及企业高管出席活动。[2018/12/11]

动态 | 安永为以太坊提供零知识证明技术:据coindesk报道,会计公司安永(EY)宣布了一项工具,此工具将把私密交易带到以太坊。其EY Ops Chain公共版原型是第一个用于以太坊的零知识证明(ZKP)技术。ZKP是一种加密技术,它允许双方证明一个私密信息是真实的,这通常是关于交易的数据。[2018/10/31]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

MATICProof of Space 杜绝浪费,共识机制的“大杀器”

编者按:本文来自哈希未来,作者:陈致佳、蒙绎泽、江泽武,星球日报经授权发布。自2009年第一枚比特币被挖出以来,区块链行业逐渐拓展为一个巨大的全球市场。除BTC以外,LTC、ETH、EOS等各式各样的区块链项目层出不穷.

[0:0ms0-1:680ms