零知识证明的深入剖析:效率、局限性与并行组合
1. 知识紧密度:零知识证明的效率新视角
在零知识证明的研究中,效率和安全性是两个关键的考量因素。之前提到的效率衡量指标具有通用性,可以应用于任何协议,而不考虑其是否为零知识协议。然而,由于安全性和效率往往相互关联,因此在考虑更精细的效率衡量指标时,也需要相应的安全衡量指标。
知识紧密度(Knowledge Tightness)是专门针对零知识协议的一种安全衡量指标,它旨在衡量证明系统的“实际安全性”。直观地说,知识紧密度反映了验证者在不与证明者交互的情况下,为了计算出与交互后相同的结果所需额外付出的努力。具体而言,知识紧密度是模拟器的(期望)运行时间与模拟器所模拟的真实交互中验证者的运行时间之比。
已知的模拟器大多通过重复随机试验运行,因此在衡量紧密度时,应考虑其期望运行时间(假设它们从不出错,即从不输出特殊符号 ⊥),而非最坏情况。也可以考虑输出 ⊥ 的概率至多为 1/2 的模拟器的运行时间。
定义(知识紧密度):设 t : N → N 为一个函数。若对于语言 L 的零知识证明存在一个多项式 p(·),使得对于每个概率多项式时间验证者 V ∗,都存在一个模拟器 M∗(如定义 4.3.2 所述),对于所有足够长的 x ∈ L,满足:
[
\frac{\text{Time}{M^}(x) - p(|x|)}{\text{Time}_{V^}(x)} \leq t(|x|)
]
其中,(\text{Time}{M^}(x)) 表示 M∗ 在输入 x 上的期望运行时间,(\te