首页 > 教程攻略 > web3.0 >zk-SNARKs是什么与用法 V神定调零知识证明未来十年「非常重要」

zk-SNARKs是什么与用法 V神定调零知识证明未来十年「非常重要」

来源:互联网 时间:2026-07-08 11:56:43

V 神在黑山 EDCON 大会上提过一个观点:未来十年,zk-SNARK 这项技术的重要性能跟区块链本身相提并论。那么,zk-SNARK 到底是什么?这篇文章会用比较容易理解的方式拆解它。内容参考自 Phemex 上的一篇入门文章,由白话区块链编译整理。

说来说去,区块链一直有个绕不开的难题——可扩展性、去中心化、安全性,这三样很难同时做到最好。以太坊在安全和隐私方面已经做得不错了,那剩下的大头就是扩容问题。

于是 Layer 2 方案就出来了。而在目前的 Layer 2 技术路线里,V 神一直把 ZK 技术看作解决扩容的终极方案。

2023 年 5 月,他在黑山举办的 EDCON 大会上再次表态:「未来 10 年,基于 ZK 技术的 zk-SNARK 会和区块链一样重要。」

那 V 神这么看好的 zk-SNARKs 到底是个啥?能帮区块链解决哪些老大难问题?今天这篇文章就来聊聊。

下面进入正题:

zk-SNARKs 到底是什么?

1. 谁搞出来的?

「zk-SNARKs」这个词最早是一群密码学研究者提出来的,包括 Nir Bitansky、Alessandro Chiesa 和 Eran Tromer。他们在一篇论文里讲清楚了 zk-SNARKs 的基本原理。后来,不同团队和项目陆续对这项技术做了改进和落地。

2. 名字拆开看,每个字母代表啥?

– ZK:zero knowledge,零知识

零知识的意思是,验证声明的人在整个验证过程中得不到任何额外信息。说白了,验证者只知道这个陈述是对还是错,除此之外一无所知。

– S:succinct,简洁

简洁指的是 zk-SNARKs 的证明很简短,验证起来也很快。不像传统零知识证明可能又长又复杂。通常几毫秒就能验证完一个 zk-SNARK 证明。

– N:non-interactive,非交互式

非交互就是说,证明者和验证者不需要来回沟通。证明者只发一条消息过去,验证者就能确认结果。这跟需要多次来回的交互式证明完全不同。

– AR:argument,论证

论证就是支持某个观点的一组理由。在 zk-SNARKs 里,论证是一串数学运算,用来证明一个陈述是对的。

– K:knowledge,知识

知识指的是,证明者知道完成证明所需的某些秘密信息。比如账户的私钥。

总结一下,zk-SNARKs 是一种零知识证明系统。它允许一方(证明者)向另一方(验证者)证明某些事,比如身份、资金所有权等,但不需要透露这些资产的具体信息。举个例子:

  • 用户要证明自己账户余额足够支付某样东西,但不用说出具体有多少钱;
  • 用户登录某个应用时,要验证身份,但不用提交自己的个人数据。

打个比方,用「如何跟一个 5 岁小孩解释 zk-SNARKs」来理解:

假设你和三个朋友在玩「找语文老师」的游戏,奖金 1000 美元,赢了大家平分。你们围着桌子坐,每人拿到一张有语文老师的图片。你要在图片里找到语文老师,然后证明你找到了,但不能透露她的位置或其他任何信息。换句话说,你只让对方知道「我找到了」,但不能让对方知道更多。

用 zk-SNARK 的思路,你可以拿一张跟图片一样大的纸,在语文老师的位置上点一个点,然后把这张纸藏进盒子里。等你的朋友也解出谜题后,他们可以自己打开盒子看到你点的位置,从而确认你确实找到了。

所以,zk-SNARKs 可以让你证明「你知道某个信息」,但不用把这个信息的具体值说出来。在当前的多链生态里,很多平台用 zk-SNARKs 来保护链上应用和 DApp 的隐私。

核心点在于:验证者不可能从证明本身得到任何额外信息——这就是「零知识」的来源。

zk-SNARKs 是怎么工作的?

zk-SNARKs 在区块链领域特别重要,因为大多数公链都是公开的,隐私就成了大问题。

最有名的例子是 Zcash,一种注重隐私的加密资产。你在比特币或以太坊这类公链上转 Zcash 时,验证过程会用到发送方、接收方地址,以及输入输出的金额(花了多少、还剩多少)。

但借助 zk-SNARKs,Zcash 可以在不公开地址和金额的情况下,照样证明交易有效。

zk-SNARKs是什么与用法 V神定调零知识证明未来十年「非常重要」

图片说明:Zcash 利用 zk-SNARKs 为加密用户提供隐私层 来源:Blockchainhub.net

那 zk-SNARKs 到底怎么运作呢?核心是数字签名。数字签名用加密算法把敏感信息藏起来,同时向对方提供必要的验证证据。

具体流程是这样的:

  • 证明者先生成一对密钥:一个公钥,一个私钥。然后用私钥对交易签名。
  • 接着,证明者把这个交易编码成 zk-SNARKs,也就是一个能证明交易有效的数学证明。
  • 这个证明连同公钥一起发给验证者。验证者用公钥检查公式对不对,但不需要知道交易的任何其他信息。因为只验证少量数据,整个过程非常快,就能确认交易有效。

zk-SNARKs 的实际应用场景

1. 哪些币用了 zk-SNARKs?

用 zk-SNARKs 来增强隐私的加密资产,通常被称为隐私币。常见的例子有:
– Zcash (ZEC)
– Verge (XVG)
– Monero (XMR)
– Dash (DASH)
– Beam (BEAM)
– Horizen (ZEN)
– Bytecoin (BCN)

要注意的是,zk-SNARKs 有一个不太安全的地方:如果私钥泄露,别人就能伪造证明。这可能导致有人搞出假的隐私币来行骗。

2. 除了隐私币,还能干嘛?

Filecoin 是个去中心化存储项目,它的运作涉及多个环节。

一方面,存储提供者(靠提供空间换区块奖励)要证明自己确实把数据正确存着。他们就是「证明者」。

另一方面,节点(「验证者」)需要确认存储提供者确实在好好保存数据。验证者得对存储提供者给的证明感到满意。

你可以想象,如果数据频繁交接,这个过程会非常消耗资源。

Filecoin 官方博客里写过:

「要验证存储,现在单个存储提供者需要提供的证明数据量已经很大了,而且只会越来越多。Filecoin 网络的出块时间是 30 秒。要保持这个时间不变,同时让验证方法能扩展,Filecoin 需要一个快速、高效、稳健的验证方案。」

用了 zk-SNARKs,Filecoin 就能减少各方验证存储所需的时间,提升可扩展性和效率。对存储提供者来说,zk-SNARKs 降低了需要传输的数据量,从而节省运营成本。

3. 其他可能的用途

比如:

  • 身份验证:不用密码就能验证用户身份,甚至不需要护照、出生证明这类文件,能保护出生地、生日等敏感信息。
  • 投票系统:不用暴露身份就能验证选民资格,就算选票泄露也没法追踪到具体选民,隐私性很强。
  • 数据压缩:这是 zk-SNARKs 一个挺有意思的应用,值得单独拿出来聊聊。

小结

总的来说,zk-SNARKs 有三个核心要点:

  • 它是一种零知识证明系统,允许一方证明自己知道某个值 x,但不用透露关于 x 的任何额外信息。
  • 关键在于,验证者从证明本身推导不出任何关于 x 的信息。这保护了证明者的数据隐私。
  • 零知识证明系统被用在很多地方,比如安全通信、密码学、隐私保护的数据分析等。

目前零知识证明技术还算比较新的研究领域,还有很多问题没解决,比如实用性到底有多强。不过已经有了一些让人印象深刻的产品了。

风险声明:

本文内容仅供学习参考,不构成任何投资建议、交易建议或收益承诺。加密货币及迷因币市场波动较大,价格预测和市场数据请以官方公告、交易所实时页面及行情平台为准。投资者应独立判断、谨慎决策,自行承担投资风险。