超强进阶:PLONK VS Groth16(下)

前言
本篇是“PLONK VS Groth16”的下篇,在上篇中我们对PLONK作了简要介绍,分析了PLONK和Groth16算法在「可信验证」和「约束构建」上的异同。那么,接下来让我们一起看看在后续的「证明生成」和「验证阶段」两者将有怎样的差异,以及整体上的性能区别。

原文链接:https://mp.weixin.qq.com/s/xrLe4cJVucr_m69cBF8wfQ

证明生成

对于程序qeval, prover需要证明自己知道qeval(x)=35的解,即x=3。

def qeval(x):

y = x**3

return x + y + 5

在上篇中我们已经介绍了PLONK的约束形式:门约束与线约束。继续使用之前的例子(如上所示),约束意味着零知识证明系统将这个问题约束成了一组格式固定的数学表达式,即问题描述等价于约束描述。而如果证明者(Prover)真的知道这个问题的答案,将答案和计算中的中间参数代入约束表达式,这个组表达式必将是成立的。反之,如果该Prover提供的一组解无法使表达式成立,说明prover并不具备关于该问题解的知识。

这是最朴素的证明验证思路,可以将它看作是“锁”和“钥匙的配对“:该问题约束的构建类似于“打造门锁“,而针对该问题提供的一组解信息就是”一把开启门锁的钥匙“。显然,Prover可以举着自己的解交给验证者(Verifier)来验证。可是这违背了我们的零知识原则:Verifier不应该获取到Prover的隐私信息。

那么有什么方法能在解锁的同时保护隐私信息呢?

这里我们用到一个简单的数学小技巧

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值