前言:本文来源于Binance Academy,由头等仓进行翻译,文中对zk-SNARKs和zk-STARKs进行了分类和介绍。
隐私一直被视为加密货币社区中一个具有价值的特征。它是可替代性的前身,也是广泛使用的货币形式所必需的。同样,大多数加密资产持有者不希望他们的资产和交易历史被完全公开。在旨在为区块链提供隐私的各种加密技术中,zk-SNARK证明和zk-STARK证明就是两个不错的例子。
Zk-SNARK代表零知识、简洁、非交互式的知识证明,zk-STARK则代表零知识、简洁、透明的知识证明。Zk-SNARK证明已经在Zcash和摩根大通(JP Morgan Chase)的区块链支付系统上使用,它是一种能够使客户端安全验证到服务器的方式。但是,尽管zk-SNARK在完善和采用方面取得了重大进展,zk-STARK却因填补了zk-SNARK证明的许多缺陷而被认为是协议的最新改进版本。
《阿里巴巴洞穴》寓言
1990年,密码学家Jean-Jacques Quisquater(以及其他合著者)发表了一篇题为“如何向孩子解释零知识证明”的论文。这篇论文通过一个阿里巴巴洞穴的寓言,介绍了零知识的概念。自从这个寓言诞生以来,就已经被多次改编,因此现在有很多不同版本。然而,表达的信息本质上是相同的。
让我们想象有一个环形洞穴,它有一个入口,以及一道将洞穴分为两条路径的魔法之门。要想通过魔法之门,你需要向它低声说出正确的暗语。因此,假设Alice(黄色)想要向Bob(蓝色)证明她知道暗语是什么——但仍然对Bob保密。为了做到保密,Bob等在洞穴外,而Alice进入洞穴,一直走到其中一条路的尽头。如下图所示,Alice决定走路径1。
过了一会儿,Bob走到洞穴口,告诉里头的Alice从哪条路出现。(在图中为路径2)
如果Alice确实知道暗语,她就会从Bob要求的路径2走出来。
此过程可以多重复几次,确认Alice并不是靠运气选择正确的路径。
《阿里巴巴洞穴》的这则寓言说明了零知识证明的概念,它是zk-SNARK和zk-STARK协议的一部分。ZK证明可用于证明其拥有某些知识,而不泄露任何有关它的信息。
zk-SNARKs
Zcash是zk-SNARKs的第一个广泛应用。虽然像Monero这样的其他隐私项目采用环状签名和其他技术,有效地为发送人创建一个匿名保护屏障。Zk-SNARKs则是从根本上改变了数据的共享方式。Zcash的隐私性在于网络中的交易可以加密,但也可以通过使用零知识证明来验证其有效性。因此,那些执行共识规则的人不需要知道每个交易的所有数据。值得一提的是,Zcash中的隐私功能默认情况下不处于使用状态,功能是可选的,可手动设置。
零知识证明允许一个人向另一个人证明某个陈述是真实的,而不会泄露超出此陈述的任何有效信息。双方通常被称为证明者和验证者,他们持有的秘密陈述称为证据。这些零知识证明的主要目的是尽可能少地揭示双方之间的数据。换句话说,人们可以使用零知识证明来证明他们具有某些知识而不会泄露任何关于知识本身的信息。
在首字母缩略词SNARK中,“S(succinct)”表示证据信息较短,方便验证。“N(Non-interactive)”表示证明者和验证者之间几乎没有交互。旧版本的零知识协议通常需要证明者和验证者来回通信,因此被认为是“交互式”的zk证明。但在“非交互式”结构中,证明者和验证者只需要交换一个证明。
目前,zk-SNARK证明依赖于证明者和验证者之间的初始可信设置,这意味着构建零知识证明和私人交易都需要一组公共参数。这些参数几乎就像游戏规则,它们被编码到协议中,并且是证明交易有效的必要因素之一。然而,这就会导致中心化,因为参数通常是由非常小的群体设置的。
虽然初始的可信设置是如今zk-SNARK实现的基础,但研究人员正在努力寻找其他替代方案,以减少流程中所需的信任数量。初始设置阶段对于防伪造支出非常重要,因为如果某人有权访问参数生成的随机性,他们可能会伪造对验证者有效的假证明。在Zcash中,初始设置阶段被称为参数生成仪式。
现在来说首字母缩略词中的“AR(ARguments)”部分。zk-SNARK在计算上是可靠的,这意味着不诚实的证明者成功欺骗系统的几率非常低。此属性称为稳健性,并假设证明者的计算能力有限。从理论上讲,具有足够计算能力的证明者可以伪造证明,这也是量子计算机被许多人视为是对zk-SNARK和区块链系统的威胁的原因之一。
缩写的最后一部分是“K(of Knowledge)”,意思是如果没有知识(或证据)来支持其陈述,证明者就无法伪造证明。
零知识证明可以快速验证,并且通常比标准比特币交易占用的数据要少得多。这为zk-SNARK技术的隐私性和可扩展性解决方案的使用开辟了一条道路。
zk-STARKs
zk-STARK是作为zk-SNARK证明的替代版本而创建的,它被认为是一种更快、成本更低的技术实现。但更重要的是,zk-STARK不需要初始可信设置(因此,字母“T”代表的是透明化)。
从技术上讲,zk-STARK不需要初始可信设置,因为通过抗碰撞哈希函数,它们依赖于更简洁的加密技术。这种方法还排除了zk-SNARK的数论假设,这些假设在计算上很昂贵,并且理论上容易受到量子计算机的攻击。
zk-STARK提供成本更低、更快实现的主要原因之一是,其计算量增加,证明者和验证者之间的通信量保持不变。相比之下,在zk-SNARK中,所需的计算量越多,双方来回发送消息的次数就越多。因此,zk-SNARK的整体数据量要远远大于zk-STARK证明中的数据量。
很明显,zk-SNARKS和zk-STARK都使人们日益关注起隐私问题。在加密货币领域中,这些协议具有巨大的潜力,并且可能成为主流采用的突破性途径。
(作者:头等仓,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)
用戶喜愛的交易所
已有账号登陆后会弹出下载