零知识证明

合集下载

零知识证明 金融应用场景

零知识证明 金融应用场景

零知识证明金融应用场景随着金融科技的快速发展,金融领域出现了越来越多的新技术和新应用。

其中,零知识证明技术是一种非常有前景的技术,它可以在保护用户隐私的同时,提高金融交易的效率和安全性。

本文将从零知识证明的基本原理、金融应用场景以及未来发展趋势等方面进行详细介绍。

一、零知识证明的基本原理零知识证明(Zero-Knowledge Proof,简称ZKP)是一种密码学技术,它可以证明某个命题为真,同时不泄露任何有关这个命题的信息。

具体来说,零知识证明的基本原理是通过构造一种难以被攻破的数学问题,来证明某个命题的正确性。

在这个过程中,证明者不需要向验证者透露任何有关这个问题的信息,而验证者也可以通过验证这个问题的正确性来确认命题的真实性。

因此,零知识证明技术可以在不暴露任何隐私信息的情况下,完成安全的交易验证。

二、零知识证明在金融领域的应用场景1. 匿名交易在传统的金融交易中,为了确认交易的真实性,通常需要对交易双方的身份信息进行验证。

然而,在某些情况下,交易双方可能不希望透露自己的身份信息,例如进行慈善捐款、购买敏感商品等。

这时,零知识证明技术可以帮助交易双方在不暴露身份信息的情况下完成交易。

具体来说,交易双方可以使用零知识证明技术来证明自己拥有足够的资金或者达成某个交易条件,而无需透露自己的身份信息。

2. 银行信用评估在银行信用评估中,通常需要对客户的个人信息、财务状况等进行评估,以确定客户是否有资格获得贷款或信用卡等金融产品。

然而,客户的个人信息涉及隐私问题,如果这些信息被泄露,将会对客户造成严重的影响。

因此,零知识证明技术可以帮助银行在不暴露客户隐私的情况下,对客户的个人信息进行评估。

具体来说,客户可以使用零知识证明技术来证明自己的收入、负债等信息,而无需透露自己的身份信息和具体的财务状况。

3. 区块链交易在区块链交易中,为了保证交易的真实性和可追溯性,通常需要对交易信息进行验证和记录。

然而,区块链交易的公开性和透明度也会导致交易信息的泄露和隐私问题。

零知识证明是零信任吗

零知识证明是零信任吗

零知识证明是零信任吗导语虽然零知识证明和零信任这两个词,都带有“零”,都与“信任”有关,但并不是一回事。

两者本质上都要增强「信任」,但在增强「信任」的过程中,零知识证明强调不泄露知识;零信任强调不要过度授权。

简单说,零知识是为了隐藏知识;零信任是为了控制信任。

零知识证明解决了信任与隐私的矛盾:既通过「证明」提升「信任」,又通过「零知识」保护「隐私」。

是两全其美的方案。

探索零知识证明的过程,可以探索到安全的本质。

安全之终极定义,不是启发式的CIA三性,而是采用形式化验证的可证明安全——上帝(“模拟者”)与科学(数学、计算复杂度)完美结合的推演过程。

一、了解零知识证明1、零知识证明的定义零知识证明(ZKP,Zero-Knowledge Proof)的定义为:证明者(prover)能够在不向验证者(verifier)提供任何有用信息的情况下,使验证者(verifier)相信某个论断是正确的。

根据定义,零知识证明具有以下三个重要性质:(1)完备性(Completeness):只要证明者拥有相应的知识,那么就能通过验证者的验证,即证明者有足够大的概率使验证者确信。

(关于这里提到的“概率”,详见后面的“色盲游戏”)(2)可靠性(Soundness):如果证明者没有相应的知识,则无法通过验证者的验证,即证明者欺骗验证者的概率可以忽略。

(3)零知识性(Zero-Knowledge):证明者在交互过程中仅向验证者透露是否拥有相应知识的陈述,不会泄露任何关于知识的额外信息。

从定义中,还可以提取到两个关键词:“不泄露信息”+“证明论断有效”。

再浓缩一下就是:隐藏+证明。

所以,零知识证明的核心目的是:隐藏并证明需要它隐藏的各类秘密。

(感觉很矛盾是吧)2、零知识证明的源头零知识证明是1984年由Goldwasser、Micali、Rackoff三个人提出,论文题目是《The Knowledge Complextiy of Interactive Proof Systems》(《交互式证明系统中的知识复杂性》)。

基于格的零知识证明

基于格的零知识证明

基于格的零知识证明(原创版)目录1.零知识证明的概述2.基于格的零知识证明的概念3.基于格的零知识证明的应用4.基于格的零知识证明的优缺点5.总结正文1.零知识证明的概述零知识证明(Zero-knowledge proof,简称 ZKP)是密码学中的一种证明方法,指的是一个证明者能够在不向验证者泄露任何有关证明对象的实际信息的情况下,使验证者相信某个论断是正确的。

零知识证明具有以下三个特性:完整性(Completeness)、零知识性(Zero-knowledge)和音效性(Soundness)。

2.基于格的零知识证明的概念基于格的零知识证明是零知识证明的一种实现方式,其中的“格”指的是一种数学结构,具有向量空间和环的性质。

基于格的零知识证明利用了格的数学性质,通过在格中进行计算和证明,实现对证明对象的零知识证明。

3.基于格的零知识证明的应用基于格的零知识证明在密码学和信息安全领域具有广泛的应用,例如:匿名认证、数字签名、密钥交换等。

通过使用基于格的零知识证明,可以在保证安全性的同时,提高系统的效率和性能。

4.基于格的零知识证明的优缺点优点:a.基于格的零知识证明具有较高的安全性,因为格的数学性质使得攻击者难以破解证明;b.基于格的零知识证明具有较高的效率,因为在格中进行计算和证明可以降低计算复杂度;c.基于格的零知识证明可以灵活地应用于各种证明场景。

缺点:a.基于格的零知识证明的理论基础较为复杂,需要深入理解格的数学性质;b.在实际应用中,基于格的零知识证明可能需要针对特定问题进行定制化设计。

5.总结基于格的零知识证明是一种具有高效性和安全性的证明方法,已经在密码学和信息安全领域得到广泛应用。

零知识证明

零知识证明

在最小泄露协议中零知识证明需要满足下述两个性质。 (1)正确性。P无法欺骗V。换言之,若P不知道一个定理的证明方法,则P使V相信他会证明定理的概率很低。 (2)完备性。V无法欺骗P。若P知道一个定理的证明方法,则P使V以绝对优势的概率相信他能证明。 在零知识协议中,除满足上述两个条件以外,还满足下述的第三个性质。 (3)零知识性。V无法获取任何额外的知识。 我们把性质(1)和(2)称为零知识证明的正确性和完备性,而性质(3)称为零知识性。
设P表示掌握某些信息,并希望证实这一事实的实体,设V是证明这一事实的实体。假如某个协议向V证明P的 确掌握某些信息,但V无法推断出这些信息是什么,我们称P实现了最小泄露证明。不仅如此,如果V除了知道P能 够证明某一事实外,不能够得到其他任何知识,我们称P实现了零知识证明,相应的协议称作零知识协议。
性质
引入
顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去——即 给外界的“知识”为“零”。其实,零知识证明并不是什么新东西,早在16世纪的文艺复兴时期,意大利有两位 数学家为竞争一元三次方程求根公式发现者的桂冠,就采用了零知识证明的方法。当时,数学家塔尔塔里雅和菲 奥都宣称自己掌握了这个求根公式,为了证明自己没有说谎,又不把公式的具体内容公布出来(可能在当时数学公 式也是一种技术秘密),他们摆开了擂台:双方各出30个一元三次方程给对方解,谁能全部解出,就说明谁掌握 了这个公式。比赛结果显示,塔尔塔里雅解出了菲奥出的全部30个方程,而菲奥一个也解不出。于是人们相信塔 尔塔里雅是一元三次方程求根公式的真正发现者,虽然当时除了塔尔塔里雅外,谁也不知道这个公式到底是个什 么样子。从这个故事,我们可以初步了解零知识证明的概念。
属性
零知识证明需要满足三个属性。 1、如果语句为真,诚实的验证者(即:正确遵循协议的验证者)将由诚实的证明者确信这一事实。 2、如果语句为假,不排除有概率欺骗者可以说服诚实的验证者它是真的。 3、如果语句为真,证明者的目的就是向验证者证明并使验证者相信自己知道或拥有某一消息,而在证明过程 中不可向验证者泄漏任何有关被证明消息的内容。 零知识证明并不是数学意义上的证明,因为它存在小概率的误差,欺骗者有可能通过虚假陈述骗过证明者。 换句话来说,零知识证明是概率证明而不是确定性证明。但是也存在有技术能将误差降低到可以忽略的值。 零知识的形式定义必须使用一些计算模型,最常见的是图灵机的计算模型。

利用zokrate求hash的零知识证明

利用zokrate求hash的零知识证明

一、研究背景在当今的信息时代,数据安全和隐私保护已经成为了全球范围内的热门议题。

尤其是在金融、医疗、电子商务等领域,对于数据的安全性和隐私性要求越来越高。

随着区块链技术的快速发展,人们对于数据隐私的保护提出了更高的要求。

在这种背景下,零知识证明技术应运而生,成为了解决数据隐私和安全性问题的重要手段之一。

二、零知识证明概述零知识证明(Zero-Knowledge Proof)是指一种可以证明某个断言是真实的,而不需要透露任何与该断言有关的信息的证明。

简单来说,就是证明者可以证明自己掌握了某种信息,却不会泄漏任何关于这种信息的细节。

这种技术在实际应用中具有广泛的价值,特别是在密码学、计算机安全和区块链技术等领域。

三、 Zokrates介绍Zokrates是一种基于区块链的零知识证明工具,它可以用于构建、编译和部署可验证的智能合约。

Zokrates支持的语言是一种称为Zokrates DSL的专门语言,它允许用户编写和部署零知识证明智能合约,从而实现对数据隐私和安全性的保护。

四、利用Zokrates求Hash的零知识证明1. 编写Zokrates DSL代码我们需要编写Zokrates DSL代码来描述我们需要证明的断言,通常包括输入的数据、证明的信息和断言的真实性。

在求Hash的零知识证明中,我们需要描述输入的数据(即需要进行Hash运算的原始数据)和Hash的结果。

下面是一个简单的Zokrates DSL代码示例:```def m本人n(private field a):field resultHash = sha256(a)return resultHash```在这段代码中,我们定义了一个名为m本人n的函数,输入参数为私有域a,表示原始数据。

然后使用sha256函数计算a的Hash值,并返回结果。

2. 编译Zokrates DSL代码接下来,我们需要使用Zokrates工具对编写好的Zokrates DSL代码进行编译,生成对应的验证智能合约。

零知识证明研究综述

零知识证明研究综述

DCWTechnology Analysis技术分析79数字通信世界2023.061 零知识证明的概念零知识证明是某种权益的拥有者,即知道问题的解w 的人在不泄露任何有关问题的相关信息的情况下,能证明其确实掌握有w 。

1.1 注解我们有两个角色方,证明者(简称P )和验证者(简称V ),以及对两个角色方来说不是秘密的NP 关系R 、问题x 及答案w 这三个对象满足公式:R (x ,w )=1 (1)证明者知道问题的答案x ,他需要向验证者证明他知道问题x 以及问题的答案w ,但不泄露关于w 的任何信息。

以上描述等价于证明满足以下三个属性:(1)完备性。

此证明完成后能够让验证者确信证明者没有说谎,或者说证明者确实握有问题x 的某个解w 。

(2)合理性。

证明者不拥有x 的某个解w ,则不能令验证者相信他拥有问题x 的某个解。

(3)零知识性。

证明过程不能泄露关于w 的任何信息。

下面给出零知识证明这一概念的较为数学化的定义。

1.2 定义考虑等式R (x ,w )=1,这里x 是一个数学问题,w是该问题的未知的解,也即w 满足x 所定义的若干关系,R 是判断w 是否满足这些关系的判定程序,我们还要求R (x ,w )=1是一个NP 问题,即求解w 很难,但验证w 是该问题的解是容易的。

1.3 注解在这里,容易和困难的界定是由算法的时间复杂度决定的,即能否能在多项式时间内解决问题,即算法的时间复杂度是否低于多项式的维度。

对早期的零知识证明的协议来说,很多是必须要求证明是某种交互输入,例如下节给出的三色问题的一个零知识证明方案。

这种交互式证明是从概率角度零知识证明研究综述张正铨1,胡 森1,莫晓康 1, 2(1.中国科学技术大学,安徽 合肥 230026;2.国科创新研究院(厦门)有限公司,福建 厦门 361021)摘要:文章论述了密码学的新领域——零知识证明的概念、方法、算法、应用,以及其在区块链领域的若干应用。

零知识证明

零知识证明

零知识证明零知识证明是一种密码学中的重要概念,指的是在一个交互式的协议中,证明者可以向验证者证明某个命题的正确性,同时不泄露任何额外的信息,除了证明该命题的正确性。

零知识证明的作用在于提高信息安全性和保护个人隐私。

它可以应用于各种场景,如电子商务中的身份认证、密码协议中的密钥交换等。

零知识证明的基本协议是三个步骤的互动过程:证明者向验证者发送一系列的消息,验证者根据收到的消息进行验证,最后得出结论。

具体步骤如下:第一步,证明者选择一些随机值,并计算出基于这些随机值的证明。

然后,证明者将这些随机值和证明发送给验证者。

第二步,验证者选择一个随机比特值,并发送给证明者。

证明者根据验证者发送的随机比特值来回答验证者的挑战。

第三步,验证者根据证明者的回答验证证明是否正确。

如果验证成功,则可以得出结论。

零知识证明具有如下特点:1. 完备性:如果命题为真,那么验证者能够接受证明者的证明,并得出正确结论。

2. 零知识性:证明者在证明过程中,不泄露任何关于证明技巧的信息。

除了命题正确与否以外,验证者无法获取到任何其他额外的信息。

3. 亮针度:证明者和验证者之间的交互是多轮的,每一轮都是以随机方式选择的,防止攻击者对信息进行分析和破译。

零知识证明的实现基于零知识证明系统,该系统由一个证明者和一个验证者组成。

通常,证明者拥有一些证据,他希望验证者相信这些证据是正确的,而验证者则希望证明者确实拥有这些证据。

在实际应用中,零知识证明可以用于匿名认证、电子投票等场景。

比如在匿名认证中,用户可以向第三方机构证明自己拥有某种身份或资格,同时不需要泄露任何个人信息。

在电子投票中,零知识证明可以用于证明某个投票者投票的正确性,而无需泄露该投票者的具体选择。

总之,零知识证明作为一种强大的密码学工具,可以在保护用户个人隐私的同时实现信息的安全验证。

它在各种场景中具有广泛的应用前景,并将在未来进一步推动信息安全和隐私保护的发展。

零知识证明的理论基础与应用

零知识证明的理论基础与应用

零知识证明的理论基础与应用11 合同主体甲方:____________________________乙方:____________________________111 合同标的本合同旨在探讨和明确零知识证明的理论基础及其应用相关的合作事宜。

零知识证明是一种密码学技术,允许一方(证明者)向另一方(验证者)证明某一陈述是真实的,而无需透露除该陈述为真之外的任何额外信息。

具体的合作内容包括但不限于:1、共同研究零知识证明的数学原理和理论框架。

2、探索零知识证明在区块链、隐私保护、身份验证等领域的应用场景和解决方案。

3、开发基于零知识证明的相关技术和产品。

112 双方权利义务甲方权利义务:1、有权参与零知识证明相关研究和应用开发的决策过程。

2、有义务提供必要的技术、人力和资金支持,以推动合作的顺利进行。

3、负责合作项目的部分管理和协调工作,确保各方的工作能够有效衔接。

乙方权利义务:1、有权获取甲方提供的必要支持和资源。

2、有义务按照合同约定的方向和目标开展研究和开发工作。

3、负责分享在零知识证明领域的专业知识和经验,为合作项目提供技术指导。

113 违约责任若甲方未按照约定提供支持和资源,导致合作项目延误或无法进行,甲方应承担相应的责任,包括但不限于补偿乙方因此遭受的损失,重新提供约定的支持和资源,以确保项目能够继续推进。

若乙方未按照合同约定履行研究和开发义务,导致项目未能达到预期目标,乙方应承担相应的责任,包括但不限于采取补救措施、重新进行相关工作,或者按照约定向甲方支付违约金。

若双方因不可抗力等不可预见、不可避免的原因无法履行合同义务,双方应协商解决,并根据实际情况减轻或免除责任。

114 争议解决方式双方在履行本合同过程中如发生争议,应首先通过友好协商解决。

若协商不成,任何一方均有权向有管辖权的人民法院提起诉讼。

在争议解决期间,除争议事项外,双方应继续履行本合同中不涉及争议的其他条款。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

零知识证明“零知识证明”-zero-knowledge proof,是由Goldwasser等人在20世纪80年代初提出的。

它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。

零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。

证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。

在Goldwasser等人提出的零知识证明中,证明者和验证者之间必须进行交互,这样的零知识证明被称为“交互零知识证明”。

80年代末,Blum等人进一步提出了“非交互零知识证明”的概念,用一个短随机串代替交互过程并实现了零知识证明。

非交互零知识证明的一个重要应用场合是需要执行大量密码协议的大型网络。

大量事实证明,零知识证明在密码学中非常有用。

在零知识证明中,一个人(或器件)可以在不泄漏任何秘密的情况下,证明他知道这个秘密..如果能够将零知识证明用于验证,将可以有效解决许多问题..这是我前几天在网络上看到得,觉得很有意思,但现的问题是:要怎么做?诸位发表点看法:附相关零知识证明材料:零知识证明不是证明在条款的数学感觉因为有一个固定的可能性p 在任一零知识证明Peggy 能提供对挑战的正确反应即使她不知道钥匙。

但是如果测试被重覆n 计时欺诈被减少Peggy 的可能性p n , 和由增加测试胜者的数字可能使Peggy 的可能性降低欺诈到一个任意水平。

例子战略Peggy 的公开密钥是一张大图表, 我们将称G。

Peggy 被组建的G 某时从前,和广泛然后出版它。

由于她特别地制造了它为目的, Peggy 知道一个汉密尔顿的周期在G。

Peggy 将证明她的身份对胜者由证明, 她知道一个汉密尔顿的周期在G。

即使G 是公开信息, 没人可能做这, 因为没人知道G 的一个汉密尔顿的周期, 并且发现汉密尔顿的周期在图表是一个困难的问题(参见NP 完整性) 。

但是, Peggy 不能简单地显露汉密尔顿的周期对胜者, 胜者(或偷听者) 从那以后能在将来扮演Peggy 。

Peggy 不能显露任何信息在所有周期, 因为偷听者也许收集信息关于几个不同的场合和装配它入足够的信息能扮演Peggy 。

证明她的身份, Peggy 和胜者扮演以下比赛的几个圆:Peggy 标记G 端点以随机号。

边缘可能然后代表作为一对这些数字。

她列出G 边缘, 和编成密码各个边缘以一个另外密钥。

她然后寄发被编成密码的边缘到胜者。

胜者翻转硬币。

* 如果硬币过来头, Peggy 向随机号投降密钥和测绘从端点。

胜者解码边缘和然后核实, 被编成密码的边缘被派在步骤1 实际上做graph.g 和没有某一其它图表。

* 如果硬币过来尾巴, Peggy 投降密钥只为实际上形成汉密尔顿的周期的边缘。

胜者解码这些边缘和核实, 他们的确形成正确长度的周期。

冒名顶替者(' Pamela ') 能设法扮演Peggy, 和有成功地唬弄胜者的50% 机会在任何尤其圆。

有二个可能的扮演战略。

Pamela 能派Peggy 的graph.g 的编成密码。

在这种情况下, 她逃脱侦查如果胜者投掷头; 她显露编成密码, 并且胜者核实图表的确是G。

但如果胜者投掷尾巴, Pamela 被捉住。

她被要求显露的一套的钥匙组成一个汉密尔顿的周期G 边缘, 并且她无法做那, 因为她不认识一。

Pamela 能跟随的另一战略是准备某一其它图表她知道一个汉密尔顿的周期的H编成密码。

她在这种情况下是安全的如果胜者投掷尾巴; 她显露周期, 并且, 因为胜者从未看边缘的剩余, 他从未获悉图表是H 和不是G。

但如果胜者投掷头, Pam ela 被要求显露整个图表, 并且胜者看见这不是G。

由扮演这场游戏二十回合, 胜者能使由Pamela 被唬弄的可能性降低到一仅仅2 -20。

由扮演更多圆, 胜者能减少可能性就渴望。

信息由Peggy 显露提供胜者任何信息在所有不G 的汉密尔顿的周期。

看这, 注意胜者能制造比赛的抄本没有谈话与Peggy 根本。

他能选择序列头和尾巴, 和然后准备假定回复从Peggy, 没有曾经知道汉密尔顿的周期, 由从事适当的冒名顶替者战略在每个圆。

抄本, 和它不遏制, 有线索关于Peggy 的身份合法的信息。

Peggy 证明她的身份不是因为她能基于正确的答复, 但因为她能基于正确的答复没有知道将是什么问题。

零知识证明的几个例子[原创]所谓零知识证明,指的是示证者在证明自己身份时不泄露任何信息,验证者得不到示证者的任何私有信息,但又能有效证明对方身份的一种方法。

看起来有点别扭,我给2个例子,也许好明白一些。

1)A要向B证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。

这时有2个方法:(一)A把钥匙出示给B,B用这把钥匙打开该房间的锁,从而证明A拥有该房间的正确的钥匙。

(二)B确定该房间内有某一物体,A用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给B,从而证明自己确实拥有该房间的钥匙。

后面这个方法属于零知识证明。

好处在于在整个证明的过程中,B始终不能看到钥匙的样子,从而避免了钥匙的泄露。

2)A拥有B的公钥,A没有见过B,而B见过A的照片,偶然一天2人见面了,B认出了A,但A不能确定面前的人是否是B,这时B要向A证明自己是B,也有2个方法。

(一)B把自己的私钥给A,A用这个私钥对某个数据加密,然后用B的公钥解密,如果正确,则证明对方确实是B。

(二)A给出一个随机值,B用自己的私钥对其加密,然后把加密后的数据交给A,A用B的公钥解密,如果能够得到原来的随机值,则证明对方是B。

后面的方法属于零知识证明。

3)有一个缺口环形的长廊,出口和入口距离非常近(在目距之内),但走廊中间某处有一道只能用钥匙打开的门,A要向B证明自己拥有该门的钥匙。

采用零知识证明,则B看着A从入口进入走廊,然后又从出口走出走廊,这时B没有得到任何关于这个钥匙的信息,但是完全可以证明A拥有钥匙。

除了被俘后如何靠情报保命这个问题,零知识证明在社会领域中还有着很多应用场合。

例如你证明了一个世界级的数学难题,但在发表出来之前,总是要找个泰斗级的数学家审稿吧,于是你将证明过程发给了他,他看懂后却动了歪心思,他把你的稿子压住,把你的证明用自己的名义发表,他名利双收,你郁闷至死,你去告他也没用,因为学术界更相信的是这位泰斗,而不是你这个无名之辈。

这并不是天方夜谭,而是学术界常见的难题,前些年有个博士生告他的泰斗级导师剽窃他的成果,但除了令师生关系恶化外没有任何效果,最后他使出了撒手锏,称他在给导师审阅的论文的关键公式中,故意标错了一个下标,而这会导致整个推导失败。

学术委员会一查果真如此,但还是有倾向于泰斗的声音,有人说那是泰斗的笔误,只不过让你发现了而矣,并不能证明那公式就是你推导出来的。

这个博士生故意标错下标,不能说他没有心眼,但他没有把“零知识证明”理论用好,以致于落到这种地步。

“零知识证明”早在1986年就被A.Fiat和A.Shamir用数学的方法给出了解决方案,并在同年申请了美国专利,但由于该理论可能被用于军事领域,专利局被军方密令搁置,6个月后,军方命令:“该申请发表后会有害于国家安全……所有美国人的研究未经许可而泄露将会被判刑罚款”。

看来军方认为作者肯定是美国人了,但作者实际上是在美国申请专利的以色列人,研究也是在以色列的大学里做的,军方这个命令摆了个大乌龙,虽然两天后撤消了,但已经成为了学术界的笑柄。

这个笑柄也说明了一个问题,即“零知识证明”非常重要。

基于数学的推理虽然非常复杂,但思路却很简单,上述的阿里巴巴方案就是其中之一。

其它的一些方案,也都是像这样遵循着分割和选择(Cut and Chose)协议的。

例如图论中有个哈米尔顿回路(Hamiltonian Cyclic)问题,说的是多个顶点的全连通图,若有一条通路通过了所有顶点,且每个顶点只通过一次,那这就是哈米尔顿回路。

如果顶点较多的话,即使用计算机穷举计算很难找出这条回路,因为通路的可能性真在是太多了。

如果松鼠会贴了一张全连通图(命名为A图)悬赏哈米尔顿回路,而且任命我(奥卡姆剃刀)作为评审官,你幸运的找到了一条,那该怎么办呢,将结果直接发给我吗?千万不要,因为保不齐我会将你的成果让给了我的亲信。

那你该怎么办呢?应该这么办:1、你将A图的顶点搞乱了,并生成一张新图,只是顶点的位置变了,而新图顶点之间的连线关系与A图是完全一致的。

这时,新图中每个顶点与A图中每个顶点的对应关系你是清楚的,而且新图中的哈米尔顿回路你也是知道的。

2、你将这张新图发给我,没错,就是仅仅一张新图,上面并没有画着你发现的牛B回路。

3、我收到后,对你提出两个问题中的一个:一是证明新图就是从A图变形过来的,所有顶点和连线的关系完全一致,二是画出新图中的哈米尔顿回路。

4、如果你真的找到了A图的哈米尔顿回路,这两个问题当然都能轻松回答。

需要注意的是:你只需要回答第3步的其中一个问题,千万不要两个问题一并回答,否则我就知道你关于A 图的哈米尔顿回路了,你就SB了。

5、我还是不相信你,因为有可能你只是将A图变了形,却根本不知道A图的哈米尔顿回路,而我在第3步时恰好要求你证明新图就是从A图变形过来的,你当然能证明。

或者有可能你找了个你知道哈米尔顿回路的图,但这张图跟A图一点关系都没有,而我在第3步恰好要求你画出这张图的哈米尔顿回路。

6、我要求你从第1步开始重复这个验证过程,随着次数的增加,第5步那种巧合的可能性就越来越低,如果你多次能回答对第3步中的问题,那我还不相信你已经找到了A图的哈米尔顿回路,那我就是一个傻瓜。

7、为了表明我不是傻瓜,我在松鼠会群博里宣布你找到了A图的哈米尔顿回路,而这时我并没有看到你所画的A图的哈米尔顿回路。

回到你证明了世界级的数学难题的问题,你可以用这种分割和选择协议来进行零知识证明,来保护你的权利。

你公开声称你解决了这个数学难题后,验证者会给你出一个其它的题,而能做出这道题的前提条件是已经解决了那个数学难题,否则的话无解,而且这个条件是学术界所公认的,这个题就是所谓的平行问题。

不出所料,你靠着已经解开数学难题的基础把这个平行问题做出来了,但验证者还是不信,他又出了一道平行问题,你又做出来了,多次较量后,验证者就确信了你已经解决了那个数学难题,虽然他并没有看到具体的解法。

大家已经看出来了,零知识证明需要示证者和验证者的密切配合,但如果你只是一个数学界的无名之辈,即使你宣称你解决了数学难题,也不会有人跟你配合着玩零知识证明,那你该怎么办呢?我告诉你一个可以在法庭上都能当作有效证据的招数,你将证明打印好,选择一个最可靠最权威的邮政公司,把它寄给自己,当你收到这个扣着邮戳的包裹后,不要打开,把它放好,然后就可以把证明寄给数学泰斗。

相关文档
最新文档