我正在读Sonic:零知识咆哮从线性大小的通用和可更新的结构化引用字符串。
节选:
对于可靠性,我们不使用标准定义的特殊稳健性,因为我们的验证者提供了两个挑战,而是广义的,而不是证人扩展的仿真。
有人能对“证人延伸仿真”一词提供简单而简洁的解释吗?
发布于 2019-06-13 12:32:01
证人扩展仿真是一种更稳健的知识可靠性概念,它避免了知识系统的证明在更大的协议中被使用时的微妙问题。
例如,假设在A和B之间有一个两方协议,其中A在某个点为一些语句x提供了一个PoK。(因此,在这个更大的协议中,PoK被用作子协议)。
现在,为了证明该协议是安全的,您需要构建一个仿真器S来模拟一个损坏的A。为此,它生成一个视图,即协议中的A视图,其中包括PoK的记录。此外,我们还可以假设这个模拟器需要从PoK中提取见证(在几乎所有的情况下,模拟器都需要这样做:直觉地说,否则这个PoK似乎是无用的)。
因此,一个简单的仿真器可以: 1)与A一起运行,并充当验证器,以便获得PoK 2的抄本(如果记录有效,运行提取器E。
现在的问题是,对于(标准的)知识可靠性,抽取器是一个期望的多项式时间机器,它输出一个有效的见证并在poly/(p-k)中运行,其中p是A输出有效证明的概率,k是知识错误(粗略地说,通过发送随机消息使验证者信服的概率)。
问题是,如果计算模拟器S的预期运行时间,那么它至少是p \cdot poly/(p-k),这可能不是预期的多项式时间!
幸运的是,林德尔(https://eprint.iacr.org/2001/107.pdf)表明,如果你有知识声音,那么你可以得到证人扩展仿真。所以我们不用担心。
总之,每当您想要在更大的协议中使用您的PoK时,更方便地依赖于证人扩展仿真(安全性证明方面的麻烦较少)。然而,如果PoK是独立使用的,那么安全性的概念就很好了。
发布于 2019-03-13 14:58:06
粗略地说:(特殊的)稳健意味着(非)交互的知识证明,你不能证明虚假陈述(在你不知道你正在证明的知识的陈述)。
证人扩展仿真是这一概念的推广:它意味着存在一个仿真器(允许将验证器倒转到任何状态,并为验证者提供新的随机性),该仿真器从(修改的)记录中提取证人。
这意味着仿真器可以从查看和篡改(在某种程度上)验证器和验证器中提取证人(从而可以伪造证据)。
要了解这是一种特殊的稳健性的概括:仿真器可以从被篡改的记录中提取出一个证人,这意味着这个证人以某种方式被验证者放入了笔录。这反过来意味着,如果存在从有效记录中提取证人的协议的仿真器,我们知道验证者在证明过程中有此证人在场;也就是说,如果该协议具有证人扩展模拟,则该协议需要一个证人,而我们具有特殊的可靠性。
https://crypto.stackexchange.com/questions/67106
复制相似问题