大家对于零知识证明一词应该还不是很了解,零知识证明的官方定义是能够在不向验证者任何有用的信息的情况下,使验证者相信某个论断是正确的。这个定义有点抽象,大家一时间接受不了也是可以理解的。因为零知识证明可能会增加区块链应用程序中的隐私和安全性,所以这也是为什么给大家讲解零知识证明的原因之一,既然说到这,那零知识证明的特性有哪些?下面就由巴山号838766.coM小编给大家详细解答这个问题。
其实零知识证明大多数情况下是作为一种辅助技术存在的。近几年兴起的区块链就大量使用了零知识证明技术用于证明交易合乎规则。MPC也会使用零知识证明作为辅助手段,比如用来防止偏离协议发送假数据的恶意节点等。当然,零知识证明也有独立使用的场景,如身份证明。为了帮助大家对零知识证明有一个更加清晰的认识,我们先简要概括其具体用途:
对于一个可清晰描述的论断,一个证明方(Prover)能通过与验证方(Verifier)的交互使其确信该论断是正确的,但除此之外验证方一无所知。所谓的零知识,就是指验证方除了对论断判断的结果(错或对)之外,无法获取任何额外信息。
上面的定义可能还是有点拗口,我们可以使用一个粗俗的比喻:若将论断比喻成某保健品广告所宣称的神奇效果,那么证明方要做的事情是让验证方相信他有一盒药丸真的能让使用者身体发生广告中描述的那种神奇的变化,但事后验证方既无法得知该药丸的成分也不知该药丸的生产工艺。至于验证方实在是按捺不住自己内心的喜悦与好奇就是想探个究竟尝尝药丸,那你花钱买啊~
若仍觉不清晰,我们可以再举一例:若论断为某事件负责人身份,那么证明方需要向验证方证明他(证明方)便是该事件负责人,但至于该负责人姓甚名谁、家住何处、身形几何,便不得而知了。
上面两个例子着重强调了零知识证明的“零知识”这个特性,但零知识证明作为一种证明,它也应该具备证明的基本性质:一是足够有说服力,而是无法作假。具体而言,一种零知识证明的方法需要具备如下三个性质:
1、完备性(Completeness):若一个证明方确实掌握了某论断的答案,则他肯定能找到方法向验证方证明他手中掌握的数据的正确性,即真的假不了。(对应上面药丸的例子,就是拥有药丸的证明方肯定能想办法说服验证方,证明他手里真的有药丸。)
2、可靠性(Soundness):若一证明方根本不掌握某论断的答案,则他无法(或只能以极低概率)说服验证方他手中所谓答案的准确性,即假的真不了。(对应上面药丸的例子,就是证明方若手中无药丸则没法蒙混过关让验证方误以为他有药丸。)
3、零知识性(Zero-knowledgeness):验证方除了知道证明的结果外,对其他信息一无所知。
许多基于区块链的技术都在使用Zk-Snarks。事实上,以太坊在大都会阶段就计划引入Zk-Snarks,并且将其加入以太坊的功能库。Zk-Snarks是“零知识简洁无交互知识认证”的简称,是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明。
以上内容可用来生成一个证明,通过对每笔交易创建一个简单的快照来验证其有效性。这足以向信息接收方证明交易的有效性,而无需泄露交易的实质内容。
本篇文章就是对零知识证明的特性有哪些?这个问题的回答,相信看过文章后的投资者应该已经对相关内容有所掌握。其实区块链零知识证明一词运用的范围还不是很广泛,目前还在不断改进发展中,这其中涉及到许多难以理解的计算问题,投资者想要在短时间内完全掌握还是有些苦难的。所以当大家对一种新的概念拿不准的时候,就不要冲动投资,多查看一些相关信息和案例才是最重要的。