零知识证明学习(二)—— 零知识证明多项式问题

初始零知识证明

零知识证明(Zero-Knowledge Proofs,ZKP)背景知识,为什么引入多项式(Polynomial)?

简单的证明

这里我们介绍一种简单的证明,先不考虑零知识,交互性等等。

假设Alice有个长度为10的bit数组,Alice需要向Bob证明这个数组的所有bit都为1,实际Alice是知道每一个bit都为1的。这时Bob想要检查这个数组bit是否全为1,他以任意的顺序的抽取其中一个元素,如果这个元素等于1,因此检查正确的概率只有 1 10 \frac{1}{10} 101的概率(这概率有点小啊),如果验证某一个bit为0,则Alice是错误的。

这里我们我们需要考虑一个问题,如何提高Bob检查正确的概率,在某些情况下,当验证者的正确概率达到 50 % 50\% 50%时候才能相信证明者说的是正确的,这也意味着Bob需要至少检查5个bit数组才能满足概率。如果想要正确概率达到 95 % 95\% 95%时,Bob几乎需要检查全部bit是否正确。这时我们可以很大的缺陷,只有检查一定数量的数组才能满足要求,当遇到上万级别的数组,如果还需要使用这种方法,这显然是不切实际的。
在这里插入图片描述

多项式

假设一个多项式为: f ( x ) = x 3 − 6 x 2 + 11 x − 6 f(x)=x^3-6x^2+11x-6 f(x)=x36x2+11x6,其中一个多项式的次数由 x x x最大指数决定,该多项式次数为3。多项式有一个非常好的性质,如果有两个不同的多项式,且最高幂次为 d d d,则该多项式的交点不超过 d d d。例如,我们将上面多项式修改一下为: f ( x ) = x 3 − 6 x 2 + 10 x − 5 f(x)=x^3-6x^2+10x-5

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值