【区块链】什么是零知识证明?

作者: 贝壳小岛Official | 来源:发表于2019-01-23 23:23 被阅读10次

一、浅析零知识证明

零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。

顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去——即给外界的“知识”为“零”。

零知识证明

目前以匿名性闻名的数字资产Zcash的匿名交易就是依靠“零知识证明”实现的。

二、举例说明

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

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

方法二
B 确定该房间内有某一物体,A 用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给 B,从而证明自己确实拥有该房间的钥匙。
方法二的原理就是零知识证明。

证明示例

零知识证明可以在不泄露内容本身的情况下,证明我知道这个秘密,可以有效解决许多验证问题。

验证过程信息不泄露

三、零知识证明的特性

  • 完备性 completeness:如果证明方和验证方都是诚实的,并遵循证明过程的每一步,进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方。

  • 合理性 soundness:没有人能够假冒证明方,使这个证明成功。

  • 零知识性 zero-knowledge:证明过程执行完之后,验证方只获得了「证明方拥有这个知识」的信息,而没有获得关于这个知识本身的任何信息。

四、零知识证明的优点

  • 随着零知识证明的使用,安全性不会降级,因为该证明具有零知识性质。

  • 高效性。该过程计算量小,双方交换的信息量少。

  • 安全性依赖于未解决的数学难题,如离散对数、大整数因子分解、平方根等。

  • 许多零知识证明相关的技术避免了直接使用有政府限制的加密算法,为相关产品的出口带去优势。

相关文章

  • 当区块链遇到零知识证明

    本文由云+社区发表 当区块链遇到零知识证明 什么是零知识证明 零知识证明的官方定义是能够在不向验证者任何有用的信息...

  • 2018-08-15

    区块链之零知识证明 鱼卷少年(原创) 今天想跟大家分享的是关于区块链的一点基础知识——零知识证明(Zero Kno...

  • 当区块链遇到零知识证明

    当区块链遇到零知识证明 什么是零知识证明 零知识证明的官方定义是能够在不向验证者任何有用的信息的情况下,使验证者相...

  • 【区块链】什么是零知识证明?

    一、浅析零知识证明 零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Mi...

  • Zcash-草稿

    Zcash,也叫大零币,从zerocoin发展而来,是使用零知识证明机制的区块链系统,通过完全匿名交易特性在区块链...

  • 知识普及 || 区块链之零知识证明

    今天想跟大家分享的是关于区块链的一点基础知识——零知识证明(Zero Knowledge Proof),说到零知识...

  • 技术科普 | Ultrain 可编程零知识证明解决方案

    一、零知识证明介绍 1.1 区块链技术在数据隐私保护方面的困境 区块链技术的特点,就是存储在区块链上的数据,对所有...

  • 超零协议(SERO)轻松入门——基于CENTOS7

    标签:零知识证明,区块链,super-ZK,区块链隐私,隐私保护 1. 机器配置 以目前Beta上链的规模,满足以...

  • 阿里巴巴四十大盗教你零知识证明

    在学习区块链知识过程中,有一个名词经常出现——零知识证明。其中我们熟知的大零币ZEC就是采用的零知识证明。 基本概...

  • Lurk 递归证明语言

    Lurn是一种图灵完备的,且支持递归的零知识证明开发语言,为SNARK 证明,区块链共识,FVM (Filecoi...

网友评论

    本文标题:【区块链】什么是零知识证明?

    本文链接:https://www.haomeiwen.com/subject/cvkejqtx.html