零点课堂 | zk-SNARKs和zk-STARKs解释(2)
zk-SNARKs
Zcash是zk-SNARKs的首个广泛应用。虽然像Monero这样的隐私项目也采用了环形签名和其他技术,通过这些技术也可有效地创建了一个烟幕弹保护发送者 ,而zk-SNARKs也从根本上改变了数据的共享方式。 Zcash的隐私源于这样一个事实,即网络中的交易可以被加密,但仍然可以通过使用零知识证明来验证有效性。因此,那些执行共识规则的人不需要知道每个交易的所有数据。值得一提的是,Zcash中的隐私功能默认情况下是处于不活动状态,是可选的,取决于手动设置。
零知识证明允许一个人向另一个人证明其所陈述的是真实的,且不会泄露超出陈述有效性的任何信息。有关各方通常被称为证明者和验证者,他们所持有的秘密被称为证据。这些功能的主要目的是让双方之间尽可能少的进行数据交换。换句话说,人们可以使用零知识证明来证明他们是知晓某些知识但不会泄露有关知识本身的任何信息。
在SNARK首字母缩略词中,首字母“succinct”意味着这些该证明较简单,可以快速验证。 “非交互式”意味着证明者和验证者之间几乎没有交互。较早版本的零知识证明协议通常要求证明者和验证者进行通信,因此被认为是“交互式”零知识证明。但在“非交互式”结构中,证明者和验证者只需交换相关证明。
目前,zk-SNARK证明依赖于证明者和验证者之间的初始化可信设置,这意味着需要一组公共参数来构建零知识证明,从而构建私有交易。这些参数几乎就像游戏规则,它们通过编程写到协议中,并且是证明交易有效的必要因素之一。然而,这会产生潜在的集中化问题,因为参数通常由非常小的群体制定。
虽然最初的公共设置是如今zk-SNARK实施的基础,但研究人员正在努力寻找其他替代方案,以减少交互流程中所需的信任。初始设置阶段对于防止伪造支出非常重要,因为如果某人有权访问生成参数的随机性,他们就可能会创建对验证者有效的假证明。在Zcash中,初始设置阶段称为参数生成过程。
我们再来谈下首字母缩略词的“ARguments”。 zk-SNARK被认为是可合理计算的,这意味着伪造的证明者成功欺骗系统的可能性非常小。此属性称为健壮性,假设证明者具有有限的计算能力。从理论上讲,具有足够计算能力的证明者可以创建伪造证明,这也是量子计算机被许多人视为可能对zk-SNARK和区块链系统产生威胁的原因之一。
最后一个首字母是“Knowledge”,这意味着证明者无法在没有实际知识(或证人)支持其陈述的情况下构建证据。
零知识证明可以快速验证,通常比标准比特币交易占用的数据少得多。这为zk-SNARK技术开辟了一条新道路,使其可用作匿名性和可扩展性解决方案。
声明:本文由 Binance撰写,零点财经收录,观点仅代表作者本人,绝不代表零点财经赞同其观点或证实其描述。