
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 maioria das vezes, os usuários do RISC Zero devem escrever seus zkApps em Rust e usar nosso zkVM RISC-V em vez de construí-los diretamente no Zirgen. No entanto, às vezes é 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. De fato, temos uma versão futura do circuito zkVM escrita em Zirgen! O Zirgen tornará possível construir aceleradores para partes importantes de suas aplicações, ou até mesmo construir outras VMs completas que se integrem ao ecossistema RISC Zero por meio de composição de provas. Dito isso, ainda é um trabalho em andamento e tem algumas arestas a serem aparadas.
Também temos uma integração com Circom em desenvolvimento -- isso tornará possível gerar programas de circuito de recursão que verificam testemunhas 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]