零知识证明的前世今生及原理详细解析.docxVIP

零知识证明的前世今生及原理详细解析.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

??

?

??

零知识证明的前世今生及原理详细解析

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

?

?

引言

我认为区块链很难称为一个“技术”。它更像是一个领域,包罗万象。或者形而上地说,区块链更像一个有机体,融合了各种不同的理论技术。

零知识证明是构建信任的重要技术,也是区块链这个有机体中不可缺少的一环。

零知识证明是打通链上数据与链下计算的关键技术,也是实现链上数据隐私保护的重要途径

要解释「零知识证明」,我们需要先解释「证明」,然后解释什么是「知识」,最后再解释什么是「零知识」。

“证明”的前世今生

什么是证明?很多人可能和我一样,看到这两个字,会不禁想起中学考卷中各种三角相似的几何图形,当老师在神奇地画出一条辅助线后,证明过程突然显而易见,然后会懊悔自己为何没想到。

古希腊:「证明」==「洞见」

数学证明最早源于古希腊。他们发明(发现)了公理与逻辑,他们用证明来说服对方,而不是靠权威。这是彻头彻尾的「去中心化」。自古希腊以降,这种方法论影响了整个人类文明的进程。

上图是「勾股定理」的巧妙证明。历史上曾出现过许许多多精巧的证明,神奇的思路,天才的灵感。一旦一个命题被证明,上帝都无能为力。嗯,对了,还有那个「上帝不是万能的」证明:上帝不能造出一块他举不起来的石头。

一个数学证明往往暗藏无比深刻的「洞见」,相信很多人都看过「费马大定理」的故事[1],这个定理证明横跨四百年,从费马写下「这里空间太小,我写不下」,到怀尔斯最终登顶,耗费了许多代人的聪明才智。最近如「彭加莱猜想」,稍微带点年代感的如「哥德巴赫猜想」,还有我非常敬佩的华裔科学家张益唐十年磨一剑,在仔细研究了「Goldston-Pintz-Y?ld?r?m」和「Bombieri-Friedlander-Iwaniec.」的证明「洞见」之后,证明了「质数间的有界间隔」[2]。

自十七世纪,莱布尼茨起,人们就梦想找到一种机械的手段,可以来自动完成证明,而不再依赖天才的灵光一现。

二十世纪初:「证明」==「符号推理」

时间到了十九世纪末,康托、布尔、弗雷格、希尔伯特、罗素、布劳威、哥德尔等人定义了形式化逻辑的符号系统。而「证明」则是在利用形式化逻辑的符号语言编写的推理过程。逻辑本身靠谱么?逻辑本身「自恰」吗?逻辑推理本身对不对,能够证明吗?这让数学家/逻辑学家/计算机科学家发明(发现)了符号系统,语法vs.语义,可靠vs.完备,递归vs.无穷。(这部分精彩故事请参看『逻辑的引擎』一书[3])。

1910年,罗素发表了洪(zhuan)荒(tou)巨著『数学原理』。在书中,罗素与怀特海试图将数学完整地「形式化」下来。如果能达到这样的目标,所有的数学成果都将以证明的方式建立在坚实的基础上。下图就是『数学原理(卷二)』中的一页:

其中110.643这是一个命题:「1+1=2」,然后接下来就是这个定理的证明。大家可能奇怪,难道1+1还需要证明吗?是的,在数学原理一书中,数字0,1,2,……都有严格定义,「加法」、「乘法」、「等于」都要严格定义,然后每一步的推理都需要指出依据。证明意味着什么?证明是可能繁琐无比的、但是每一步推理都严格无误。书中大量的证明都机械式的,按照公理和推理规则进行一种证明的构造,寻找证明就好像可以交给一个人,然后他无脑在公理与推理规则的集合中进行机械查找。

似乎人们距离「定理的自动证明」并不遥远了。

不幸的是,哥德尔在1931年证明了「哥德尔不完备性定理」[4],图灵在1936年证明了图灵机停机问题的不可判定性[5]。这些成果彻底终结了这个几百年的幻想。无论公理系统如何精巧设计,都无法抓住所有的真理。

证明不仅仅是一个严格推理,而且凝结了似乎很难机械化的创造性思维。证明中蕴含了大量的「知识」,每一次的突破,都将我们的认知提升到一个新的高度。不管是「洞见」,还是推理过程中所构造的「算法」,一个定理的证明的内涵往往远超出定理本身的结论。

六十年代:「证明」==「程序」

又过了半个世纪,到了六十年代,逻辑学家HaskellCurry和WilliamHoward相继发现了在「逻辑系统」和「计算系统—Lambda演算」中出现了很多「神奇的对应」,这就是后来被命名的「Curry-HowardCorrespondence」。这个发现使得大家恍然大悟,「编写程序」和「编写证明」实际在概念上是完全统一的。而在这之后的50年,相关理论与技术发展使得证明不再停留在草稿纸上,而是可以用程序来表达。这个同构映射非常有趣:程序的类型对应于证明的定理;循环对应于归纳;……(这里推荐一本书:『软件基础』(SoftwareFoundations中译本)[6])。在直觉主义框架中,证明就意味

文档评论(0)

细雨滴梧桐 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档