Skip to content

Latest commit

 

History

History
66 lines (47 loc) · 6.03 KB

plonk.md

File metadata and controls

66 lines (47 loc) · 6.03 KB

plonk初学者指南 (资料汇总)

作者twitter:https://twitter.com/alacheng (头雁 research)

注:本文的背景是之前学习过程中找资料花费了很多时间,并且有的内容好,有的写的不好,消耗了不少事时间,我把之前学习中比较好的,有价值的内容聚合一下,方便后来的学习者学习。

plonk算法的大致流程是:

1 - plonk首先基础逻辑是把程序(电路高级语言程序转化成多项式的过程),也即所谓的算数化

  • 2个步骤,一个是如何表达算数化,plonk主要是有通过门约束和复制约束来表达所有的逻辑,其中门约束有加法门和乘法门,复制约束主要是解决两个节点是否相等的约束问题
  • 把所有门电路都可以转化成QLiai + QRibi + Qoioi + QMiaibi +Qici = 0 形态,在通过多项式插值的方式转化成QL(x)a(x) + QR(x)*b(x) + Qo(x)*o(x) + QM(x)a(x)b(x) +Qc(x) = 0 多项式
  • 复制约束类似方案后面视频教程里都有详细推导过程,都是最终要转化成多项式来进行计算

2 - 转化成多项式后,就需要有prover 要计算承诺的值,并发给Verifier

3 - Verifier 根据公共参数,以及prover发过来的值要做验证

理论学习(这个理论学习还是非常消耗时间的,看兴趣)

论文学习