织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

一文读懂零知识证明(ZKP)

时间:2021-09-15 12:15来源:未知 作者:admin 点击:
区块链本身的一个关键优势就是透明性,然而在 许多情况下,智能合约应用却出于各种商业或法律原因需要保障数据隐私,比如传入专有数据触发智能合约执行 。现在,越来越多项目

一文读懂零知识证明(ZKP)

区块链本身的一个关键优势就是透明性,然而在许多情况下,智能合约应用却出于各种商业或法律原因需要保障数据隐私,比如传入专有数据触发智能合约执行。现在,越来越多项目都采用零知识证明(ZKP)技术在公链上保护隐私。(注:零知识证明指一方向另一方发送加密证明,在不透露数据内容的情况下证明自己拥有某个数据)在区块链网络中,零知识证明只披露某条隐藏信息是有效且为证明者所拥有的

本文将详细探讨零知识证明如何保障隐私,而隐私保护是零知识证明对用户的核心价值。另外文中还会列举零知识证明在区块链上的各种用例,以及如何利用 Chainlink 的 DECO 技术建立保护隐私的预言机网络,证明数据来自某一 web 服务器的同时保护数据隐私,并实现向后兼容。

零知识证明的运行机制

零知识证明最早由 MIT 的 Shafi Goldwasser 和 Silvio Micali 在 1985 年一篇名为《互动式证明系统的知识复杂性》的论文中提出。作者在论文中提到,证明者(prover)有可能在不透露具体数据的情况下让验证者(verifier)相信数据的真实性。零知识证明可以是交互式的,即证明者面对每个验证者都要证明一次数据的真实性;也可以是非交互式的,即证明者创建一份证明,任何使用这份证明的人都可以进行验证。零知识证明目前有多种实现方式,如 zk-SNARKS、zk-STARKS、PLONK 以及 Bulletproofs。每种方式在证明大小、证明者时间以及验证时间上都有自己的优缺点。

零知识证明有三个基本特征,即:

  • 完整性:如果 statement 为 true,则诚实的验证者可以相信诚实的证明者确实拥有正确的信息。

  • 可靠性:如果 statement 为 false,则任何不诚实的证明者都无法说服诚实的验证者相信他拥有正确的信息。

  • 零知识性:如果 statement 为 true,则验证者除了从证明者那里得知 statement 为 true 以外,什么都不知道。

总而言之,要创建零知识证明,验证者需要让证明者执行一系列操作,而证明者只有在得知底层信息的情况下才能正确执行。如果证明者乱蒙一个结果,那么验证者极有可能在验证中发现并证明他的错误

一文读懂零知识证明(ZKP)

零知识证明概念演示,如何在不透露数据内容的情况下向对方证明拥有数据

如果要用一个概念直观地解释零知识证明如何证明用户拥有数据,可以想象一个山洞只有一个入口,洞里面有两条路(路径 A 和路径 B),这两条路由一扇门连接,要说出密码才能通过这扇门。Alice 希望向 Bob 证明她知道开门的密码,但不想将密码透露给 Bob。因此,Bob 需要站在山洞外,Alice 从其中一条路走进山洞,而 Bob 并不知道她选了哪条路。接着,Bob 指定 Alice 从其中一条路回到山洞入口(注:这是随机选择的)。如果 Alice 最初选择从路径 A 走到门口,但 Bob 让她从路径 B 回来,唯一的方法就是穿过那扇门,而穿过门必须知道密码。为了充分证明 Alice 真的知道门的密码,而不是运气好刚好选到了同一条路,这个过程可以反复重复好几次。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容