Polygon zkEVM工具——PIL和CIRCOM

1. 引言

前序博客有:

2022年8月8日Jordi Baylina(Iden3合伙人,Polygon Hermez zkEVM技术负责人)在Zcon3分享 Tooling for building zkEVM: PIL and Circom - Jordi Baylina at Zcon3

Polygon Hermez 总体架构为:
在这里插入图片描述
其中zkProver总体示意为:
在这里插入图片描述
zkProver内部示意为:
在这里插入图片描述
以Fibonacci序列为例:
在这里插入图片描述
Fibonacci序列(1024个元素)对应的CIRCOM R1CS电路表示为:
在这里插入图片描述
以上CIRCOM R1CS电路对应的Polynomial Identities/State Machine为:
在这里插入图片描述
将以上Polynomial Identities以PIL程序表示为:
在这里插入图片描述
构建pre-processed polynomials,并计算witnesses(为state machine):
在这里插入图片描述
以fibonacci.js和fibonacci.pil构建测试用例:
在这里插入图片描述

2. PIL中的Permutation Check

在这里插入图片描述
在这里插入图片描述

3. PIL中的Plookup

在这里插入图片描述
在这里插入图片描述

4. PIL中的Connection Check(Copy constraints)

在这里插入图片描述
在这里插入图片描述

5. PIL表示PLONK

在这里插入图片描述

6. CIRCOM中的Custom Gates

在这里插入图片描述
CIRCOM中的Custom Gates:

  • 可用作normal templates
  • 与其它模板类似,由CIRCOM生成Witness calculator
  • No constraints are allowed.
  • 所有的custom gates都导出为.r1cs文件。
  • 支持以circom来编写电路,而使用STARK来prove/verify该电路。
  • 当前circom支持的primes有:BN128、BLS-12 381、Goldilocks。

7. pil-STARK

https://github.com/0xPolygonHermez/pil-stark pil-STARK工具的作用:

  • 根据pil生成a STARK proof system。
  • 生成a CIRCOM circuit以verify该STARK。

Demo演示见 Tooling for building zkEVM: PIL and Circom - Jordi Baylina at Zcon3视频第24分钟。

参考资料

[1] 2022年8月8日Jordi Baylina在Zcon3分享 Tooling for building zkEVM: PIL and Circom - Jordi Baylina at Zcon3

猜你喜欢

转载自blog.csdn.net/mutourend/article/details/126261546