
RISC Zero जीरो-नॉलेज प्रूफ सिस्टम के लिए अंकगणितीय सर्किट बनाने हेतु डोमेन-विशिष्ट भाषा संकलक, जो कस्टम एक्सेलरेटर और VM एकीकरण को सक्षम बनाता है।
Zirgen एक डोमेन-विशिष्ट भाषा के लिए एक कंपाइलर है, जिसे "zirgen" भी कहा जाता है, जो RISC Zero प्रूफ सिस्टम के लिए अंकगणितीय सर्किट बनाता है।
अधिकांश भाग के लिए, RISC Zero के उपयोगकर्ताओं को अपने zkApps को Rust में लिखना चाहिए और हमारे RISC-V zkVM का उपयोग करना चाहिए, न कि उन्हें सीधे Zirgen में बनाना। हालांकि, कभी-कभी किसी एप्लिकेशन के कुछ हिस्सों को अंकगणितीय सर्किट के रूप में लिखना आवश्यक या वांछनीय होता है ताकि हमारे प्रूफ सिस्टम के साथ सीधे एकीकृत किया जा सके और बेहतर प्रदर्शन प्राप्त किया जा सके। वास्तव में, हमारे पास Zirgen में लिखित zkVM सर्किट का एक आगामी संस्करण है! Zirgen आपके एप्लिकेशन के महत्वपूर्ण भागों के लिए एक्सेलरेटर बनाना संभव बनाएगा, या यहां तक कि संपूर्ण अन्य VM बनाना जो प्रूफ कम्पोज़ीशन के माध्यम से RISC Zero इकोसिस्टम में एकीकृत होते हैं। ऐसा कहने के बाद, यह अभी भी प्रगति पर है और इसमें काफी कुछ खुरदुरे किनारे हैं।
हमारे पास 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]