区块链中什么是零知识证明(Zero Knowledge Proof, ZKP)?

2022-03-05 00:00:00 10154 0
管理员
什么是零知识证明(Zero Knowledge Proof, ZKP)?ZKP意味着A可以向B证明,他知道特定的信息,而不必告诉对方自己具体知道些什么。在这个例子中,A是证明者,B是验证者。在密码学中,这尤为有用,因为这将为证明者提供一层额外的隐私保护。
运行一个ZKP,要满足以下这些参数:
完整性:如果陈述属实,那么诚实的验证者能被诚实的证明者说服。
可靠性:如果证明者不诚实,他们无法通过说谎来说服验证者相信陈述是可靠的。
零知识:如果陈述属实,那么验证者无法得知陈述的内容是什么。
举一个零知识证明的例子。让我们观察一下阿里巴巴洞穴是如何运作的。在这个例子中,证明者(P)对验证者(V)说,他知道洞穴后面暗门的密码,并提出在不向验证者透露密码的情况下证明此事。那么,其验证过程如下图所示:
什么是零知识证明


-Image courtesy: Scott Twombly (YouTube channel)-
证明者可以走路径A或者路径B,假设他们一开始决定通过路径A到达暗门。同时,验证者V来到入口,他对证明者选择哪条路径并不知情,并宣称他们希望见到证明者在路径B出现。
如图所示,证明者确实出现在路径B上,但万一这仅是巧合呢?也有可能是证明者凭运气在出发时选择了路径B,却因不知道密码被困在了门口。
所以,我们需要通过多次试验来确定测试的有效性。如果证明者每次都能出现在正确的路径上,那么证明者的确可以在不向验证者透露密码的情况下,证明自己知道密码。
区块链中的零知识证明是如何应用的?
许多基于区块链的技术都在使用Zk-Snarks。事实上,以太坊在大都会阶段就计划引入Zk-Snarks,并且将其加入以太坊的功能库。Zk-Snarks是“零知识简洁无交互知识认证”的简称,是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明。
以上内容可用来生成一个证明,通过对每笔交易创建一个简单的快照来验证其有效性。这足以向信息接收方证明交易的有效性,而无需泄露交易的实质内容。
这就实现了以下两种情况:
实现了交易的完整性和隐私性。
实现了系统的抽象性。由于无需展示整个交易内部的工作方式,因此系统非常易用。 因此,以上就是区块链使用的一些重要的加密函数。现在,让我们观察其第二个支柱,经济学。

免责声明:以上内容(如有图片或视频亦包括在内)均为平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。

本站尊重他人的知识产权、名誉权等法律法规所规定的合法权益!如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到qklwk88@163.com,本站相关工作人员将会进行核查处理回复

分享
海报
10154
上一篇:乌克兰取消加密货币空投!副总理:改推NFT、不打算发币 下一篇:区块和节点是什么意思?区块和节点有什么关系?
请文明发言哦~

忘记密码?

图形验证码