我对zk问题的理解如下:通过(平坦化-> R1CS -> QAP),将原命题的答案绑定到QAP的解向量S,然后因为QAP是一个NP问题。因此,如果验证通过,验证者可以确保验证者了解s,并且由于NP问题,除了运气好以外,验证者了解S的唯一途径是解决原来的命题。
但如果原命题不是NP,则证明者可能会作弊。
如果原始命题的答案是独一无二的呢?例如,我想证明我知道x-5=0的x是什么?当然,用这种方法,QAP的维数可能太小,攻击者可以生成许多合法的s,如果我将要求解的方程的维数更改为100万。
发布于 2022-09-20 20:12:56
@Maeher的评论指出,您正在考虑的语言是NP。
然而,您的问题的一个直接答案是:我们目前没有languages语言以外的NP。我们所拥有的是UNSAT实用的零知识证明。因此,我们对CoNP有实用的ZK (关于实用性的具体定义,请参阅论文)。
工作零知识证明UNSAT发表在CCS22上。值得注意的是,这是ZK,而不是ZK,因为我们不知道如何使文件中的协议非交互或简洁。
https://crypto.stackexchange.com/questions/101949
复制相似问题