ZKSwap团队解读零知识证明算法之Bulletproofs:Range Proof 1

Bulletproofs,和zk-snark相比,它不需要可信设置;和zk-stark算法相比,它具有较小的proof size。

前言

Bulletproofs,又一个有意思的零知识证明算法,相信读者已经很熟悉它了。和 zk-snark 相比,它不需要可信设置;和 zk-stark 算法相比,它具有较小的 proof size。 根据论文,它有两个方面的应用:

  1. 用于 range proof;
  2. 用于一般算术电路的零知识证明。下面,让我们先看一下 Bulletproofs 是如何高效的实现第一点。

1.png 2.png n 3.png 3. 2n+1个约束转换成 1 个约束 4.png n+1 5.png 4. 三个点积优化成 1 个点积 1 => 令 6.png 7.png 转化成了,在任意一点x,验证者验证多项式值 l(x), r(x), t(x) 满足关系:

< l (x), r (x)> = t (x)

多项式值 l (x), r (x), t (x) 由证明者提供,为了保证 l (x),r (x) well-formed,即:3

需要校验:

4

=> 当且仅当 l/r well-formed,等式成立

为了保证 t (x) well-fromed,即: 8.png 具体的协议流程图如下图所示:

6

总结

9.png

附录

  1. Bulletproofs 论文:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8418611

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

  • 发表于 2021-01-29 10:35
  • 阅读 ( 268 )
  • 学分 ( 3 )
  • 分类:零知识证明

0 条评论

请先 登录 后评论
ZKSwap
ZKSwap

16 篇文章, 121 学分