
Compilateur de langage spécifique au domaine pour créer des circuits arithmétiques ciblant le système de preuve à connaissance nulle RISC Zero, permettant des accélérateurs personnalisés et l'intégration de machines virtuelles.
Zirgen est un compilateur pour un langage spécifique au domaine, également appelé « zirgen », qui crée des circuits arithmétiques pour le système de preuve RISC Zero.
Pour la plupart, les utilisateurs de RISC Zero devraient écrire leurs zkApps en Rust et utiliser notre zkVM RISC-V plutôt que de les construire directement en Zirgen. Parfois, cependant, il est nécessaire ou souhaitable d'écrire des parties d'une application sous forme de circuit arithmétique pour intégrer directement notre système de preuve et obtenir de meilleures performances. En fait, nous avons une version à venir du circuit zkVM écrite en Zirgen ! Zirgen permettra de construire des accélérateurs pour des parties importantes de vos applications, ou même de construire d'autres VM entières qui s'intègrent dans l'écosystème RISC Zero via la composition de preuves. Cela dit, c'est encore un travail en cours et il comporte pas mal de coins rugueux.
Nous avons également une intégration avec Circom en cours -- cela permettra de générer des programmes de circuit de récursion qui vérifient les témoins pour des circuits Circom arbitraires. Cela peut être trouvé ici.
graph TD;
A[Zirgen] --> B[Zirgen Compiler]
C[Circom] --> B
B --> D[Rust code]
B --> E[C++ code]
B --> F[Recursion VM predicates]