
Компилятор предметно-ориентированного языка для создания арифметических схем, ориентированных на систему доказательств с нулевым разглашением RISC Zero, обеспечивающий возможность создания пользовательских ускорителей и интеграции с виртуальной машиной.
Zirgen — это компилятор для предметно-ориентированного языка, также называемого «zirgen», который создаёт арифметические схемы для системы доказательств RISC Zero.
По большей части пользователям RISC Zero следует писать свои zkApps на Rust и использовать нашу RISC-V zkVM, а не создавать их напрямую на Zirgen. Однако иногда необходимо или желательно писать части приложения в виде арифметической схемы, чтобы напрямую интегрироваться с нашей системой доказательств и достичь лучшей производительности. Собственные схемы RISC Zero zkVM написаны на Zirgen. Zirgen позволяет создавать ускорители для важных частей ваших приложений или даже целые другие виртуальные машины, которые интегрируются в экосистему RISC Zero посредством композиции доказательств. При этом стоит отметить, что это всё ещё незавершённая работа, и в ней довольно много шероховатостей.
Интеграция изменений схем в risc0 и risc0-ethereum
У нас также в разработке находится интеграция с Circom — это позволит генерировать программы схем рекурсии, которые проверяют свидетелей для произвольных схем Circom. Это можно найти здесь.
graph TD;
A[Zirgen] --> B[Zirgen Compiler]
C[Circom] --> B
B --> D[Rust code]
B --> E[C++ code]
B --> F[Recursion VM predicates]