本文主要是介绍什么是零知识证明?Tokenview,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
零知识证明 zero-knowledge proofs,简写为 ZKPs。零知识证明是20世纪80年代初由计算机科学家Goldwasser和Micali等人共同提出的一项技术,它主要是指证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。
零知识的性质
- 完备性 completeness:如果证明方和验证方都是诚实的,并遵循证明过程的每一步,进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方。
- 合理性 soundness:没有人能够假冒证明方,使这个证明成功。
- 零知识性 zero-knowledge:证明过程执行完之后,验证方只获得了「证明方拥有这个知识」的信息,而没有获得关于这个知识本身的任何信息。
零知识及其相关协议的优点:
- 随着零知识证明的使用,安全性不会降级,因为该证明具有零知识性质。
- 高效性。该过程计算量小,双方交换的信息量少。
- 安全性依赖于未解决的数学难题,如离散对数、大整数因子分解、平方根等。
当这项技术应用于加密货币当中时,则可以增加其匿名性,提高隐私保护的程度。比如致力于实现100%隐私性保护的加密货币Zcash,就利用名为zk-SNARK 的零知识证明技术来验证交易的真实性,从而达到匿名的特性。
这篇关于什么是零知识证明?Tokenview的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!