一、概念:
证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明(Zero—Knowledge Proof)起源于最小泄露证明。设P表示掌握某些信息,并希望证实这一事实的实体,设V是证明这一事实的实体。假如某个协议向V证明P的确掌握某些信息,但V无法推断出这些信息是什么,我们称P实现了最小泄露证明。不仅如此,如果V除了知道P能够证明某一事实外,不能够得到其他任何知识,我们称P实现了零知识证明,相应的协议称作零知识协议。
二、作用:
1.即使货币的来源与流向信息完全保密,零知识证明技术仍然可以验证花钱的用户确实拥有货币。
2.公共区块链:使用公共区块链用于交易的展示,但是它会自动屏蔽掉交易的金额,货币的持有者可以通过查看密钥来观察相关联的信息。
3.一可以让别人在不知道具体交易内容的情况下验证交易(或者是智能合约函数调用)的有效性,二交易的详情也可以在公共区块链上消除掉。这样交易双方似乎从来没出现,而实际交易已经完成了。这样便实现了真正的“匿名交易”。
三、应用实例:
1.ZCash:利用zk-SNARK技术实现方式:同态隐藏和多项式盲验签
2.门罗币:使用Stealth Addresses (隐蔽地址)和一次性环验签。
(1)不可链接性(Unlinkability):无法证明两个交易是发送给同一个人的,也就是无法知道交易的接收者是谁。
(2)不可追踪性(Untraceability):无法知道交易的发送者是谁。