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

本文介绍了零知识证明的概念,通过一个简单的证明例子说明了证明者如何向验证者证明一个数组的所有bit都为1,然后深入探讨了多项式的性质,特别是多项式交点的特性,阐述了如何利用多项式提高验证的效率和准确性。最后,指出在零知识证明中,多项式是核心构建块,尤其是在zk-SNARKs中的关键作用。
摘要由CSDN通过智能技术生成

初始零知识证明

零知识证明(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值