
Compilatore di linguaggio specifico del dominio per creare circuiti aritmetici destinati al sistema di prova a conoscenza zero RISC Zero, consentendo acceleratori personalizzati e integrazione VM.
Zirgen è un compilatore per un linguaggio specifico del dominio, chiamato anch'esso "zirgen", che crea circuiti aritmetici per il sistema di prova RISC Zero.
Per la maggior parte, gli utenti di RISC Zero dovrebbero scrivere le loro zkApps in Rust e utilizzare la nostra zkVM RISC-V piuttosto che costruirle direttamente in Zirgen. Tuttavia, a volte è necessario o desiderabile scrivere parti di un'applicazione come circuito aritmetico per integrarsi direttamente con il nostro sistema di prova e ottenere prestazioni migliori. In effetti, abbiamo una versione imminente del circuito della zkVM scritta in Zirgen! Zirgen renderà possibile costruire acceleratori per parti importanti delle vostre applicazioni, o persino costruire intere altre VM che si integrano nell'ecosistema RISC Zero attraverso la composizione di prove. Detto questo, è ancora un lavoro in corso e ha diversi spigoli.
Stiamo anche lavorando a un'integrazione con Circom -- questo renderà possibile generare programmi di circuiti di ricorsione che verificano testimoni per circuiti Circom arbitrari. Questo può essere trovato qui.
graph TD;
A[Zirgen] --> B[Zirgen Compiler]
C[Circom] --> B
B --> D[Rust code]
B --> E[C++ code]
B --> F[Recursion VM predicates]