了解零知识证明:阿里巴巴与强盗的故事

findora水手发布在 技术文档
 14950  2

引言

区块链很难称为一个“技术”。它更像是一个领域,包罗万象。或者更形象的来说,区块链更像一个有机体,融合了各种不同的理论技术。

零知识证明是构建信任的重要技术,也是区块链这个有机体中不可缺少的一环。

在当我们小学或者初中时,在几何证明题中,经常看到“求证”两个字,不管是会做还是不会做这道题,总是会先自然而然的写上“证明”俩个字,“零知识证明”就是没有学过知识也可以做证明题?其实这样描述并不严谨,那么究竟零知识证明是什么,又是如何“证明”的呢?

“证明”的古往今来

证明在人们的大脑中往往与逻辑或者推理联系在一起,而自从古希腊先贤们开始,人们也确实是这样做的。

毕达哥拉斯证明勾股定理

就像勾股定理的证明,历史上许多的证明都充满了严密的思考,谨慎的逻辑,有时候甚至还需要某个天才的灵光一现。数学证明往往是繁杂、困难的,尤其是近代的许多论题,没有接受系统高等数学教育的普通人很难看懂一个具体的证明过程。在撰写证明和阅读证明过程中,人们其实进行了大量的信息交换,耗费了很大的精力。

其实,自古代开始,人们就梦想可以有一种方式能够自动有效的进行证明,并且不需要大量的信息投入。

“交互式“证明的出现

一个简单的小例子

阿里巴巴知道打开藏着财宝的山洞的咒语。强盗抓住他,

强盗:说出咒语,否则杀死你。

阿里巴巴:如果我说出咒语,就会因为没有利用价值而被杀死。

强盗:如果你不向我证明你知道咒语,我也会杀你。

阿里巴巴想了一个好办法

他对强盗说:“你们离我一箭之地,用弓箭指着我,你们举起右手我就念咒语打开石门,举起左手我就念咒语关上石门,如果我做不到或逃跑,你们就用弓箭射死我。这样我既不会因为透露了密码而丧生,也向你们证明了我知道咒语。

在这个例子中,阿里巴巴叫证明者,强盗叫验证者。证明者掌握着某个秘密,他想让验证者相信他掌握着秘密,但是又不想泄漏这个秘密给验证者。双方按照一个协议,通过一系列交互,最终验证者会得出一个明确的结论,证明者掌握或不掌握这个秘密。

现在我们在看零知识证明这个词语:

在这个例子中“知识“指咒语的内容,“证明”代表了阿里巴巴使强盗相信了自己知道咒语,而这个“不想泄露咒语给强盗“的想法,又被称为”零知识“性,在密码学和区块链的发展中大放异彩。

零知识证明是什么

相信通过上面的内容你已经有所感觉,对于传统的证明,我们可以把它写在纸上让所有人知道我们证明了这个命题;而零知识证明更像是验证,在两方对话中,只强调有限的时间有限的验证者能进行验证而不会被恶意的证明所欺骗,通常并不关心一个证明是怎么找到的。通过两方对话得到的零知识证明,通常被称为交互式零知识证明。

非交互式的零知识证明则不需要这种互动。但是会额外需要一些机器或者程序,并且需要一串试验序列,这个试验序列不能被任何人知道。有了这么一个程序和试验序列,证明机就能自动算出一个证明,并且能防止任何一方作假。非交互式的零知识证明整体流程没有任何交互,也就是说证明方可以扔出一大串乱码往你桌上一拍然后就走人,你之后再去验证这串乱码就可以验证他的证明。显然,在实际应用中,非交互式的零知识证明更有用。

零知识证明的革命性本质上体现在允许你安全地向他人进行证明,而验证者不会得到除命题外关于你的其他隐私信息。由此零知识证明得以在区块链乃至人类社会中扮演重要角色。

零知识证明有什么用处?

在解释了这么多零知识的内容后,零知识证明究竟可以有什么用呢?

零知识证明解决了信息交换中的信任问题

在身份验证中,零知识协议是一种在不交换密码的情况下进行身份验证的方法,这意味着它们无法被窃取。它使您的通信变得安全和受保护,以至于没有其他人可以找到您正在通信的内容或彼此共享的文件。

数据的隐私保护:在大数据表格中,多多少少都有一些信息不想被暴露,但是又需要证明我们的信息有效,零知识证明可以帮助我们做到:

我需要向学校证明我的英语成绩及格了,但是我不想让别人知道我到底考了多少分。

我没有心脏病,但是保险公司需要了解这一点,但是我不想让保险公司知道我的隐私信息。那我可以证明给保险公司看,我没有心脏病,但是病历的全部并不需要暴露。

我是一家企业,我想向银行贷款,我只想向银行证明我具备健康的业务与还款能力,但是我不想让银行知道我们的一些商业秘密。

计算压缩与区块链扩容:在众多的区块链扩容技术中,Vitalik 采用 zkSNARK 技术能够给现有的以太坊框架带来几十倍的性能提升。因为有了计算的证明,同样一个计算就没必要重复多次了,在传统的区块链架构中,同样的计算被重复多次,比如签名的校验,交易合法性校验,智能合约的执行等等。这些计算过程都可以被零知识证明技术进行压缩。

信用记录:信用记录是另一个可以充分发挥零知识证明优势的领域,用户可以有选择性的向另一方出示自己的信用记录,一方面可以有选择的出示满足对方要求的记录分数,同时证明信用记录的真实性。比如在银行贷款中,可以在不给出自己的具体资产信息的同时,说服银行相信我具有偿还能力。

零知识证明构造技术发展日新月异,并且在区块链技术领域得到了越来越多的应用。最新的零知识证明技术,有的技术可以高速验证证明(在移动设备上几毫秒验证完成);有的技术支持非常小的证明大小(小到几十个字节)。这无疑让区块链这个去中心化的网络更加高效安全。


  • 正序
  • 最新
只看帖主楼层直达
登录 账号发表你的看法,还没有账号?立即免费 注册
帖子数 7 获赞数 2
Findora是零知识证明(ZKP)和多方计算(MPC)技术的全球领先者,用加密技术建造一个高性能、可信并带有审计工具的保密区块链,为全球可信机构、经济利益激励方提供去中心化金融网络的基础设施。
热帖榜 本周最热本月最热
热门跟帖