Open Demian101 opened 10 months ago
"^ 为共学增加一些topic:我们想以Halo2作为一款编译器为视角,研究从算数化到最后proof generation的流程,还有一些外围的部件。看看大家有没有兴趣参与其中? 我觉得可以先以slides方式做demonstration,然后组织成为一个系列文集。"
"^ To add some topics for collaborative learning: We want to take a compiler perspective on Halo 2, studying the process from arithmeticization to final proof generation, as well as some peripheral components. Let's see if anyone is interested in participating? I think we can start with a demonstration in slides format and then organize it into a series of articles."
https://palm-isthmus-1e4.notion.site/Halo2-As-A-Compiler-Series-21f07032ca35450fad310de9aa1feee6
Q: cool,对标circom+snarkjs工具链? A: halo2 + pse/scroll ‘s snark verifier
然后就还有一些零零散散的库 我觉得研究生态系统也挺有趣的 看看大家怎么使用halo2做自己的需求
z2o-k7e , 很关键! 尤其是各种 library, 我个人时间有限,无法做完全部调研,有人能加入就再好不过了,然后可以也放到那个什么,名字巨难念的那个public domian里面
ref: https://hackmd.io/OKIEOMF-TQqKaJIzYzGLQQ
From the above figure, we could find some analogy between a zk prove system and a compiler for general purpose.
Frontend: What scope can ‘Halo2 compiler’ cover? How is a gate constraint converted to polynomial, then being evaluated on domain? What is the ‘IR’? In this session we will demonstrate a common job that syntax parser does: parse a certain format then transform it to a canonical expression, here, is SAT problem.
Backend: Commitment Scheme, we have KZG10 or IPA. What’s the common API they are based on? Is there possibility to extend to other scheme (Ponky3: Yes, but any room for Nova-alike scheme?) Here we will check how an IOP being implemented, especially focusing on the trait — what kind of properties they are describing? Is the module is flexible enough to extend to other schemes?
Plugin: What other library is working with halo2? Here we will examine Halo2 ecosystem including but not limited to halo2wrong, gadgets(poseidon, ec), code-gen tool like snark-verifier, or even a full project like Scroll. Towards higher order: zkWASM. In zkWASM, WASM code is input, a real code parse and stack machine simulator become frontend, and now, Halo2 itself is a giant backend. Here we will go through how a WASM op could be translated to a circuit, thus filling in the what Halo2 is capable.
Optimization: hardware acceleration. May include, EC-GPU, GPU caching, parallel evaluation, an so on.
@Demian101 : Hi Frank ,看到你已经写完了 Frontend 这一 Chapter 我理解是你有一个大体的文章框架(Frontend->Backend->toolings),我们可以补充一些东西
你提到研究各种 library,就是指让大家根据各自的兴趣,去 research 下 halo2 的生态组件,然后作为一些参考资料,不断补充到这个框架里面是嘛 ~
感觉有点像 https://halo2.club 的扩充版 [Wow]
@ Frank:
对的,感兴趣的话我们可以列一下什么和halo2结合比较紧密的库。
@Frank Jz Liu: "Halo 2" series articles (WIP), corrections welcome.
https://hackmd.io/OKIEOMF-TQqKaJIzYzGLQQ https://hackmd.io/c6Yj4qmNTsaRADs8b4IsBQ