给定一个散列函数:
$H(x)$ =y
$y$是众所周知的。
Alice想向Bob证明她认识$x$。Alice可以创建一个非交互式的零知识证明,并与Bob共享.然后Bob可以验证Alice是否有一个有效的$x$。
协议在这里描述:https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b
现在假设Bob想向Carol证明他认识$x$。Bob可以重新发送Alice给他的证据,尽管他不认识$x$。
是否有任何方法来创建一个不能被恶意验证者重播的证据?
发布于 2018-08-26 15:42:30
“她知道”有一个定义:应该存在一个提取算法,在与验证者交谈时产生证人$x$。对于您所引用的媒体帖子中的克里斯蒂安·伦德奎斯特的zk-SNARK来说,该协议是非交互的,“知识的证明”是从“指数假设的知识”而不是从提取器算法中得到的。似乎有一种共识,即这两种定义都足够好。
我的观点是,一个非交互的“知识的证明”与一个互动的证明是非常不同的。zk证明似乎是一种设计选择,每个人都应该在没有交互的情况下进行验证。
有一个机会,一个指定的验证者(在80年代末引入)。作为一个设置,潜在的验证器发送一些散列$t$进行验证,并运行该协议以表明他知道该附加哈希的见证$s$:$H(s) = t$。然后,验证程序运行一个协议,以显示他对两个前置图像($s$或$x$)之一的知识。这可能意味着一个表示方程的电路:\begin{ can *}z(1-z)=0\ H(zs +(1-z)x)= zt +(1-z)y\end{can*}--只有这样才能确保保持$s$秘密的验证器可以确保原始语句$H(x) = y$是真的。
使协议再次交互:)
https://crypto.stackexchange.com/questions/61761
复制相似问题