零知识证明 - 基于多项式构造零知识证明

  • Star Li
  • 更新于 2020-02-21 10:54
  • 阅读 5353

理解为什么以及如何基于多项式构造零知识证明,这篇文章讲的比较清楚。虽然文章只讲到了皮诺曹协议,但是足够理解基于多项式构造零知识证明的本质。想深入零知识证明的小伙伴都建议看看。

ht...

理解为什么以及如何基于多项式构造零知识证明,这篇文章讲的比较清楚。虽然文章只讲到了皮诺曹协议,但是足够理解基于多项式构造零知识证明的本质。想深入零知识证明的小伙伴都建议看看。

http://petkus.info/papers/WhyAndHowZkSnarkWorks.pdf

以下是我对这篇文章的理解和总结。原文由浅入深地从一个个简单版本,慢慢推导出实用的证明协议。

null

null

null

null

null

null

null

null

总结:

  1. 零知识证明协议都是建立在多项式基础上。

  2. 多项式分解,提供了一个能证明证明者知道一个满足一定条件多项式的方法。为了能让这种方法工作需要其他一些条件:

  3. 同态加密:随机数以及对应多项式的各个项都能加密的同时,还能进行乘法和加法的计算。同态加密的作用是防止证明者能反推随机数,直接伪造证明。同时还能在加密数据的基础上提供证明者需要的计算。

  4. "alpha对"保证证明者的计算都是在加密数据乘法和加法的基础。也就是说,证明者的计算是基于多项式的。

  5. 双线性映射,能让两个加密数据映射成原始数据乘积的加密结果。

  6. zk的实现反倒简单。在证明数据上进行一个偏移。保证证明者的原始数据不泄漏。

  7. Trusted Setup生成初始的参数。

  8. alpha参数限制多项式形式。beta参数保证多个多项式采用同样的系数。gamma参数防止多项式偏移。

点赞 1
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Star Li
Star Li
Trapdoor Tech创始人,前猎豹移动技术总监,香港中文大学访问学者。