零知识证明2|| 技术分析(待续)
April 14th, 2022

一、从多项式开始

尝试先用基本的多项式来科普零知识证明的基本思路:

多项式存在以下的特性,如果多项式f(x)=0存在x=a1和x=a2两个解,那么一定有f(x)=(x-a1)*(x-a2)*h(x),其中h(x)是另一个多项式

现在假设有一个声明者,称他知道多项式p(x)存在两个解 x=1和x=2,但是不愿意透露这个p(x)具体是什么

那么我们怎么验证呢?

以上声明其实等价于:存在一个t(x)=(x-1)*(x-2),使p(x)=t(x)*h(x),验证者知道t(x),但不知道p(x)和h(x)

那么验证者要做的是,随机取一个r,计算t(r),然后要求声明者根据自己的r计算出p(r)和h(r)发过来

如果p(r)除以h(r)等于t(r),那么可以说明这个未知的多项式p(x)确实存在x=1和x=2两个解。

但是注意这个思路有个重要漏洞,声明者是可以算出t(r),然后随便报两个数p(r)和h(r),满足p(r)/h(r)=t(r)

所以进一步的,为了实现零知识证明,我们需要模计算和同态加密来隐藏t(r)。

二、模计算与同态加密

Subscribe to snapp_ye.bit
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from snapp_ye.bit

Skeleton

Skeleton

Skeleton