分享 | Vitalik提到的零知识证明是什么?

2019-10-09 Dimension 1418浏览

在万向区块链实验室主办的第五届区块链全球峰会上,当被问及最新进展时,以太坊创始人V神表示目前正在关注零知识证明,该技术经过十几年的发展仍然有创新,zk-SNARKs就取得了一些进步。

在被问及为什么零知识证明技术被广泛应用之际,V神表示,一方面人们开始了解这样的系统的工作机制,一方面人们对基础设施更为熟悉。V神还表示,零知识证明对Layer 2 也许并没有太大帮助,但对Layer 2也许会有帮助。

什么是“零知识证明”

零知识证明 zero-knowledge proofs,简写为 ZKPs,最初由 S.Goldwasser、S.Micali 及 C.Rackoff 在 1985 年的论文《互动证明系统的知识复杂性》提出,指的是证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。

其实质是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。

零知识证明解决了区块链应用的一个根本问题。区块链的应用价值在于去中性化共识,无论是货币交易还是权益证明,所有成员都是见证人,众目睽睽之下,一旦交易完成便无法抵赖,权益生成便不能否认。零知识证明要解决的问题是:以不透露一个论断的任何信息为前提,向你证明这个论断是对的。以货币交易为例,就是在不告诉你付款人、收款人是谁,也不告诉你金额多少的前提下,设法证明这笔交易是合法的。

零知识证明及其相关的协议的优点

1.随着零知识证明的使用,安全性不会降级,因为该证明具有零知识性质。

2.高效性。该过程计算量小,双方交换的信息量少。

3.安全性依赖于未解决的数学难题,如离散对数、大整数因子分解、平方根等。

4.许多零知识证明相关的技术避免了直接使用有政府限制的加密算法,为相关产品的出口带去优势。

zk-SNARKs又是什么?

zk-SNARKs是“zero knowledge succinct non-interactive argument of knowledge”的缩写,这一长串名字的主体是“argument of knowledge”,即“知情证明”,也就是掌握某事内幕的证据。修饰主体名词的定语由三部分组成,分别代表了此技术要解决的三个问题,分别是:

1.zero knowledge:零知识,即在证明的过程中不透露任何内情,如上文的例子所示;

2.succinct:简洁的,主要是指验证过程不涉及大量数据传输以及验证算法简单;

3.non-interactive:无交互。Prover和Verifier之间避免交互。

合起来,zk-SNARKs是一种证明我知道内情的技术,简单、易操作,最关键的是你除了 “我是对的”什么也不会知道。

根据zk-STARKs白皮书中所述,zk-STARKs是首次实现既可以不依赖任何信任设置来完成区块链验证,同时计算速度随着计算数据量的增加而指数级加速的系统。它不依赖公钥密码系统,更简单的假设使得它理论上更安全,因为它唯一的加密假设是散列函数(如SHA2)是不可预测的(这一假设也是比特币挖掘稳定性的基础),因此也使其具有抗量子性。

区块链中的零知识证明应用

零知识协议支持在分布式区块链网络上转移资产,并具有完全的隐私性。常规的区块链交易,当资产从一方发送到另一方时,该交易的详细信息对网络中每一方都可见。相反,零知识证明交易中,其他人只知道发生了有效的交易,而不知道发送方、接收方、资产类别和数量。花费的身份和金额可以隐藏起来,并且可以避免诸如“抢先”之类的问题。

基于区块链的系统使用零知识证明最突出的是ZCash,它也是第一个实现zk-Snarks的加密货币。此后,其他区块链系统也加入了零知识证明,以便在保护用户/交易隐私的同时验证。其中最著名的可能是以太坊,它实现了zk-Snarks作为拜占庭升级的一部分。

声明:本文版权归原作者所有,发布此文为传递更多市场信息,不代表币快报的观点和立场,请自行参考。如作者信息标记有误,请第一时间联系我们处理!