一文说透zk-SNARKs 为何未来十年与区块链一样重要

    一直以来,区块链的不可能三角(即可拓展性、去中心化、安全性)三者只能得其二),所以在以太坊实现了较高程度的安全和隐私之后,扩容变成重中之重。因此Layer2顺势而生,当下在Layer2扩容方案中,ZK技术被太坊联合创始人VitalikButerin(V神)认为是解决扩容问题的最终方案。5月21日,在黑山举办的非营利性的年度全球以太坊会议EDCON2023大会上,V神表示,未来10年,以ZK为底层技术的zk-SNARK将与区块链一样重要。那么最近V神力推的zk-SNARKs到底是什么?能解决哪些区块链疑难杂症?一起来看看今天的这篇介绍。以下为正文:01什么是zk-SNARKs?1.谁创造了zk-SNARKs?“zk-SNARKs”一词是由一群密码学家创建的,其中包括NirBitansky、AlessandroChiesa和EranTromer,最初这些人在一篇论文中发表了关于zk-SNARKs的基本原理。由此,zk-SNARKs逐步被许多不同的项目和团队开发和改进。2.zk-SNARK代表什么?-ZK:zeroknowledge零知识零知识意味着正在验证声明的人无法从验证过程中获得任何新信息。换句话说,在零知识证明过程中,验证者只知道陈述是对还是错,除此之外一无所知。-S:simplicity简洁简洁的zk-SNARKs证明是简短且易于验证的证明。

    这与常规的零知识证明形成对比,后者可能非常长且复杂。通常,zk-SNARK证明可以在几毫秒内得到验证。-N:non-interactive非交互式非交互式zk-SNARKs证明不需要证明者和验证者之间的任何交互。这意味着只有一条结果消息从证明者发送到验证者。这与交互式证明形成对比,在交互式证明中,证明者和验证者必须相互来回交互才能完成证明。-AR:argument争论论点是支持一个观点的一个或一组理由。在zk-SNARKs的上下文中,论证是一系列数学运算,用于证明一个陈述论点是正确的。-K:knowledge知识知识是指证明者知道完成证明所需的某些信息的想法。例如,这可能是帐户的私钥。综上所述,zk-SNARKs是一个ZK系统(零知识证明系统),它允许用户(“证明者”)向另一方(“验证者”)证明某些东西,比如他们的身份、他们的资金所有权等,而无需透露有关这些资产的任何信息。例如:-用户应该能够证明他的账户中有足够的余额来购买产品或服务,而不必分享他所拥有的确切金额;-用户应该能够在访问应用程序之前验证他的身份,而不必共享他的个人数据。以如何“向一个5岁的孩子解释zk-SNARKs”举例,这里可以通过一个游戏来解释zk-SNARKs是什么:“想象一下,你正在和三个朋友一起玩“语文老师在哪里?”,奖项是1000美元的赌注由获胜者平分。你和你的朋友围坐在一张桌子旁,每个人都拿到了一张有语文老师的图片。

    你必须在图片中找到语文老师,一旦找到语文老师就需要证明你找到了他,但不能透露她的位置或其他任何信息。换句话说,您想在不透露任何超出您声明有效性的信息的情况下证明对事实的了解。运用zkSNARK原中,可以拿一张相同大小的纸,并在图片中语文老师的位置标记一个点。然后可以把纸藏在一个盒里,一旦你的朋友解决了这个谜题,他们就可以自己看到你标记的语文老师所在的位置。”换句话说,zk-SNARKs允许你证明你所需的验证信息,而无需透露该信息的具体值。在当前跨链生态系统中,使用zk-SNARKs技术可以维护其平台上构建的区块链和DApp的隐私。在这里面,关键思想是验证者不可能获得关于该证明的任何信息(因此称为“零知识”证明)。02zk-SNARKs运作原理zk-SNARKs在加密领域尤为重要,因为许多区块链本质上是公开的,隐私就变得尤为重要。最著名的例子是Zcash,它是一种隐私加密资产。当在比特币和以太坊等公链交易Zcash时,会使用发送方和接收方地址等详细信息以及输入和输出值(即花费了多少,未花费多少)进行验证。但通过zk-SNARKs,Zcash可以在不公开地址和价值等信息的情况下证明交易有效。zk-SNARKs如何运作?数字签名构成了zk-SNARKs的工作原理。数字签名使用加密算法对敏感信息进行保护,使其对另一方隐藏,同时向该方提供所要求的必要证据。

    那么具体它是如何完成的呢?步骤如下:1.证明者首先生成一对密钥,一个公钥,一个私钥。他使用私钥签署交易。2.然后证明者将此交易编码为zk-SNARKs,这是交易有效的数学证明。3.证明与公钥一起发送给验证者。然后,验证者使用公钥检查公式是否正确,而无需了解有关交易的任何其他信息。由于只验证少量信息,因此可以非常快速地完成此检查,以确认交易有效。03zk-SNARKs的具体用例1.哪些Token使用zk-SNARKs?SNARK加密Token是一种使用zk-SNARKs来改善隐私的加密资产,也称为隐私Token。这类隐私Token的例子有:-Zcash(ZEC)-Verge(XVG)-Monero(XMR)-Dash(DASH)-Beam(BEAM)-Horizen(ZEN)-Bytecoin(BCN)zk-SNARKs的主要挑战是如果私钥被泄露,就可以创建伪造的证明。这可能允许伪造证明的创建者进行欺诈,例如,创建和使用伪造的隐私币。2.zk-SNARKS的其他应用Filecoin是一个去中心化存储提供商,运作过程涉及多个方面。首先,Filecoin网络上的存储提供者(提供存储空间以换取区块奖励),而“证明者”,必须证明他们正在正确地将数据存储在链上。另一方面,我们有“验证者”,即节点,他们必须验证存储提供商是否正确存储和保护数据。

    这些验证者必须对存储提供者给出的证明感到满意。这要求存储提供商和节点在数据易手时进行通信。可以想象,这一过程将是资源密集型的。Filecoin官方博客文章解释道:“为了验证他们的存储,如今单个存储提供商提供的必须证明的数据量是巨大的,而且只会随着时间的推移而增长。Filecoin网络的出块时间为30秒。为了保持时间不变并启用可扩展的方法,Filecoin需要一种允许快速、高效和稳健验证的解决方案,”借助zk-SNARKs,Filecoin网络可以通过减少各方验证存储所需的时间来提高其可扩展性和效率。对于存储提供商,zk-SNARKs减少了他们需要传输的数据量以证明其存储,从而降低了运营成本。3.zk-SNARKs还可以用于其他事情例如:-身份验证:无需密码即可验证用户凭据,不再需要护照、出生证明等文件证明,以保护出生地点和出生日期等敏感信息。-投票系统:无需身份识别即可验证选民身份,即使选票泄露也无法识别选民身份,从而保护选民隐私。-数据压缩:这是zk-SNARKS的一个有趣用途,值得单独展开一节。04小结总的来说,zk-SNARKS有三个关键要点:1.zkSNARKS是一种零知识证明系统,它允许一方向另一方证明他们知道一个值x,而无需传达有关x的任何其他信息。2.关键思想是验证者不可能仅仅从证明者能够证明他们知道x的事实中推导出关于x的任何信息。这保护了证明者的数据隐私。3.零知识证明系统用于各种应用,包括安全通信、密码学和隐私保护数据分析。虽然目前零知识证明系统是一个相对较新的研究领域,其可行性和实用性仍有许多悬而未决的问题。然而,它们已经被用来创造一些令人印象深刻的产品。