title | tags | ||||
---|---|---|---|---|---|
48. 交互式证明系统 |
|
这一讲,我们将介绍交互式证明系统,探讨证明系统、空间复杂性、IP 复杂性类等概念。最早的零知识证明系统是交互式证明系统,理解这些概念非常重要。
在讨论交互式证明系统之前,我们需要简单了解空间复杂性和 PSPACE 复杂类,这对于之后理解 IP = PSPACE 很有帮助。
时间复杂性类似,空间复杂性关注的是算法在解决问题时所需的存储空间。我们通常用大O表示法来描述空间复杂性:
- 如果一个算法的空间复杂性是
$O(n)$ ,意味着它所需的存储空间随输入大小$n$ 线性增长。 - 对于一些问题,我们可能更关心空间使用而不是时间,特别是在存储资源有限的情况下。
PSPACE(Polynomial Space)包含了所有可以在多项式空间内解决的问题。PSPACE 包含了许多复杂性类,包括 P、NP、BPP 等。
形式化定义:一个语言
换句话说,即使算法可能需要指数级的时间来完成,但如果它所需要的空间是多项式级的,那么它仍属于 PSPACE 类。实际上,所有 NP 问题都属于 PSPACE 类,因为解决 NP 完全问题 SAT 仅需要多项式空间。
证明系统(Proof System)是计算复杂性理论和密码学中的一种基本概念,用于形式化地描述如何证明一个命题的正确性。它涉及两个参与者:证明者(Prover)和验证者(Verifier)。证明系统的目标是让证明者说服验证者某个命题是正确的,但验证者不用进行完整的计算。
-
证明者
$P$ :知道某个命题$x$ 属于某个语言$L$ 的证明,试图说服验证者$V$ 这个命题是正确的。证明者可以拥有无限的计算能力。 -
验证者
$V$ :通过与证明者$P$ 的互动,决定是否接受命题$x$ 属于$L$ 的结论。验证者的计算资源通常是受限的,比如多项式时间的图灵机。
证明系统的两个核心属性是完备性(Completeness)和可靠性(Soundness)。
-
完备性:如果
$x \in L$ (命题为真),则验证者将会接受证明者提供的证明,即“真的假不了”。 -
可靠性:如果
$x \notin L$ (命题为假),无论证明者如何尝试欺骗,验证者都会拒绝证明,即“假的真不了”。
我们可以将 NP 类看作一种证明系统,过去2000年的数学证明都遵循这类范式:一个数学家提出一个定理,然后提供一个证明,接下来由其他数学家(相当于验证者)在有限的步骤内验证这个证明的正确性。
在 NP 证明系统中,验证者(Verifier)是一个多项式时间的确定性图灵机,证明者(Prover)的计算资源没有限制(就像历史上有名的数学家一样)但可能不诚实。对于给定的问题实例
SAT 问题是一个典型的 NP 证明系统的例子,其中问题实例
交互式证明系统(Interactive Proof System)是1980年后才被提出的证明系统,加入了两个创新:
-
随机性:验证者
$V$ 为多项式概率图灵机,可以使用随机数(掷硬币)来增强验证过程的效率和安全性。 - 交互性:验证者和证明者可以进行多轮交互,以提高验证的可靠性。
由于验证者
-
完备性:如果
$x \in L$ ,则每轮交互验证者$V$ 将会以大于$\frac{1}{2}$ 的概率接受证明者提供的证明,即概率版“真的假不了”。 -
可靠性:如果
$x \notin L$ ,则每轮交互验证者$V$ 将会以小于$\frac{1}{2}$ 的概率接受证明者提供的证明,即概率版“假的真不了”。
实际上,只需要完备性和健壮性概率之间的差距大于
$\frac{1}{\text{poly}(n)}$ ,我们就可以通过放大引理,使得验证者$V$ 最终以接近1的概率接受证明者提供的证明。
下面我们通过一个经典的例子来理解交互式证明:图非同构问题(Graph Non-isomorphism,GNI)。两个图同构意味着存在一种方式将一个图的顶点重新标记,使其与另一个图完全相同。由此,图非同构问题描述如下:给定两个图
证明两个图同构很简单,只需将
-
验证者随机选择
$G_1$ 或$G_2$ 中的一个图,将其顶点随机重新标记得到图$H$ ,并将$H$ 发送给证明者。 -
证明者(计算资源无限制)需要计算
$H$ 是由$G_1$ 还是$G_2$ 重新标记得到的。 -
如果图确实不同构,证明者总能正确回答,因为他能计算出
$H$ 源自哪个图。 -
如果图是同构的,证明者只能随机猜测,正确率为 50%。
-
重复这个过程多次,如果证明者每次都答对,验证者就会相信两个图确实不同构。
这个例子展示了交互式证明系统的核心特征:随机性和多轮交互提高了验证的可靠性,同时保持了验证过程的效率,使得验证者可以在不直接解决问题的情况下,以很高的概率接受或拒绝证明者的证明。
现在,让我们来介绍 IP(Interactive Proof)复杂性类。IP 是一个包含了所有可以通过交互式证明系统在多项式时间内验证的问题的复杂性类。
语言
- 完备性:对于所有
$x \in L$ ,$\text{Pr}[(P, V)(x) = \text{accept}] ≥ \frac{2}{3}$ - 可靠性:对于所有
$x \notin L$ 和所有证明者$P*$ ,$\text{Pr}[(P*, V)(x) = \text{accept}] ≤ \frac{1}{3}$
这里,
当
这一讲,我们介绍了交互式证明系统,包括交互式证明系统的定义、完备性和可靠性、IP 复杂性类等概念。交互式证明系统和零知识证明是在同一篇论文提出的,理解它对我们理解零知识证明非常重要。