Halo2 FRI Gadget

Posted mutourend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Halo2 FRI Gadget相关的知识,希望对你有一定的参考价值。

1. 引言

Eli Ben-Sasson等人2018年论文《Fast Reed-Solomon Interactive Oracle Proofs of Proximity》中首次引入了名为 “FRI IOP (Fast Reed-Solomon Interactive Oracle Proof of Proximity)” 的具有特定degree bound的单变量多项式承诺方案,其包含了2个阶段:

  • 1)承诺阶段:Prover首先,对a Merkle tree of ( 基于某domain的)polynomial evaluations 进行commit。然后在后续的 log ⁡ n \\log n logn轮为每轮生成新的evaluation commitments,在每轮中,相应的 domain size 和 polynomial degree都将依次reduced by a power of two(因此将该过程称为folding过程)。
  • 2)query阶段:Verifier选择random index,请求Prover提供每一轮对应该random index的evaluation值,以及相应的authentication paths。
    Verifier使用所收到的evaluations subset,即可确认Prover在folding流程中是正确执行的。
    Verifier的runtime为 log ⁡ ( evaluation_domain_size ) \\log(\\textevaluation\\_domain\\_size) log(evaluation_domain_size),query流程可重复任意次数,直到达到指定level的soundness。

实现Halo2 FRI Gadget有助于推动Halo2的递归速度。
开源代码见:

当前该库:

  • 支持FRI verifier circuit for BN254 scalar field(未来将支持Goldilocks)。

当前在M1上,对于BN254性能情况为:【BN254要慢很多】

  • domain size为 2 15 2^15 215,28次FRI query,remainder degree为16,生成proof用时约3秒;
  • 当domain size增加到 2 17 2^17 217的话,用时约20秒。

参考资料

[1] Halo2 FRI Gadget

以上是关于Halo2 FRI Gadget的主要内容,如果未能解决你的问题,请参考以下文章

ZCash Halo2 代码解析

Halo2学习笔记——设计之Proof和Field实现

Halo2 学习笔记——设计之Proving system之Inner product argument

Halo2 学习笔记——Gadgets 之 SHA-256

Halo2 学习笔记——设计之Proving system之Lookup argument

Halo2学习笔记——设计之Proving system