如何避免基于格的可否认零知识证明中的重复操作
在基于格的交互式零知识证明领域,协议重复执行以避免中止是一个常见的问题。本文将介绍一种简单的方法,用于构建基于格的可否认证明系统,该系统只需单次执行即可完成证明,从而避免了协议的重复运行。
1. 现有解决方案的局限性
在基于格的交互式零知识证明中,减少中止概率通常需要大量的重复操作,这会导致证明大小和证明时间增加。目前有几种方法可以尝试减少中止的情况:
- 并行重复改进 :通过使用(不平衡)二叉哈希树来减少第一次回答的大小,从多个承诺减少到树的根节点。
- 概率可检验证明(PCPs)和交互式预言机证明(IOPs) :与基于格的代数技术相结合,但仅在某些特定设置下比一般的基于格的系统(带有中止)更有效。
然而,目前最有效和紧凑的基于格的交互式零知识系统仍然是带有中止的系统,并且到目前为止,还没有有效的方法来消除中止。
2. 新的解决方案
我们提出了一种新的方法,用于构建基于格的可否认证明系统,该系统只需单次执行即可完成证明。具体来说,我们将Fiat - Shamir变换应用于原始系统Π,并结合证明者的初始消息。非交互式Fiat - Shamir版本的Π的挑战不再仅仅是哈希函数的输出,而是这些输出与证明者在初始消息中发送的值的组合(一种陷门承诺)。
2.1 转换步骤
以下是构建3轮交互式证明系统Σ的具体步骤:
1. 证明者选择随机值 :对于i = 1, …, μ,证明者P均匀随机地选择ri ∈ {0, 1}ℓ,