Zirgen 是一种领域特定语言(也称作 "zirgen")的编译器,用于为 RISC Zero 证明系统创建算术电路。
大多数情况下,RISC Zero 的用户应该使用 Rust 编写他们的 zkApp,并使用我们的 RISC-V zkVM,而不是直接用 Zirgen 构建它们。然而,有时有必要或希望将应用程序的一部分编写为算术电路,以直接集成到我们的证明系统中并获得更好的性能。事实上,我们即将推出一个用 Zirgen 编写的 zkVM 电路版本!Zirgen 将使得为应用程序的重要部分构建加速器成为可能,甚至构建整个其他虚拟机,通过证明组合集成到 RISC Zero 生态系统中。话虽如此,它仍在开发中,还存在不少粗糙的边缘。
我们还正在开发与 Circom 的集成——这将使得生成能够验证任意 Circom 电路证明的递归电路程序成为可能。该集成可以在此处找到。
graph TD;
A[Zirgen] --> B[Zirgen Compiler]
C[Circom] --> B
B --> D[Rust code]
B --> E[C++ code]
B --> F[Recursion VM predicates]