您当前的位置:首页 > 互联网百科 > 区块链

一文看懂区块链中最常见的密码学技术:零知识证明

时间:2019-09-24 11:22:00  来源:  作者:

零知识证明(Zero-Knowledge Proof或Zero-Knowledge Protocol)是一种基于概率的验证方法,它包括“类似事实的陈述”和“关于个人知识的陈述”。

验证者基于一定的随机性来询问证明者,如果证明者给出的答案正确,那么证明者将有很大概率会拥有其所声称的“知识”。 零知识证明可以在不透露使用哪种货币的情况下验证你确实花了钱 。如今,零知识证明已经被许多区块链项目视为最好的隐私保护方案之一。能够在不泄露数据的情况下,来证明数据的真实性。

在本文中,我们将会解释神秘的零知识证明(Zero-Knowledge Proof)及其当前的应用。

为什么ZKP如此重要?

数据隐私是当今社会最重要的课题之一。保护与个人身份有关的个人数据(出生日期、银行证明、交易记录、教育证书)是至关重要的,并且其重要性将不断提高。

科技时代,我们正在创造着前所未有的海量数据,而且我们也在不断创造着关于自身的可供掠夺的数据。

google和Facebook这样的大公司利用我们的数据成为了当今世界的科技巨头。然而,最近密码学的突破和区块链的兴起为保护我们的数据和身份信息提供了新方法。零知识证明或许就是答案。

一文看懂区块链中最常见的密码学技术:零知识证明

 

零知识证明的原理

零知识证明是麻省理工学院的研究人员在20世纪80年代提出的一种加密方案。 零知识证明协议是指一方(证明方)可以证明某事对另一方(验证方)来说是真实的 。除了此特定陈述属实之外,不会透露其他任何信息。

一文看懂区块链中最常见的密码学技术:零知识证明

 

例如,当前网站将用户密码的Hash散列值储存在其web服务器中。为了验证客户端是否真的知道密码,大多数网站目前使用的方法是要求客户端输入密码的hash散列,并将其与储存的结果进行比较。

零知识证明可以保护用户账号不被泄漏。 如果可以实现零知识证明,那么客户端密码对任何人来说都是未知的,但是仍然可以对客户端登录进行身份验证 。当服务器受到攻击时,用户的账户仍然是安全的,因为其密码并没有被储存在web服务器中。

零知识证明可以分为「交互式」和「非交互式」两种。接下来我们就一一来看看这两种证明方式有哪些不同。

交互式零知识证明

零知识证明协议的基础是交互式的。它要求验证者不断对证明者所拥有的“知识”进行一系列提问。

例如,如果有人声称自己知道数独游戏的答案,零知识证明的过程就是验证者需要随机指定要通过列、行或九个正方形进行验证。

每轮测试不需要知道具体的答案,只需要检测数字1~9是否包含在内。只要验证的次数足够多,就有理由相信证明者是知道数独问题答案的。

然而,这种简单的方法并不能使人相信证明者和验证者都是真实的。在数独这种情况下,两者可以提前串通,以便证明者可以在不知道答案的情况下依然通过验证。

如果他们想要说服第三方,验证者还必须要证明验证过程是随机的,并且他不会向证明者泄漏答案。

因此,第三方难以验证交互式零知识证明的结果,要向多人证明某些东西的话则需要额外的努力和成本才行。

一文看懂区块链中最常见的密码学技术:零知识证明

 

非交互式零知识证明

顾名思义,非交互式零知识证明不需要交互过程,避免了串通的可能性,但是可能需要额外的机器和程序来确定实验的顺序。

例如,在数独这个例子中,由程序决定要验证的列或行。验证序列必须保密,否则验证者可能会在不知道真正“知识”的情况下通过验证。

区块链上的零知识证明

比特币和以太坊都是用公共地址来代替当事方的真实身份,使交易部分匿名,公众只知道发送和接收的地址以及交易的数量。 然而,可以通过区块链上可用的各种信息(如交互记录)找出地址的真实身份,因此存在暴露隐私的可能 

零知识证明,可以在发送方、接收方和其他交易细节都保持匿名的情况下,保证交易有效。

ZCash可能是成功实现零知识证明的最著名的区块链项目之一。Zcash实现了ZKP的修改版本,被称为zk-SNARKS,代表Zero-Knowledge Succinct Non-Interactive Argument of Knowledge(零知识简明非交互式知识证明)

一文看懂区块链中最常见的密码学技术:零知识证明

 

zk-SNARK技术减少了证明的大小以及验证所需的计算量。它能够在不泄漏有关地址和相关有价值的任何关键信息的情况下证明有效交易条件得到了满足。

zk-SNARK将需要验证的交易内容转换为两个多项式乘积相等的证明,并结合同态加密和其他先进技术,在执行交易验证时保护隐藏的交易金额。

其过程可以简单地描述为:

  • 将代码拆分为可验证的逻辑验证步骤,然后将这些步骤拆分为一个由加法、减法、乘法和除法组成的运算电路;
  • 进行一系列变换,将待验证的代码转化为多项式方程,如t(x)h(x)= w(x)v(x);
  • 为了使证明更加简洁,验证者预先随机选择几个检查点s 来检查这些点的方程是否为真;
  • 通过同态编码/加密,验证者在计算方程式时不知道实际输入值,但仍然可以进行验证;
  • 在方程的左边和右边,同时乘以一个不等于0的秘密值k。当验证(t(s)h(s)k) 等于(w(s)v(s)k)时,具体的t(s)、 h(s)、 w(s)和v(s) 是不可知的,从而达到保护信息的目的。

但zk-SNARK并不是完美的。 当前zk-SNARK实现中的一个缺陷,是需要提前设置参数。如果这些参数被泄漏,那么整个网络将面临毁灭性的打击 。因此,在使用这些网络时,用户必须坚信参数不会被泄漏。

可能的解决方案包括使用现代“可信执行环境”,如因特尔 SGX以及ARM TrustZone。对于因特尔的SGX技术来说,即使应用程序、操作系统、BIOS或VMM受到威胁,私钥也是安全的。

此外,最近的一份白皮书揭示了它在零知识密码学方面的创新:ZK-STARKs (零知识可扩展透明知识理论,Zero-Knowledge Scalable Transparent ARguments of Knowledge)。

根据zk-STARK 白皮书,zk-STARK是第一个在不依赖任何信任设置的情况下实现区块链验证的系统,随着计算数据的增加,计算速度呈指数级增加。

它不依赖于公钥加密系统,更简单的假设使其在理论上更加安全,因为它唯一的加密假设是Hash 散列函数(例如SHA2)是不可预测的。

不可否认的是,零知识证明和zk-S(T|N)ARK技术的测试和采用都将需要一定的时间。但是对于区块链底层开发平台来说,如何兼顾性能和安全性是至关重要的。也许只有零知识证明等密码学技术被更多应用的时候,区块链这项技术才能被更好地推动。



Tags:区块链 密码   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
零知识证明(Zero-Knowledge Proof或Zero-Knowledge Protocol)是一种基于概率的验证方法,它包括“类似事实的陈述”和“关于个人知识的陈述”。验证者基于一定的随机性来询问证...【详细内容】
2019-09-24  Tags: 区块链 密码  点击:(144)  评论:(0)  加入收藏
▌简易百科推荐
作为一个不断增长的行业,区块链对其专业人员有着巨大的需求。Upwork的报告显示,仅在过去连续三个季度,与区块链技术相关的工作岗位就增加了2000%。大公司和初创企业都希望雇佣...【详细内容】
2021-10-20  知识小纸条  搜狐号  Tags:区块链   点击:(33)  评论:(0)  加入收藏
以太坊是目前第二大公链,它和比特币不一样,以太坊上的可以实现的功能更多,如果比特币是一个可以进行加减乘除的计算器,那么以太坊就是一台功能完备的计算机。以太坊系统的复杂度...【详细内容】
2021-10-18  Rayjun的区块链笔记    Tags:Gas 机制   点击:(22)  评论:(0)  加入收藏
区块链经济是基于区块链技术而产生的一种新经济现象。区块链是一个去中心化的分布式数据库,该数据库由一串使用密码学方法产生的数据区块有序连接而成,区块中包含有一定时间内...【详细内容】
2021-09-18  UTON在线    Tags:区块链经济   点击:(28)  评论:(0)  加入收藏
我们来回顾一下,传统的合同签约步骤是这样的:执行传统合同需要人工验证,以检查条款和条件,并根据书面协议决定下一步。1、费时 - 检查合同条款,审核批准,再进行后续等步骤2、资源...【详细内容】
2021-07-14  深圳都市微生活   企鹅号  Tags:智能合约   点击:(60)  评论:(0)  加入收藏
众所周知区块链是一个分布式账本,每条公链都是一个独立的账本,不同链之间是没有直接关系的,尤其是现在各个国家和地方,都在大力发展区块链技术,未来势必会是个区块链技术百花齐放...【详细内容】
2021-07-14  Life去中心化预言机协议    Tags:跨链   点击:(76)  评论:(0)  加入收藏
区块链技术带来了互联网的变革,将互联网从“信息互联网”带向“价值互联网”,我们也渐渐发现,最初被形象地称为“信息高速公路”的互联网处理的是“信息”,而区块链处理的是“价...【详细内容】
2021-07-13  MICA链盟    Tags:智能合约   点击:(61)  评论:(0)  加入收藏
图片来源@视觉中国文丨夏玩醇社交平台和资讯网站上,众多未知来源的图片引来人们的猜测,好奇者会花费大量时间在评论区争吵。这也许是平台和内容创作者乐于看到的情况。更多的...【详细内容】
2021-06-04  钛媒体APP  今日头条  Tags:区块链   点击:(61)  评论:(0)  加入收藏
我们日常通用货币是人民币 (CNY),美国通用货币是美元 (USD),俄罗斯通用货币是卢布 (RUB)。那么,区块链中的通用货币是什么呢? 是泰达币 (USDT)。乍一看,USDT 与 USD 很像,那它们...【详细内容】
2021-06-04  wei1guang  今日头条  Tags:USDT   点击:(132)  评论:(0)  加入收藏
欧科链讯:本文为读者了解区块链这项前沿技术提供基础支持。作者对区块链特征、优势、应用等层面进行讲解,言简意赅,通俗易懂。我相信你们最近应该听到过“区块链”一词,也许是在...【详细内容】
2021-05-18  欧科链讯    Tags:区块链   点击:(104)  评论:(0)  加入收藏
前几期我们提到了,关于区块链的基本概念、安全性等。本期从八个点为大家解读区块链的优势。 一、链条的准确性区块链网络上的交易由数以千计的计算机网络批准。这消除了几乎...【详细内容】
2021-05-14  无限之声    Tags:区块链   点击:(87)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条