
Compilador de linguagem específica de domínio para criar circuitos aritméticos direcionados ao sistema de prova de conhecimento zero RISC Zero, permitindo aceleradores personalizados e integração com VM.
Zirgen é um compilador para uma linguagem de domínio específico, também chamada "zirgen", que cria circuitos aritméticos para o sistema de prova RISC Zero.
Na maior parte dos casos, os usuários do RISC Zero devem escrever seus zkApps em Rust e usar nossa RISC-V zkVM em vez de construí-los diretamente em Zirgen. Às vezes, no entanto, é necessário ou desejável escrever partes de uma aplicação como um circuito aritmético para integrar diretamente com nosso sistema de prova e obter melhor desempenho. Os próprios circuitos da RISC Zero zkVM são escritos em Zirgen. O Zirgen torna possível construir aceleradores para partes importantes de suas aplicações, ou até mesmo construir outras VMs completas que se integram ao ecossistema RISC Zero por meio da composição de provas. Dito isso, ainda é um trabalho em andamento e tem algumas arestas a serem aparadas.
Integrando alterações de circuito no risc0 e risc0-ethereum
Também temos uma integração com o Circom em desenvolvimento -- isso tornará possível gerar programas de circuito de recursão que verificam testemunhos para circuitos Circom arbitrários. Isso pode ser encontrado aqui.
graph TD;
A[Zirgen] --> B[Zirgen Compiler]
C[Circom] --> B
B --> D[Rust code]
B --> E[C++ code]
B --> F[Recursion VM predicates]