简要:
零知识证明(Zero knowledge proofs)是一种隐藏交易细节的加密技术,该技术由一批数学家于1980年代首次提出,Zcash是第一个部署该技术的加密货币,此后又有其他加密货币使用该项技术。
零知识证明用于证明某些已知信息为真而不会直接泄露已知信息,举例来说,比如“系统在不公开文件的情况下证明该文件确实有某一句话”就是零知识证明要做的事情。所以它允许在转账交易中将私人信息保密。零知识证明是间接证明,可让您证明自己知道秘密,而不会向任何人透露秘密。您只证明自己在说真话。
在像比特币这样的区块链网络上,我们所有的交易活动都记录在公共分类帐本中,所有人都可以查看。“丝绸之路”(指曾经的一个暗网网站,专门做违法交易)上的毒贩被捕试图清洗比特币,因为国土安全部能够追溯到他们最初的交易。毒贩应该被抓,但如果美国资本主义政府腐败或侵犯基本人权怎么办?像比特币这样的加密资产曾经承诺要摆脱那些国家的专横统治,但是没有隐私,会有自由吗?这就是零知识证明想要解决的隐私问题。
我们将讨论零知识证明如何工作,谁发明了零知识证明以及它们目前如何在区块链和其他地方应用。
零知识证明解释
零知识证明是一种用于密码学的方法,用于证明某些已知信息为真而不会直接泄露已知信息,举例来说,比如“系统在不公开文件的情况下证明该文件确实有某一句话”就是零知识证明要做的事情。所以它允许在转账交易中将私人信息保密。零知识证明是间接证明,可让您证明自己知道秘密,而不会向任何人透露秘密。您只证明自己在说真话。
概念:证明者和验证者
在零知识证明中,基本角色是证明者和验证者。证明者必须证明他们知道秘密,验证者必须能够验证证明者在说真话。
如何做到的呢?验证者要求证明者做一些只有在证明者肯定知道秘密的情况下才能做的事情。如果证明者是在乱猜测,最终将由验证者的测试证明他(她)是错误的。如果知道秘密,那么证明者将每次都能通过验证者测试而不会出现问题。 就像银行或机构要求您提供一个已知秘密单词的字母来验证您的身份时一样。您不是在告诉银行您的银行帐户中有什么,只是在告诉他们您知道给定单词的顺序。
简要历史
1985年:Shafi Goldwasser,Silvio Micali和Charles Rackoff在一篇名为“交互式证明系统的知识复杂性”的论文中首次提出了零知识证明。 2012年:亚历山德罗·基耶萨(Alessandro Chiesa)和一组研究人员创造了zk-SNARKs一词。 2016年:Zcash发布,成为第一个使用zk-SNARKs的以隐私为中心的加密货币。
特殊之处
Zcash是加密货币世界中第一个广泛使用零知识证明的案例和应用。该隐私代币使用一种称为zk-SNARKs的零知识证明形式。 在我们一直在讨论的基本零知识证明中,证明者和验证者必须互动几轮,以使验证者确信证明者的诚实。但在zk-SNARKs中,取消了这种互动,这使得证明变得更加复杂。但是,zk-SNARK还可以使证明更加有效,在使用更少的数据情况下,这是区块链网络中的一项重要条件。在区块链系统中,内存和空间都非常宝贵,这可以保持网络的正常稳定运行。
在基于zk-SNARKs的协议中,必须存在“可信设置”才能启动系统。如果启动时使用的信息落入错误的人手中,则可能在部署整个系统后危及整个系统。在Zcash中,启动时使用的私钥和对其进行处理的计算机在一次特殊仪式上被销毁。
可信设置阶段被视为有安全漏洞,因为人们需要相信设置过程中使用的信息已被正确销毁。为了解决zk-SNARK的缺点,创建了zk-STARK。 Zk-STARK也是一种零知识证明,它不需要易受攻击的可信设置阶段,并且声称比zk-SNARKs具有更高的可伸缩性和效率。
StarkWare是一家开发zk-STARKs工具包和软件的公司,旨在使区块链更加隐私和可扩展性。它是由创建zk-SNARK的研究人员之一亚历山德罗·基耶萨(Alessandro Chiesa)创立的。
零知识证明可用来做什么?
Aztec是一个项目,旨在通过构建一整套以隐私为重点的智能合约,为现有的以太坊网络带来零知识证明。这些完全隐私的智能合约可用于创建具有隐私特性的以太坊代币和去中心化自治组织(DAO)。以太坊的一个升级代号为Istanbul,是专门为降低零知识证明的成本而设计的。
其他区块链也开始认真考虑隐私特性,Tron波场也在其网络上部署了zk-SNARK版本,尽管并非所有交易都是隐私的。
前景
在Facebook,Amazon和谷歌等中心化平台上,他们通过出售个人隐私数据来牟利,并通过广告操纵我们的行为。 在完全开放的区块链网络上,我们的所有活动都被记录并公开。零知识证明提供的是一个公共透明的网络技术,但可以保护人们免受我们数字时代的窥探者、偷窥者和爬虫的对个人隐私侵害。
本文来自:比特币学习网站:人人都懂区块链
网友评论