学习

什么是零知识证明?

零知识证明能让您证明一个事实,而不必交出背后的隐私信息。比如,您可以在不出示出生日期的情况下证明自己已年满 18 岁。下面用简单的方式说明它的原理。

要点速览

  • 零知识证明可以确认一个事实,而不透露背后的秘密或隐私细节。
  • 经典的洞穴示例说明了如何通过反复验证排除侥幸猜中的可能,同时不泄露密码。
  • 它们可以用于隐私支付、数字身份核验,以及批量验证数据的系统。
  • 零知识证明与“零知识加密”并不是一回事。这两个名称听起来相似,但解决的是不同的问题。
  • Sealby 不使用零知识证明:它没有账户或服务器需要您提供证明。

零知识证明的作用

通常,证明一件事意味着出示证据:输入密码,或者交出身份证件。但这样做暴露的信息,往往比对方真正需要知道的更多。

零知识证明是一种改变这一点的密码学方法。一方(证明者)向另一方(验证者)证实一个确切的说法,而不透露使这个说法成立的秘密。验证者只会得到自己需要的答案——比如您是否符合年龄要求——而不会知道您的生日、住址或证件号码。

这不是一句含糊的隐私承诺。证明必须针对某个确切的说法来设计,而好的设计能让作弊的可能性微乎其微。

洞穴示例

设想一个洞穴,两条通道在一扇锁着的门后汇合。这扇门只能用一个暗号打开。您说自己知道这个暗号,但不想大声说出来。

您可以任选一条通道进入洞穴,朋友则在外面等候。接着,朋友会喊出希望您从哪条通道返回。如果您真的知道暗号,就能在洞内打开门,从任意一条通道出来。如果只是在猜,您能猜中朋友所要求那一侧的概率只有一半。

每次都用全新且不可预测的方式重复这个测试。连续十轮都成功的话,蒙混过关的人靠运气蒙对的概率大约只有千分之一。这样一来,朋友就获得了您确实知道暗号的有力证据,却始终没有听到这个暗号。

从洞穴故事到实际软件

真正的证明依靠数学,而不是洞穴,但隐私目标是一致的。它们可以证明一笔交易符合规则,而不必公开全部细节。它们还能让一个很小的证明代替大批量的检查,从而让某些系统的验证速度更快。

数字凭证是另一种实际应用。设计良好的凭证不需要把完整身份证件上传给每个服务,而是只回答被问到的那个问题:“这个人是否年满 18 岁?”或“他们是否具备这项资格?”

细节很重要。证明只能保护它被设计用来隐藏的那部分信息。围绕它的应用程序仍然可以收集数据、识别您的身份,或者在其他方面做出糟糕的安全决策。

零知识证明与零知识加密

“零知识”这个说法在云存储领域也会用到,但那是另一回事。零知识加密是指存储服务商无法读取您的文件,因为它没有解密密钥。

零知识证明是在不暴露答案背后秘密的情况下回答一个问题。零知识加密是让存储的文件对服务商保持不可读。两者都能提升隐私保护,但不能互相替代。

一个实用的隐私启示

零知识证明提醒我们一个有用的道理:只分享完成任务所需的最少信息。它们不会让您匿名,也不会保护应用程序的每一个环节。服务方仍然可能知道您连接过、连接的时间,以及证明之外的其他数据。

Sealby 不需要零知识证明,因为它没有账户或服务器要求您证明什么。文件是在您的 iPhone 上加密的。对于日常隐私来说,实际要问的问题很简单:这项服务到底需要知道什么?它能不能用更少的信息来完成工作?

快速问答

简单来说,什么是零知识证明?

这是一种密码学方法,可以在证明某个具体事实的同时,对支撑它的秘密保密。例如,它可以在不暴露出生日期的情况下,确认您已年满 18 岁。

零知识证明和零知识加密是一回事吗?

不是。零知识证明是在不透露背后秘密的情况下证明一个事实。零知识加密则是让存储文件的公司无法读取文件内容。这两个术语名字相似,作用却不同。

零知识证明用在哪些地方?

它们用于注重隐私的数字支付、批量验证交易的系统,以及新兴的数字凭证。一份凭证可以确认年龄或资格,而无需公开身份证件上的所有信息。

Sealby 使用零知识证明吗?

不。当您需要向另一方证明某件事时,证明才有用。Sealby 没有需要这种证明的账户或服务器:文件是在您的 iPhone 上加密的。它的隐藏金库是通过存储设计来实现可否认性,而不是依靠证明。

你的保险库,已经就绪。

下载 Sealby,守护重要的东西。设置不到一分钟,也无需创建任何账户。

在 App Store 下载

iPhone 和 iPad · iOS 17+ · 免费