http://www.7klian.com

摸索零常识证明:从零常识证明中提取「常识」


这仿佛也很难,对差池?如果我们需要证明一台呆板知道一个「奥秘」,最简朴的步伐就是我们在呆板的硬盘里,可能内存中找到这个「奥秘」,可是这样袒露了奥秘。假如这台呆板是黑盒子呢?可能是 Alice 呢?我们没有读心术,猜不到她心里的谁人奥秘。



· 靠得住性(Soundness):Alice 在没有常识的环境下不能通过 Bob 的验证。



Completeness —— 完备性




证明零常识
· 零常识(Zero-knowledge):Alice 在交互的进程中不会泄露关于常识的任何信息。

各人可以看到 Bob 在第三步「同态地」检讨 z 的计较进程。假如这个式子创立,那么就能证明 Alice 确实有私钥 a。



下面的问题是如何证明 Alice 知道一个「奥秘」?

凡是,,我们界说安详会回收这样一种方法,首先列出一些安详事件,然后说明:假如一个系统安详,那么列出来的安详事件都不会产生。


为了进一步阐明「常识」,接下来首先先容一个很是简捷,用途遍及的零常识证明系统 —— Schnorr 协议。这个协议代表了一大类的安详协议,所谓的 Σ-协议,并且 Schnorr 协议扩展也是『零常识数据互换协议 zkPoD』[1] 的焦点技能之一。


下面演示 Zlice 如何骗过 Bob:




在『系列(二)领略「模仿」』一文中,我们先容了「模仿器」这个观念。很多先容文章避而不谈「模仿」,但「模仿」可以说是安详协议中焦点的焦点,因为它是界说「安详性」的重要兵器。

我们继承阐明下一个交互系统(安详协议)的三本性质:「完备性」、「靠得住性」与「零常识」。

· 完备性(Completeness):Alice 在有常识的环境下可以通过 Bob 的验证。






Alice 拥有一个奥秘数字,a,我们可以把这个数字想象成「私钥」,然后把它「映射」到椭圆曲线群上的一个点 a*G,简写为 aG。这个点我们把它当做「公钥」。


注:这里我们证明的仅仅是 Special Honest Verifier Zero-Knowledge(SHVZK)。SHVZK 要求协议中的 Bob 的行为不能不按常理出牌,好比他必需按协议约定,在第二步时,去传送带上取一个新鲜的随机数,而且当纵然用。而凡是意义上的「零常识」是不会对 Bob 做任何要求,所以我们说这里是一个弱一些的性质。固然今朝 Schnorr 协议不能证明完全的「零常识」,但颠末添加一些协议步调,就可以到达完全零常识的目标,细节这里不展开,有乐趣的读者请参考文献[4]。今后我们在接头 Fiat-Shamir 调动时,还会再次接头这个问题。
z 的计较和验证进程很有趣,有几个要害能力:

Schnorr 协议充实操作了有限域和轮回群之间单向映射,实现了最简朴的零常识证明安详协议:Alice 向 Bob 证明她拥有 PK 对应的私钥 sk。


第二步:Bob 要提供一个随机数举办挑战,我们把它称为 c。
所谓「模仿条件」是指,通过「模仿」要领来实现一个「抱负世界」,使之与「现实世界」不行区分;而由于在抱负世界中不存在常识,所以可以推导出结论:现实世界满意「零常识」。




只有「常识」在存在的前提下,担保「零常识」才有意义。


PK = aG



Zero-Knowledge —— 零常识

3. 尚有,在协议第一步中发生的随机数 r 担保了 a 的保密性。因为任何一个奥秘当和一个切合「一致性漫衍」的随机数相加之后的和仍然切合「一致性漫衍」。
但是,这是为什么呢?
借用暗码学家 Boaz Barak 的话,翻译一下,「零常识证明」并不是通过给出一个不答允产生的事件列表来界说,而是直接给出了一个最极致的「模仿条件」。

第三步:Alice 按照挑战数计较 z = r + a * c,同时把 z发给 Bob,Bob通过下面的式子举办检讨:z*G ?= R + c*PK = rG + c*(aG)
Soundness —— 靠得住性

请留意「映射」这个词,我们这里先扼要先容「同态」这个观念。椭圆曲线群有限域之间存在着一种同态映射干系。有限域,我们用 Zq 这个标记暗示,个中素数 q是指有限域的巨细,它是指从 0, 1, 2, …, q-1 这样一个整数荟萃。而在一条椭圆曲线上,我们通过一个基点,G,可以发生一个「轮回群」,标志为 0G, G, 2G, …, (q-1)G,正好是数量为 q 个 曲线点的荟萃。任意两个曲线点正好可以举办一种「非凡的二元运算」,G + G = 2G,2G + 3G = 5G,看起来这个二元运算仿佛和「加法」雷同,满意互换律和团结律。于是我们就用 +这个标记来暗示。之所以把这个群称为轮回群,因为把群的最后一个元素 (q-1)G,再加上一个 G就回卷到群的第一个元素 0G。

我们可以看出来「靠得住性」和「完备性」有一种「对称性」。靠得住性担保了恶意的 Alice 必然失败,而完备性担保了厚道的 Alice 必然乐成。
也就是说,假如任意给一个椭圆曲线轮回群上的点 R,那么到底是有限域中的哪一个整数对应 R,这个计较是很难的,假如有限域足够大,好比说 256bit 这么大,我们暂时可以认为这个反向计较是不行能做到的。


导言:有些理论很是有趣,零常识证明即是个中之一,探索了许久,想写点什么,与各人一起接头。本文是『摸索零常识证明』系列的第三篇。全文约 8,000 字,少量数学公式。


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