当前位置:文档之家› 零知识证明是零信任吗

零知识证明是零信任吗

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

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

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

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

是两全其美的方案。

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

安全之终极定义,不是启发式的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》(《交互式证明系统中的知识复杂性》)。

这篇论文其实发表在1989年。

原因在于这篇论文的思想太过超前,以至于从1984年写出初稿到1989年正式被采纳发表,经历了整整五年时间。

正是由于零知识证明这项开创性工作,Goldwasser和Micali两人在2012年分享了图灵奖——计算机领域最高奖项,也有“计算机界的诺贝尔奖”之称。

3、零知识证明的核心价值:消灭可信第三方
当互联⽹电⽹商务和在线交易蓬勃发展到今天,可信第三方(TTP,Trusted Third Party)几乎不可或缺。

但大家体会不到的事实是,可信第三方引入了巨大的「信任成本」。

对第三方的过度信任,会带来严重的「隐私泄露」、「单点失效」、「个⽹信息滥⽹」等问题。

虽然学术界也提出“半可信第三方”(Semi-trusted
Third Party)以放宽条件,但是"半可信" 仍不解决根本问题。

根本问题是能否取消第三方。

那么,如果取消了可信第三方,还能保证交易的公平性吗?想象⽹下这个交易场景:⽹个买家拎着现⽹箱⽹,另⽹个卖家也拎着⽹个箱⽹,装着某种贵重货物。

在电影中的情节⽹,买卖双⽹会坐在⽹个桌⽹两侧,双⽹倒数3-2-1,然后同时把箱⽹推给对⽹。

当然双⽹最好都带武器,防⽹对⽹耍赖。

除了买家、卖家,并没有任何第三⽹在场,两⽹也互不信任。

容易理解,任何⽹⽹都不愿先出⽹,把⽹⽹的箱⽹交给对⽹,因为担心对⽹拿到箱⽹后⽹即跑路,导致自己钱货两空的结局。

时间走到2008年,⽹特币横空出世,中本聪给出了⽹种天才设计:在⽹个可以⽹任何准⽹许可的P2P⽹络中,采取区块链技术,以⽹种⽹常公平的⽹式进⽹去中心化记账。

我们可以从另⽹个⻆度来理解中本聪的创新:比特币实现了⽹种分布式协议,它以去中心化的方式,「模拟」出了一个「虚拟」的「可信第三⽹」。

而对于零知识证明也可以这样理解:零知识证明实现了一类密码学理论技术,它基于一些安全假设,「模拟」出了⽹个虚拟的可信第三方。

可见,「零知识证明」的一个重要作用是消灭可信第三方。

换句话说,零知识证明提供的「信任」,能够代替一个「可信第三方」。

需要注意的是:「零知识证明」取代的并非是「第三方」,而是「可信第三方」。

4、零知识证明的经典示例:色盲游戏
零知识证明背后的逻辑并不复杂。

下面给出交互式零知识证明的经典示例——色盲游戏,以帮助理解零知识证明的概念。

色盲游戏:
●参与者:Alice是色盲,Bob不是色盲。

●Bob手上有两个大小、形状完全一样的球,但颜色不同:一个蓝色,另一个。

相关主题