木星链 木星链
Ctrl+D收藏木星链

Chain:从简单和实用出发,一文读懂零知识证明

作者:

时间:1900/1/1 0:00:00

作者:benlaw.eth

你之前是否阅读过一些零知识证明的文章,但仍一头雾水?这些文章可能:

只以故事和童话作例子来论述ZKP,无法深入其本质。

内含大量密码学术语,数学公式,学术论文等,对初学者而言过于复杂。

本文提供了对ZKP简明扼要的概述,并从数学、密码学和编程角度进一步阐述ZKP的核心要素。

向色盲提供颜色证明

如何向色盲患者证明两个球的颜色确实是不同的?这其实并不复杂:

让他在手里握住两个球,背到背后,然后随机选择交换或不交换两个球的位置,再展示给你看,你告诉他这两个球的位置是否有变化。

在他看来,你可以通过瞎蒙来完成一次证明。不过,如果成千上万次地重复这个过程:如果你总是能说出正确答案,那么靠纯蒙的方式来保持一直正确的概率,是小到可以忽略的。因此可以通过这种方式来向色盲患者证明:两个球的颜色确实不一样,并且我们也有感知和区分的能力。

Optimism发布支持声誉系统的Superchain Faucet,未来将支持World ID:8月2日消息,Optimism宣布推出Superchain Faucet,这是一个支持声誉系统的测试网水龙头,允许开发者利用链上声誉数据获取高达20倍于常规测试网ETH的数量。这将帮助Optimism生态系统中的开发者更有效地进行项目测试和迭代。Superchain Faucet不仅支持通过GitHub进行社交认证,还允许开发者通过链上身份进行认证。目前,Superchain Faucet支持OP Goerli,但设计上将扩展到Superchain的其他OPChains,包括Base、ZORA NETWORK、PGN以及未来的Superchain合作伙伴。Superchain Faucet目前支持通过Optimist NFT进行身份验证,并将在未来支持World ID。[2023/8/2 16:13:49]

颜色证明

上述证明过程是典型的零知识证明:

验证者无法在证明过程中获得任何关于颜色的知识,因为经过验证过程后他依然没有区分颜色的能力。

Quantstamp已同意解决美国SEC对其进行的指控:金色财经报道,Quantstamp已同意解决美国SEC对其进行的指控,这将涉及返还发行收益并支付民事罚款。在不承认或否认SEC调查结果的情况下,Quantstamp同意停止令并支付198万美元的非法所得、494,314美元的判决前利息以及100万美元的民事罚款。

美国SEC的命令还设立了一个“公平基金”,该基金将把Quantstamp 支付的资金退还给受影响的投资者。Quantstamp还将把其控制下的所有QSP转让给该基金;这些资金将被永久禁用或销毁。该公司还被指示在其网站上发布该命令的通知,并将该命令发送到列出其代币的加密货币交易平台。

金色财经此前报道,美国证券交易委员会(SEC)此前指控知名区块链安全公司Quantstamp进行未经注册的首次代币发行(ICO?)。[2023/7/27 16:01:07]

该验证过程是概率性的而非决定性的。

该过程是交互式的,需要多轮交互。不过,零知识证明中也有许多协议,通过高级技巧将证明过程转化成了非互动式的。

嘉实基金董事长拜访香港财库局、香港金融管理局、香港证券及期货事务监察委员会:金色财经报道,2023年6月27日至29日,嘉实基金赵学军董事长率团访问香港特别行政区政府财经事务及库务局、香港金融管理局、证券及期货事务监察委员会,分别与财库局局长许正宇先生、香港金融管理局总裁余伟文先生、香港证监会行政总裁梁凤仪女士,就资产及财富管理、数字金融和绿色可持续金融等领域进行交流。[2023/7/3 22:15:01]

掌握知识的证明

我们已经分享了一种现实世界中的零知识证明的例子,接下来再来看一下在二进制世界中如何实现零知识证明。

Arthur是Elon的朋友,并且知道对方的手机号。Betty不知道Elon的号码。如果Arthur想要向Betty证明他知道,但又不想泄露号码,应该怎么实现呢?

知识证明

一种不成熟的方案是,Elon发布自己电话号码的哈希,Arthur通过一个程序输入哈希的原像,程序进行运算并检查结果。这个方法有一些致命的缺陷:

CertiK:Zk Secure (ZK)遭遇闪电贷款攻击:金色财经报道,据CertiK监测,Zk Secure (ZK)遭遇闪电贷款攻击,目前共有7千美元被盗。请保持警惕。[2023/6/3 11:55:33]

根据哈希,Betty可以通过暴力破解的方式得到原像,能破解出来的概率是不可忽略的,而且得到的结果几乎是确定性的。

Arthur必须向该程序输入原像。如果程序在Arthur的电脑上,Betty就会对此有疑问:我怎么知道你有没有作弊,你的电脑也许会一直声称你的证明是对的?

如果程序在Betty的电脑上运行,Arthur也会担心,自己输入的信息会不会被窃取,即使程序肉眼可见的代码中并没有窃取信息的命令。

因为无法将程序分开在不同的环境中运行,这个信任问题是难以解决的。

常规的方法在这里碰壁了,是时候让零知识证明出场了!

基于密码学的零知识证明的实现方案

在此我会用零知识证明中的SigmaProtocol来解决问题,因为它比较简单。并且,为了简洁和易于理解,这里不会使用严格的密码学和数学中的定义、术语及推导过程等。

DEX聚合器ParaSwap推出点对点NFT交易应用:6月20日消息,DEX聚合器Para Swap宣布推出点对点NFT交易应用,该应用允许卖家为其NFT创建自定义订单,这些订单可以直接发送给买家,并在后端使用Para Swap的DEX引擎。该应用将使用Ramp作为法币入口,并在前三周或交易量达到50万美元之前无需交易费用,平台上使用以太坊之外的代币进行交易的产生的Gas费将进行退还。(CoinDesk)[2022/6/21 4:41:09]

核心流程

使用零知识证明证明一个人有特定的知识,我们采取如下办法:

Sigma协议

定义一个P阶的有限群及其生成元g。我们可以暂时忽略这些奇怪的名词具体什么意思。

根据上面的定义,某个拥有知识或能接触到知识的第三方,将知识通过h=g^w(modP)的方式加密后,将h发布出去。

证明者启动零知识证明流程。生成一个随机数r,计算a=g^r,并将a发送给验证者。

验证者生成一个随机数e并发送给证明者。

证明者计算z=r+ew并发送给验证者。

验证者检查g^z==a·h^e(modP)。如果为真,则验证者确实掌握其声称的知识。

好啦,该证明协议到此就结束了!非常简短,但你仍可能对上面的一些数学运算感到困惑,但这不要紧,我们先有个大概印象再深入理解。

数学原理

这套流程背后的核心数学原理是离散对数难题:当P是一个很大的质数时,对于给定的h,很难找到满足h=g^w(modP)的w。该原理适用于上面所有类似的式子。

我们来一步一步解析下:

经过加密的知识h=g^w(modP),是难以被暴力破解的。由于求余运算的特点,即使被破解了也不具备单一确定解。这意味着对证明者而言,通过暴力破解来作弊,验证者,是不可行的。

然后我们将3,4,5步作为一个整体来看一下他们为什么要交换这些随机数:

I.证明者并不想暴露其秘密,所以他必须用随机数包裹一下将其隐藏起来。而验证者也需要通过添加一些随机数,让该知识可被自己验证的同时防止证明者作弊,而且不会窥探到证明者的秘密。

II.如果验证者先发送了随机数e,很明显,证明者可以通过编造a=g^z·h^-e来在最终检查中验证者,即使没有知识也可以通过。所以证明者必须先手发送一个承诺(a=g^r),但非r本身,来避免可作弊场景,同时不让验证者通过w=(z-r)/e提取到秘密。

III.在收到承诺后,验证者向证明者发送随机数e。由于其本身或者其衍生物无法泄露任何一方的信息,这个数不需要加密。之后证明者计算z=r+ew并将z发送给验证者。验证者最终通过检查g^z=g^(r+ew)=g^r·(gw)^e=a·h^e来确定证明者是否掌握知识。

通过这种往返交错的结构,我们收获了三个性质:

完备性:当且仅当证明者输入正确知识,验证才能通过。

可靠性:当且仅当证明者输入错误知识,验证才会失败。

零知识性:验证者无法在验证过程中获取任何知识。

上述三点即零知识证明的核心特性。通过数学和密码学,我们构建出了一套光怪陆离的证明体系。恭喜你一路走了这么远,现在应该已经可以说正式迈入了富丽堂皇又奥妙无穷的ZKP圣殿。

Havefun!

进一步了解

模拟器和零知识性

我们现在来考虑一些魔幻场景。如果一个证明者具有预言或篡改验证者生成的随机数的超能力,我们称其为模拟器。

模拟器vs验证者

设想,模拟器在验证者的随机数e生成前就对其进行了篡改,确保其生成后是自己预设的值。根据上面II所说,这种能力使模拟器能编造承诺a来验证者。不论模拟器的输入是什么,验证者总会得出结论模拟器具有知识,然而实际上他并没有。

显然,经过这种思想实验我们可以得出结论,验证者无法在该零知识证明协议中获取任何知识,也即其零知识性是成立的:

零知识性<==?模拟器S,使得S(x)与真实的协议执行不可区分,其中S(x):选择随机的z和e,令a=g^z·h^-e,其中(a,e,z)的分布与真实的随机数环境一致并满足g^z=a·h^e。

抽取器和可靠性

再来想象一下另一种超能力者——抽取器,具有时光倒流的能力。不过这次是抽取器作为验证者,面对一个正常的证明者。

当协议结束时,抽取器发起时间倒流,回到协议的起点,并持有上一轮得到的(z,e,a)。现在,协议重新执行一遍。由于证明者没有超能力无法进行时间旅行只能在固定的时间线上做确定的事,他又生成了一个一模一样的随机数r以及承诺a=g^r,而抽取器则可以生成新的随机数e'给证明者。

证明者vs抽取器

现在,抽取器获得了:g^z=a·h^e,g^z'=a·h^e=>g^(z-z')=h(e-e')=>加密后的知识h=g^((z-z')/(e-e'))=>知识w=(z-z')/(e-e').

显然,只要证明者真的掌握了知识,抽取器总是可以将其抽取出来,也即完备性成立:完备性<==?抽取器E,对给定的任何h,在掌握(a,e,z),(a,e',z')且e≠e'的情况下,都能输出ws.t.(h,w)∈R.

完备性

完备性不需要任何特殊角色来证明,因为:g^z=g^r+ew=g^r·(g^w)^e=a·h^e.

标签:ChainHAICHAAINonlychainFrenChainGlass ChainWeFilmChain

火必交易所热门资讯
NFT:被Y Combinator最新选中的25家加密初创公司

原文标题:《The25cryptostartupsthatYCombinatorisbackinginitsW22batch》原文作者:LucasMatney编译:深潮TechFlow 硅谷第一.

1900/1/1 0:00:00
DAO:全方位解读投资DAO:或将成为下一个趋势?

作者:Marina,W3.Hitchhiker在2021年的7月末,一个名为“PleasrDA”的去中心化自治组织聚集在一起.

1900/1/1 0:00:00
NFT:浅析加密钱包未来在 Web3 中扮演的角色:储蓄、数字身份、社交……

原作者:ShaunPaulLee原标题:《CryptoWallets&TheRoleThey''llPlayInAWeb3Future》编译:饼干,链捕手钱包是日常生活里的重要组成部分.

1900/1/1 0:00:00
CUR:Curve 生态是套娃还是 DeFi 乐高的巧妙组合?尝试读懂 Redacted Cartel

作者:Wayne,TokenInsight本文尝试从CurveWar的基础上去简单理解RedactedCartel,把RedactedCartel理解为是CurveWar的Bribe延伸平台.

1900/1/1 0:00:00
比特币:晚报 | 港交所计划建立数字资产交易平台Diamond;跨链桥协议 Stargate 出现严重漏洞并已修复

整理:饼干,链捕手1、港交所计划今年建立试点数字资产交易平台Diamond,可24小时运营据香港01报道,港交所今日举行企业日活动,行政总裁欧冠升表示.

1900/1/1 0:00:00
比特币:晚报 | Twitter接受马斯克收购提议;富达投资计划允许投资者在其 401(k)中开设比特币账户

整理:饼干,链捕手“过去24小时都发生了哪些重要事件”?1、Twitter宣布接受马斯克440亿美元收购提议,将于今年完成交易Twitter公司宣布接受了特斯拉CEO埃隆·马斯克的收购协议.

1900/1/1 0:00:00