什么叫零知识证明(零知识证明是什么意思呀)
世界上最近的距离,不是时间,不是空间,不是位置。而是你没见过我,你却确信我,这个就是零知识证明。零知识证明是什么呢?零知识证明是指证明者能够在不向验证者提供信息本身内容的情况下,使验证者相信某个论断是
世界上最近的距离,不是时间,不是空间,不是位置。而是你没见过我,你却确信我,这个就是零知识证明。
什么是知识零证明?
零知识证明是指证明者无需向验证者提供信息本身就能说服验证者断言真实可信的技术。目前匿名性突出的数字资产ZCash的匿名交易是通过“零知识证明”实现的。【/br/】举个例子:有这么一个密室,只有一把钥匙能打开,其他任何方式都打不开。你告诉我你有密室的钥匙,想让我确定你有,但你不想让我看到它的样子。我该怎么办?
如果你不给我看钥匙,而你又要证明你有钥匙,也不是不可以。然后你去密室给我看那个东西,我就相信你有密室的钥匙。
我对你的钥匙一无所知,你也向我证明了你有密室的钥匙,你也没有把钥匙的相关信息泄露给我。这叫零知识证明,你给我的“知识”就是“零”。
第一个使用零知识证明机制的区块链系统是Zcash,它实现了支付的完全保密,自动隐**块链上所有交易的发送方、接收方以及交易金额。那么谁能看呢?只有拥有私钥的人才能查看交易内容,从而给予用户完全的控制权。
当然,Zcash的钱包资金分为两种,一种是透明资金,公开可得,类似比特币;一种是私募基金,交易是保密的,不能查。
零知识证明是如何让Zcash的私有资金保密不可查的
假如A账户里有3个ZEC,想转给B,那么在Zcash网络中私有资金转币的过程是这样子:
第一步:转账前,A创建一张面额为3个ZEC的“支票”,从“支票”这个凭证获取到信息:1)A拥有3个ZEC;2)A使用私钥签名,证明其对这笔资产转账的权力。A创建的这张“支票”,有一串随机数,用来作为“支票”唯一标识,用符号 r1表示。
第二步:转账时,给b新建一张“支票”,“支票”的唯一标识是r2,r1和r2不一样。
第三步:为了使A的支票无效,使B的支票生效,达到转移资产的效果,ZCash采用了“备注作废”的方法,即不与A的支票做任何事情,只是将其识别号r1输入到一个作废的列表中。
也就是说,A创建的支票仍然存在,并没有消失,只是标记为r1的支票已经记录在作废清单中,而支票B的唯一标识号是r2,不在作废清单中。a的支票已经存在Zcash网络中,B的支票创建后会在全网广播。
A向B转账交易完成。
转账的匿名性是如何实现的呢?
上述交易过程中,B没有见过A的“支票”,却实现了资产所有权的转移。 作为这笔交易信息见证者和记录者矿工,验证A支票的代号r1是否在作废列表中,即可确定该“支票”是否失效。
如果没有失效,则把代号为r1的“支票”加入了作废列表,把B新建的“支票”代号r2加入支票列表中,这个过程中矿工不需要看到A的支票和B的支票。 这两张“支票”及“支票”标识号r1和r2都进行了加密处理,矿工虽然不知道交易双方是谁,交易金额多少,但并不影响矿工对交易有效性的判断。