理解为什么以及如何基于多项式构造零知识证明,这篇文章讲的比较清楚。虽然文章只讲到了皮诺曹协议,但是足够理解基于多项式构造零知识证明的本质。想深入零知识证明的小伙伴都建议看看。
ht...
理解为什么以及如何基于多项式构造零知识证明,这篇文章讲的比较清楚。虽然文章只讲到了皮诺曹协议,但是足够理解基于多项式构造零知识证明的本质。想深入零知识证明的小伙伴都建议看看。
http://petkus.info/papers/WhyAndHowZkSnarkWorks.pdf
以下是我对这篇文章的理解和总结。原文由浅入深地从一个个简单版本,慢慢推导出实用的证明协议。
总结:
零知识证明协议都是建立在多项式基础上。
多项式分解,提供了一个能证明证明者知道一个满足一定条件多项式的方法。为了能让这种方法工作需要其他一些条件:
同态加密:随机数以及对应多项式的各个项都能加密的同时,还能进行乘法和加法的计算。同态加密的作用是防止证明者能反推随机数,直接伪造证明。同时还能在加密数据的基础上提供证明者需要的计算。
"alpha对"保证证明者的计算都是在加密数据乘法和加法的基础。也就是说,证明者的计算是基于多项式的。
双线性映射,能让两个加密数据映射成原始数据乘积的加密结果。
zk的实现反倒简单。在证明数据上进行一个偏移。保证证明者的原始数据不泄漏。
Trusted Setup生成初始的参数。
alpha参数限制多项式形式。beta参数保证多个多项式采用同样的系数。gamma参数防止多项式偏移。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!