
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 à un domaine, également appelé « zirgen », qui crée des circuits arithmétiques pour le système de preuve RISC Zero.
La plupart du temps, 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 certaines parties d'une application sous forme de circuit arithmétique afin de s'intégrer directement à notre système de preuve et d'obtenir de meilleures performances. Les circuits du zkVM RISC Zero lui-même sont écrits en Zirgen. Zirgen permet de construire des accélérateurs pour les parties importantes de vos applications, ou même de construire des VM entièrement différentes qui s'intègrent à l'écosystème RISC Zero grâce à la composition de preuves. Cela dit, c'est encore un travail en cours et il reste pas mal d'aspérités.
Intégration des modifications de circuits dans risc0 et risc0-ethereum
Nous avons également une intégration avec Circom en préparation -- cela permettra de générer des programmes de circuits de récursion qui vérifient les témoins de circuits Circom arbitraires. Cela se trouve ici.
graph TD;
A[Zirgen] --> B[Zirgen Compiler]
C[Circom] --> B
B --> D[Rust code]
B --> E[C++ code]
B --> F[Recursion VM predicates]