0Pricing
Cryptology Academy · 课时

ZKP 直觉:阿里巴巴洞穴

通过经典洞穴类比,建立对完备性、可靠性和零知识的直观理解

ZKP 直觉:阿里巴巴洞穴 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

什么是零知识证明

零知识证明(ZKP)允许证明者向验证者证明自己知道某个秘密(或某个陈述为真),而不泄露秘密本身。它具有三个性质:完备性、可靠性和零知识性。

完备性

如果证明者知道秘密,就始终能够说服验证者。遵循协议的诚实证明者将以概率 1(或压倒性概率)成功。验证者不会拒绝有效证明。

可靠性

作弊的证明者(不知道秘密)除以可忽略的概率外,无法说服验证者。每一轮交互都会降低作弊成功的概率——经过 k 轮后,作弊者的成功概率最多为 2^{-k}。

零知识性

除了知道该陈述为真之外,验证者不会了解到任何其他信息。形式化地说:存在一个模拟器,它无需知道秘密,就能生成与真实的证明者—验证者交互记录不可区分的记录。验证者不会获得任何额外知识。

阿里巴巴洞穴

一个洞穴中有一条环形通道,中间有一扇魔法门。证明者 Alice 声称自己知道密码。验证者 Bob 在洞穴外等候。Alice 进入洞穴后向左或向右走。Bob 喊出她应从哪一侧出来。如果 Alice 知道密码,她总能从正确的一侧出来。每轮作弊成功的概率为:1/2。

洞穴分析

经过 20 轮后,作弊者的成功概率为 2^{-20},约为百万分之一。知道密码的 Alice 每次都能成功。Bob 永远不会知道密码——他只能看到 Alice 从自己要求的一侧出来。这就是零知识。

交互式与非交互式

交互式 ZKP 要求证明者和验证者之间进行来回交互。非交互式 ZKP(NIZKs)使用 Fiat-Shamir 变换:将验证者的随机挑战替换为对承诺的哈希值(哈希值 = 随机预言机)。这样会生成一段任何人都能验证的单一证明字符串。

知识证明

如果证明者的策略意味着可以提取出秘密,那么 ZKP 就是知识证明(PoK)。这比仅仅证明某个陈述为真更强。ECDSA 和 Schnorr 签名都是关于知道私钥的非交互式知识证明。

ZKP 应用预览

无需发送密码即可完成密码身份验证。无需泄露出生日期即可验证年龄。在不泄露薪资的情况下证明您的薪资处于某个范围内。在区块链中:证明您知道一笔有效交易,而不泄露该交易。

统计零知识与完美零知识

完美零知识:模拟器的输出与真实交互记录完全相同。统计零知识:除非发生可忽略概率的情况,否则不可区分。计算零知识:对于多项式时间验证者不可区分。保证越弱,证明就越高效。

西格玛协议

洞穴协议是一个三步协议:承诺 → 挑战 → 响应。形式上称为西格玛协议。大多数实用 ZKP(Schnorr、Pedersen、Fiat-Shamir)都是西格玛协议或它们的组合。这个名称源自消息流图的 Σ 形状。

快速检查

阿里巴巴洞穴协议经过多少轮后,作弊者的成功概率会低于 1/1000?

回顾

ZKP 能够在不泄露秘密的情况下证明知晓该秘密。三个性质:完备性、可靠性、零知识性。阿里巴巴洞穴展示了交互式 ZKP。下一步:西格玛协议和 Schnorr 身份识别。

常见问题解答

「ZKP 直觉:阿里巴巴洞穴」课时是免费的吗?

是的 — 「ZKP 直觉:阿里巴巴洞穴」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「ZKP 直觉:阿里巴巴洞穴」这节课中我会学到什么?

通过经典洞穴类比,建立对完备性、可靠性和零知识的直观理解 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「ZKP 直觉:阿里巴巴洞穴」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. ZKP 直觉:阿里巴巴洞穴
  2. Sigma 协议与 Schnorr 识别
  3. zk-SNARK:简洁非交互式论证
  4. ZKP 应用:ZK Rollup 与隐私币
← 返回 Cryptology Academy