用于析取的Σ协议组合框架
1 引言
零知识证明和论证是一种加密协议,能让证明者在不泄露对应证据的情况下,使验证者相信一个NP语句的有效性。这些协议以及知识证明的变体,如今在构建更大规模的加密协议和系统中起着关键作用。自从经典研究证明了所有NP语言都可以实现零知识证明以来,人们投入了大量精力来提高零知识证明的实际效率,从而产生了一些在实际中得到应用的高效零知识协议。
1.1 析取语句的零知识证明
开发析取语句的零知识技术有着悠久的历史。析取语句由多个通过逻辑“或”组合在一起的子句构成,还可能包含条件子句。证明者对这类语句的证明依赖于其中一个子句(即活动子句)的证据以及该活动子句的索引。析取语句在实际中很常见,因此对其证明进行优化很重要。例如,析取证明常用于为证明者提供一定程度的隐私,因为验证者无法确定哪个子句被满足。具体应用场景包括成员证明(如环签名)、证明大型代码库中存在漏洞以及证明处理器的正确执行等。
近期有一些令人兴奋的工作,将证明析取语句的通信复杂度降低到了析取中最大子句的大小。虽然存在简洁证明技术,但已知的构造方法存在证明时间长、需要强假设甚至可信设置等问题。这些近期工作通过接受较大的证明,实现了更快的证明时间和更合理的假设,同时显著减小了证明的大小。这些工作采用的“堆叠”技术,本质上是让证明者只诚实地执行与自己证据相关的部分,对非活动子句采用高效通信的“作弊”方式。
然而,设计堆叠技术需要大量的手动工作。现有的每个协议都需要开发一种新的技术来降低特定基础协议的通信复杂度,而且这些技术难以推广到大规模的协议族。相比之下,经典研究虽然设计了一个通用编译器,能将大量零知识证明系统转换为析取证明,但未能有效减小证明的大小。
超级会员免费看
订阅专栏 解锁全文
443

被折叠的 条评论
为什么被折叠?



