从简单和实用出发,一文读懂零知识证明 — 导读 / 原用标题作者:BenLaw 你之前是否阅读过一些零知识证明的文章,但仍一头雾水?这些文章可能:只以故事和童话作例子来论述 ZKP,无法深入其本质。内含大量密码学术语,数学公式,学术论文等,对初学者而言过于复杂。本文提供了对 ZKP 简明扼要的概述,并从数学、密码学和编程角度进一步阐述 ZKP 的核心要素。向色盲提供颜色证明如何向色盲患者证明两个球的颜色确实是不同的?这其实并不复杂: 让他在手里握住两个球,背到背后,然后随机选择交换或不交换两个球的位置,再展示给你看,你告诉他这两个球的位置是否有变化。 在他看来,你可以通过瞎蒙来完成一次证明。不过,如果成千上万次地重复这个过程:如果你总是能说出正确答案,那么靠纯蒙的方式来保持一直正确的概率,是小到可以忽略的。因此可以通过这种方式来向色盲患者证明:两个球的颜色确实不一样,并且我们也有感知和区分的能力。颜色证明 上述证明过程是典型的零知识证明:验证者无法在证明过程中获得任何关于颜色的知识,因为经过验证过程后他依然没有区分颜色的能力。该验证过程是概率性的而非决定性的。该过程是交互式的,需...