
RISC Zero 영지식 증명 시스템을 대상으로 산술 회로를 생성하기 위한 도메인 특화 언어 컴파일러로, 사용자 정의 가속기와 VM 통합을 지원합니다.
Zirgen은 "zirgen"이라고도 불리는 도메인 특화 언어용 컴파일러로, RISC Zero 증명 시스템을 위한 산술 회로를 생성합니다.
대부분의 경우 RISC Zero 사용자는 zkApp을 Rust로 작성하고 RISC-V zkVM을 사용해야 하며, Zirgen에서 직접 빌드하지 않아야 합니다. 하지만 때로는 애플리케이션의 일부를 산술 회로로 작성하여 증명 시스템과 직접 통합하고 더 나은 성능을 얻는 것이 필요하거나 바람직할 수 있습니다. 실제로 우리는 Zirgen으로 작성된 zkVM 회로의 차기 버전을 준비 중입니다! Zirgen을 사용하면 애플리케이션의 중요한 부분을 위한 가속기를 구축하거나, 증명 구성(proof composition)을 통해 RISC Zero 생태계에 통합되는 완전히 다른 VM을 구축할 수도 있습니다. 그렇긴 하지만, 이는 아직 작업 진행 중이며 꽤 많은 거친 부분이 있습니다.
또한 Circom과의 통합도 작업 중입니다. 이를 통해 임의의 Circom 회로에 대한 위트니스(witness)를 검증하는 재귀 회로 프로그램을 생성할 수 있게 됩니다. 이는 여기에서 확인할 수 있습니다.
graph TD;
A[Zirgen] --> B[Zirgen Compiler]
C[Circom] --> B
B --> D[Rust code]
B --> E[C++ code]
B --> F[Recursion VM predicates]