zkGalaxy के लिए एक विकासकर्ता की मार्गदर्शिका

zkGalaxy के लिए एक विकासकर्ता की मार्गदर्शिका

परिचय

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
प्रदर्शन और अनुकूलता के बीच zkEVMs के लिए विटालिक का समझौता

यह zkEVM के समर्थन के लिए अलग-अलग दृष्टिकोणों के लिए एक अत्यंत उपयोगी अनुमान है। हालाँकि, zkEVM शून्य ज्ञान अनुप्रयोगों के निर्माण के सभी संभावित तरीकों का एक उपसमूह है। एक प्रोग्रामर के लिए जो zk गणना के अद्वितीय गुणों का लाभ उठाना चाहता है संक्षिप्तता, शून्य ज्ञान और शुद्धता, एक zkEVM सर्वोत्तम विकल्प नहीं हो सकता है। डेवलपर टूल का पूरा सेट तैयार करके, मुझे एक मार्गदर्शिका प्रदान करने की आशा है जो आपके एप्लिकेशन के लिए सही zk स्टैक के आसपास निर्णय लेने की प्रक्रिया में सहायता करेगी।

पिछले एक या दो वर्षों में, zk टूल्स में भारी प्रगति हुई है। वे एक ऐसे बिंदु पर पहुंच रहे हैं, जहां सामान्य सॉफ्टवेयर डेवलपर डराने वाले अंतर्निहित गणित और इंजीनियरिंग की गहरी समझ के बिना zk के शक्तिशाली गुणों का लाभ उठा सकते हैं। दूसरी ओर, बिजली-उपयोगकर्ताओं के लिए उपकरणों का प्रसार हुआ है जो zk विशेषज्ञों को zk स्टैक पर बेहद अच्छा नियंत्रण देता है।

अमूर्त जटिलता की शक्ति

विशेषज्ञ उत्पादकता को अधिकतम करने के लिए आधुनिक सॉफ्टवेयर अमूर्तता की अनगिनत परतों पर बनाया गया है। इंजीनियरिंग में अमूर्तता के कई फायदे हैं जो कुछ हद तक सहज हैं - एक वेब डेवलपर को यह समझने की आवश्यकता नहीं है कि ऑपरेटिंग सिस्टम गहराई से कैसे काम करते हैं। 

अच्छी, पुन: प्रयोज्य अमूर्त परतों के निर्माण की कुंजी एक परत की जटिलता को समाहित करना है और फिर उपयोग करने के लिए स्टैक में उच्चतर परतों के लिए सरल, फिर भी अभिव्यंजक इंटरफेस प्रदान करना है। सही ढंग से किया गया, यह विशेषज्ञता और ज्ञान के विभिन्न क्षेत्रों वाले डेवलपर्स को स्टैक में उपयोगी उपकरण बनाने में सक्षम बनाता है।

इसमें कोई आश्चर्य की बात नहीं है, ये समान सिद्धांत zk सिस्टम पर लागू होते हैं, और ये अमूर्त परतें zk नौसिखिए के लिए इतनी परिपक्व हो रही हैं कि वे इनका उपयोग करना शुरू कर सकें और आज अनुप्रयोगों का निर्माण कर सकें।

ज़ेडके टेक स्टैक
प्रत्येक परत पर कुछ उदाहरण उपकरण/प्रौद्योगिकियों के साथ zk स्टैक

निम्न-स्तरीय zk विकास

आर्कवर्क्स-आरएस

आर्कवर्क्स-आरएस रस्ट लाइब्रेरीज़ का एक पारिस्थितिकी तंत्र है जो zkSNARK एप्लिकेशन के उप-घटकों का कुशल और सुरक्षित कार्यान्वयन प्रदान करता है। आर्कवर्क्स डेवलपर्स को अन्य मौजूदा पुस्तकालयों के साथ समानताओं को फिर से लागू किए बिना zk एप्लिकेशन के लिए सॉफ़्टवेयर स्टैक को अनुकूलित करने के लिए आवश्यक इंटरफ़ेस प्रदान करता है।

आर्कवर्क्स से पहले, एक नया zk एप्लिकेशन बनाने का एकमात्र तरीका स्क्रैच से सब कुछ बनाना था। कस्टम-निर्मित, लंबवत एकीकृत उपकरणों की तुलना में आर्कवर्क्स-आरएस के प्रमुख लाभ लचीलेपन का स्तर, डुप्लिकेट इंजीनियरिंग में कमी और ऑडिटिंग प्रयास में कमी हैं। घटकों के बीच आर्कवर्क्स की समझदार इंटरफ़ेस लाइनें अपग्रेडेबिलिटी की गति की अनुमति देती हैं जो zk प्रौद्योगिकियों में नवाचार की तेज गति के बीच स्टैक को प्रासंगिक बनाए रख सकती है, बिना टीमों को स्क्रैच से सब कुछ फिर से बनाने के लिए मजबूर किए बिना।

यह किसके लिए है?

आर्कवर्क्स उन परियोजनाओं के लिए है जिन्हें संपूर्ण zk सॉफ़्टवेयर स्टैक पर अच्छे नियंत्रण की आवश्यकता होती है, लेकिन वे सभी अनावश्यक टुकड़ों को खरोंच से नहीं बनाना चाहते हैं। यदि आप सर्किट डीएसएल के एक कस्टम संस्करण पर विचार कर रहे हैं, उदाहरण के लिए, आप एक नए प्रूफ सिस्टम का प्रोटोटाइप बना रहे हैं, लेकिन प्रतिबद्धता योजना या संबंधित अण्डाकार वक्र के बारे में अनिश्चित हैं, तो आर्कवर्क्स आपको साझा इंटरफेस के साथ कई विकल्पों के बीच तेजी से स्वैप करने की अनुमति देगा। खरोंच से शुरू करने की तुलना में.

फ़ायदे

  • प्रतिरूपकता के माध्यम से लचीलापन
  • कोड का कम दोहराव
    • कम इंजीनियरिंग लागत
    • ऑडिट/बग सतह क्षेत्र में कमी
  • किसी भी घटक को प्रमुख रिफैक्टरिंग के बिना अपग्रेड करें
  • तेजी से विकसित हो रहे zk वातावरण में नए प्राइमेटिव के साथ प्रयोग करना आसान है

नुकसान

  • संपूर्ण सॉफ़्टवेयर स्टैक की गहरी समझ की आवश्यकता है
    • अगर ठीक से न समझा जाए तो बहुत अधिक नियंत्रण से फ़ुट गन का खतरा हो सकता है
  • दानेदार नियंत्रण के लिए स्टैक के सभी स्तरों पर विशेषज्ञता की आवश्यकता होती है
    • आर्कवर्क्स कुछ समझदार डिफ़ॉल्ट प्रदान करता है।

zk डोमेन विशिष्ट भाषाएँ (DSL)

कुछ गणनाओं के बारे में प्रमाण बनाने के लिए, पहले इस गणना को ऐसे रूप में व्यक्त किया जाना चाहिए जिसे zkSNARK सिस्टम समझ सके। कई डोमेन विशिष्ट भाषाओं ने प्रोग्रामिंग भाषाएं बनाई हैं जो एप्लिकेशन डेवलपर्स को इस तरह से अपनी गणना व्यक्त करने की अनुमति देती हैं। इसमे शामिल है एज़्टेक नॉयर, स्टार्कनेट का काहिरासर्कोमज़ोक्रेट्स, और एलेओ का सिंह राशि दूसरों के बीच में। अंतर्निहित प्रमाण प्रणाली और गणितीय विवरण आम तौर पर एप्लिकेशन डेवलपर के सामने उजागर नहीं होते हैं।

डेवलपर अनुभव

zkApp डेवलपर्स को अपने प्रोग्राम को डोमेन-विशिष्ट भाषाओं में लिखने में कुशल होना चाहिए। इनमें से कुछ भाषाएँ काफी हद तक परिचित प्रोग्रामिंग भाषाओं की तरह दिखती हैं, जबकि अन्य को सीखना काफी कठिन हो सकता है। आइए इनमें से कुछ को तोड़ें:

काहिरा - स्टार्कवेयर डीएसएल स्टार्कनेट पर ऐप्स बनाने के लिए आवश्यक है। काहिरा-विशिष्ट असेंबली भाषा में संकलित किया गया है जिसकी व्याख्या काहिरा zkVM द्वारा की जा सकती है।

ज़ोक्रेट्स - ज़ोक्रेट्स सर्किट लिखने के लिए उच्च स्तरीय भाषा सहित सामान्य SNARK आवश्यकताओं के लिए एक टूलकिट है। ज़ोक्रेट्स में कर्व्स, प्रोविंग स्कीम और बैकएंड के आसपास कुछ लचीलापन भी है, जो डेवलपर्स को सरल सीएलआई तर्क द्वारा हॉट-स्वैप की अनुमति देता है।

सर्कोम - सरकॉम सर्किट के निर्माण के लिए एक उद्देश्य-निर्मित भाषा है। वर्तमान में, यह उत्पादन में सर्किट के लिए वास्तविक भाषा है। भाषा विशेष रूप से एर्गोनोमिक नहीं है. भाषा ही आपको इस तथ्य से पूरी तरह अवगत कराती है कि आप सर्किट लिख रहे हैं।

सिंह राशि - लियो को एलेओ ब्लॉकचेन के लिए भाषा के रूप में विकसित किया गया था। लियो में कुछ रस्ट जैसा सिंटैक्स है और इसे विशेष रूप से ब्लॉकचेन के अंदर राज्य परिवर्तन के लिए बनाया गया है।

नोयर - जंग से प्रेरित वाक्यविन्यास। इसका निर्माण भाषा के बजाय आईआर के इर्द-गिर्द किया गया है, जिसका अर्थ है कि इसमें एक मनमाना फ्रंटएंड हो सकता है। 

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
एज़्टेक नॉयर संकलन स्टैक, विशेष रूप से, मॉड्यूलर वास्तुकला है

यह किसके लिए है?

कोई भी एप्लिकेशन डेवलपर जो अपने एप्लिकेशन में zk के अद्वितीय गुणों का लाभ उठाना चाहता है। इनमें से कुछ भाषाओं का युद्ध परीक्षण किया गया है और ZCash और Starknet जैसी श्रृंखलाओं के माध्यम से अरबों डॉलर उनमें प्रवाहित हो रहे हैं। हालाँकि जिन परियोजनाओं पर हम चर्चा करेंगे उनमें से कुछ उत्पादन उपयोग के लिए बिल्कुल तैयार नहीं हैं, इनमें से किसी एक भाषा में अपने सर्किट लिखना वर्तमान में सबसे अच्छी रणनीति है, जब तक कि आपको आर्कवर्क्स जैसे टूलकिट द्वारा प्रदान किए जाने वाले बेहतर नियंत्रण की आवश्यकता न हो।

फ़ायदे

  • उपयोगकर्ताओं को अंतर्निहित zk विवरण को समझने की आवश्यकता नहीं है
  • आज उपलब्ध है कुछ उत्पादन अनुभव के साथ
  • श्रृंखला पर सत्यापन योग्य
  • पारिस्थितिकी तंत्र अज्ञेयवादी

नुकसान

  • उपयोगकर्ताओं को एक नया डीएसएल सीखने की जरूरत है
  • इनमें से प्रत्येक भाषा के लिए सिल्ड टूलींग और समर्थन
  • अंतर्निहित सिद्ध स्टैक पर बहुत कम या कोई नियंत्रण नहीं (अभी के लिए)

ZkEVM का प्राथमिक लक्ष्य एथेरियम राज्य संक्रमण लेना और शुद्धता के संक्षिप्त शून्य ज्ञान प्रमाण का उपयोग करके इसकी वैधता साबित करना है। जैसा कि विटालिक की पोस्ट में बताया गया है, सूक्ष्म अंतर और संबंधित ट्रेड-ऑफ के साथ ऐसा करने के कई तरीके हैं। 

इन सभी के बीच मुख्य तकनीकी अंतर यह है कि भाषा स्टैक में गणना को एक रूप (अंकगणितीकरण) में परिवर्तित किया जाता है जिसका उपयोग एक सिद्ध प्रणाली में किया जा सकता है। कुछ zkEVM में, यह उच्च-स्तरीय भाषाओं (सॉलिडिटी, वाइपर, यूल) पर होता है, जबकि अन्य दृष्टिकोण ईवीएम को ऑपकोड स्तर तक सभी तरह से साबित करने का प्रयास करते हैं। विटालिक की पोस्ट में इन दृष्टिकोणों के बीच के व्यापार को गहराई से कवर किया गया था, लेकिन मैं इसे एक वाक्य में संक्षेप में बताऊंगा: स्टैक में रूपांतरण/अंकगणितीकरण जितना कम होगा, प्रदर्शन जुर्माना उतना ही बड़ा होगा।

ईवीएम ऑपकोड को zk में साबित करना महंगा क्यों है?

वर्चुअल मशीन के लिए प्रमाण बनाने में मुख्य चुनौती यह है कि सर्किट का आकार प्रत्येक निष्पादित निर्देश के लिए सभी संभावित निर्देशों के आकार के अनुपात में बढ़ता है। ऐसा इसलिए होता है क्योंकि सर्किट को नहीं पता होता है कि प्रत्येक प्रोग्राम में कौन से निर्देश निष्पादित किए जाएंगे, इसलिए उसे उन सभी का समर्थन करने की आवश्यकता है।

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
सार्वभौमिक सर्किट में, प्रत्येक निष्पादित निर्देश की लागत सभी समर्थित निर्देशों के योग के समानुपाती होती है।

व्यवहार में इसका मतलब यह है कि आप सबसे महंगे संभावित निर्देश के लिए (प्रदर्शन लागत में) भुगतान करते हैं, तब भी जब आप केवल सबसे सरल निर्देश निष्पादित कर रहे हों। इससे सामान्यीकरण और प्रदर्शन के बीच सीधा व्यापार बंद हो जाता है - जैसे ही आप सामान्यीकरण के लिए अधिक निर्देश जोड़ते हैं, आप इसके लिए भुगतान करते हैं प्रत्येक निर्देश आप साबित करें!

यह यूनिवर्सल सर्किट के साथ एक मूलभूत समस्या है, लेकिन प्रौद्योगिकियों में नए विकास आईवीसी (वृद्धिशील सत्यापन योग्य गणना) की तरह, गणना को छोटे-छोटे हिस्सों में तोड़कर इस सीमा को सुधारा जा सकता है, जिनमें से प्रत्येक में विशेष, छोटे उप-सर्किट होते हैं।

आज के zkEVM कार्यान्वयन इस मुद्दे के प्रभाव को कम करने के लिए विभिन्न रणनीतियों का उपयोग करते हैं... उदाहरण के लिए, zkSync मुख्य निष्पादन साबित करने वाले सर्किट से अधिक महंगे संचालन (ज्यादातर क्रिप्टोग्राफ़िक पूर्व-संकलन जैसे हैश और ईसीडीएसए) को अलग-अलग सर्किट में निकाल देता है जिन्हें एक साथ एकत्रित किया जाता है। स्नार्क रिकर्सन के माध्यम से समाप्त करें। zkSync ने यह दृष्टिकोण तब अपनाया जब उन्हें एहसास हुआ कि उनकी अधिकांश लागत कुछ जटिल निर्देशों से आ रही थी।

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
लेन-देन लागत पर कुछ महंगे परिचालनों का प्रभुत्व है।

मूल रूप से, अधिक ईवीएम-समकक्ष अनुदेश सेट को साबित करना अधिक महंगा होने का कारण यह है कि ईवीएम को zk गणनाओं के लिए डिज़ाइन नहीं किया गया था। स्टैक में पहले ईवीएम को छोड़ने से zkEVM को निर्देश सेट पर चलने की अनुमति मिलती है जो zk के लिए अधिक अनुकूलित होते हैं, और इस प्रकार साबित करना सस्ता होता है।

यह किसके लिए है?

ZkEVM के लिए आदर्श ग्राहक स्मार्ट अनुबंध एप्लिकेशन हैं जिन्हें L1 एथेरियम पर उपलब्ध लेनदेन की तुलना में सस्ते लेनदेन के ऑर्डर की आवश्यकता होती है। जरूरी नहीं कि इन डेवलपर्स के पास शुरुआत से zk एप्लिकेशन लिखने के लिए विशेषज्ञता या बैंडविड्थ हो। इसलिए, वे अपने एप्लिकेशन को सॉलिडिटी जैसी उच्च-स्तरीय भाषाओं में लिखना पसंद करते हैं जिनसे वे परिचित हैं। 

इतनी सारी टीमें इसे क्यों बना रही हैं?

स्केलिंग एथेरियम वर्तमान में zk प्रौद्योगिकी का सबसे अधिक मांग वाला अनुप्रयोग है।

zkEVM एक एथेरियम स्केलिंग समाधान है जो L1 dApp डेवलपर्स को प्रतिबंधित करने वाली भीड़ की समस्या को बिना किसी रुकावट के कम करता है।

डेवलपर अनुभव

ZkEVM का लक्ष्य एक डेवलपर अनुभव का समर्थन करना है जो वर्तमान एथेरियम विकास के जितना करीब हो सके। पूर्ण सॉलिडिटी समर्थन का अर्थ है कि टीमों को एकाधिक कोडबेस बनाने और बनाए रखने की आवश्यकता नहीं है। इसे पूरी तरह से करना कुछ हद तक अव्यावहारिक है क्योंकि उचित समय में उचित आकार के प्रमाण उत्पन्न करने में सक्षम होने के लिए zkEVM को कुछ अनुकूलता का व्यापार करने की आवश्यकता होती है।

त्वरित केस अध्ययन: zkSync बनाम स्क्रॉल

zkSync और स्क्रॉल के बीच प्राथमिक अंतर यह है कि स्टैक में वे कहां/कब अंकगणित करते हैं - यानी, जहां वे सामान्य ईवीएम संरचनाओं से SNARK-अनुकूल प्रतिनिधित्व में परिवर्तित होते हैं। zkSync के लिए, ऐसा तब होता है जब वे YUL बाइटकोड को अपने स्वयं के कस्टम zk निर्देश सेट में परिवर्तित करते हैं। स्क्रॉल के लिए, यह अंत में होता है, जब वास्तविक निष्पादन ट्रेस वास्तविक ईवीएम ऑपकोड के साथ उत्पन्न होता है।

तो, zkSync के लिए, zk बाइटकोड उत्पन्न होने तक सब कुछ ईवीएम के साथ इंटरैक्ट करने जैसा ही है। स्क्रॉल के लिए, वास्तविक बाइटकोड निष्पादित होने तक सब कुछ समान है। यह एक सूक्ष्म अंतर है, जो प्रदर्शन को समर्थन से बदल देता है। उदाहरण के लिए, zkSync बॉक्स से बाहर डिबगर जैसे ईवीएम बाइटकोड टूल का समर्थन नहीं करेगा, क्योंकि यह पूरी तरह से अलग बाइटकोड है। जबकि स्क्रॉल को निर्देश सेट से अच्छा प्रदर्शन प्राप्त करने में अधिक कठिनाई होगी, वह zk के लिए डिज़ाइन नहीं किया गया था। दोनों रणनीतियों के फायदे और नुकसान हैं और अंततः कई बाहरी कारक हैं जो उनकी सापेक्ष सफलता को प्रभावित करेंगे।

zkLLVM सर्किट कंपाइलर

💡 इसके नामकरण के बावजूद, एलएलवीएम एक वीएम (वर्चुअल मशीन) नहीं है। एलएलवीएम कंपाइलर टूल्स के एक सेट का नाम है जो एक मध्यवर्ती प्रतिनिधित्व (आईआर) द्वारा एंकर किया गया है जो भाषा अज्ञेयवादी है।

=शून्य; फाउंडेशन (नाम के बारे में, यह एक है एसक्यूएल इंजेक्शन मजाक यदि आप सोच रहे हैं) एक कंपाइलर का निर्माण कर रहा है जो किसी भी एलएलवीएम फ्रंटएंड भाषा को एक मध्यवर्ती प्रतिनिधित्व में परिवर्तित कर सकता है जिसे SNARK के भीतर सिद्ध किया जा सकता है। ZkLLVM को मौजूदा LLVM बुनियादी ढांचे के विस्तार के रूप में तैयार किया गया है, जो एक उद्योग-मानक टूलचेन है जो रस्ट, C, C++ आदि जैसी कई उच्च-स्तरीय भाषाओं का समर्थन करता है।

यह कैसे काम करता है

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
ZkLLVM आर्किटेक्चर का रफ स्केच

एक उपयोगकर्ता जो कुछ गणना सिद्ध करना चाहता है वह बस उस गणना को C++ में लागू करेगा। ZkLLVM इस उच्च-स्तरीय स्रोत कोड को लेता है जो उनके संशोधित क्लैंग कंपाइलर (वर्तमान में C++) द्वारा समर्थित है और सर्किट के कुछ मध्यवर्ती प्रतिनिधित्व उत्पन्न करता है। इस बिंदु पर, सर्किट सिद्ध होने के लिए तैयार है, लेकिन उपयोगकर्ता कुछ गतिशील इनपुट के आधार पर सर्किट को सिद्ध करना चाह सकता है। गतिशील इनपुट को संभालने के लिए, zkLLVM में एक अतिरिक्त घटक होता है जिसे असाइनर कहा जाता है, जो सभी इनपुट और गवाहों के साथ एक असाइनमेंट टेबल बनाता है जो पूरी तरह से पूर्व-संसाधित होता है और सर्किट के साथ सिद्ध होने के लिए तैयार होता है।

प्रमाण उत्पन्न करने के लिए ये दोनों घटक आवश्यक हैं। एक उपयोगकर्ता सैद्धांतिक रूप से स्वयं प्रमाण तैयार कर सकता है, लेकिन चूंकि यह कुछ हद तक विशिष्ट कम्प्यूटेशनल कार्य है, इसलिए वे इसे करने के लिए किसी अन्य व्यक्ति को, जिसके पास हार्डवेयर है, भुगतान करना चाह सकते हैं। इस प्रतिपक्ष खोज तंत्र के लिए, =शून्य; फाउंडेशन ने एक 'प्रूफ मार्केट' भी स्थापित किया है जहां प्रोवर्स उन उपयोगकर्ताओं के लिए गणना साबित करने की होड़ करते हैं जो उन्हें ऐसा करने के लिए भुगतान करेंगे। यह मुक्त बाज़ार गतिशीलता सबसे मूल्यवान सिद्ध कार्यों को अनुकूलित करने वाले सिद्धकर्ताओं को प्रेरित करेगी।

व्यापार नापसंद

चूँकि सिद्ध किया जाने वाला प्रत्येक कम्प्यूटेशनल कार्य अद्वितीय होता है और एक अलग सर्किट उत्पन्न करता है, इसलिए अनंत संख्या में सर्किट होते हैं जिन्हें संभालने में सक्षम होने के लिए प्रोवर्स की आवश्यकता होगी। यह मजबूर सामान्यीकरण व्यक्तिगत सर्किट के अनुकूलन को कठिन बना देता है। प्रूफ़ बाज़ार की शुरूआत उन सर्किटों पर विशेषज्ञता की अनुमति देती है जिन्हें बाज़ार मूल्यवान मानता है। इस बाजार के बिना, इस प्राकृतिक कोल्ड स्टार्ट समस्या के कारण इस सर्किट को अनुकूलित करने के लिए किसी विशेषज्ञ को समझाना चुनौतीपूर्ण होगा।

अन्य समझौता क्लासिक अमूर्तता बनाम नियंत्रण है। जो उपयोगकर्ता इस उपयोग में आसान इंटरफ़ेस को लेने के इच्छुक हैं, वे अंतर्निहित क्रिप्टोग्राफ़िक प्राइमेटिव्स पर नियंत्रण छोड़ रहे हैं। कई उपयोगकर्ताओं के लिए, यह एक बहुत ही वैध व्यापार-बंद है, क्योंकि क्रिप्टोग्राफी विशेषज्ञों को आपके लिए ये निर्णय लेने देना अक्सर बेहतर होता है।

फ़ायदे

  • उपयोगकर्ता परिचित उच्च स्तरीय भाषाओं में कोड लिख सकते हैं
  • सभी zk आंतरिक को उपयोगकर्ताओं से दूर कर दिया गया है
  • यह किसी विशिष्ट 'वीएम' सर्किट पर निर्भर नहीं है जो अतिरिक्त ओवरहेड जोड़ता है

नुकसान

  • हर प्रोग्राम का एक अलग सर्किट होता है। अनुकूलन करना कठिन है. (प्रमाण बाज़ार आंशिक रूप से इसका समाधान करता है)
  • आंतरिक zk पुस्तकालयों को स्वैप/अपग्रेड करने के लिए गैर-तुच्छ (फोर्किंग की आवश्यकता है)

एक zkVM सभी zk वर्चुअल मशीनों के सुपरसेट का वर्णन करता है, जबकि एक zkEVM एक विशिष्ट प्रकार का zkVM है, जो आज इसकी व्यापकता के कारण एक अलग विषय के रूप में चर्चा करने लायक था। कुछ अन्य परियोजनाएं हैं जो अधिक सामान्यीकृत zkVMs के निर्माण पर काम कर रही हैं जो कि bespoke क्रिप्टो VMs के अलावा ISAs पर आधारित हैं।

ईवीएम को साबित करने के बजाय, सिस्टम एक नए वीएम में आरआईएससी-वी या डब्ल्यूएएसएम जैसे एक अलग निर्देश सेट आर्किटेक्चर (आईएसए) साबित कर सकता है। इन सामान्यीकृत zkVMs पर काम करने वाली दो परियोजनाएँ RISC Zero और zkWASM हैं। आइए यहां आरआईएससी ज़ीरो में थोड़ा गोता लगाएँ और प्रदर्शित करें कि यह रणनीति कैसे काम करती है और इसके कुछ फायदे/नुकसान हैं। 

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
जोखिम शून्य प्रमाण पीढ़ी उच्च स्तरीय वास्तुकला

आरआईएससी जीरो आरआईएससी-वी आर्किटेक्चर पर निष्पादित किसी भी गणना को साबित करने में सक्षम है। आरआईएससी-वी एक ओपन-सोर्स इंस्ट्रक्शन सेट आर्किटेक्चर (आईएसए) मानक है जो लोकप्रियता हासिल कर रहा है। आरआईएससी (रिड्यूस्ड इंस्ट्रक्शन सेट कंप्यूटर) दर्शन न्यूनतम जटिलता के साथ एक अत्यंत सरल इंस्ट्रक्शन सेट का निर्माण करना है। इसका मतलब यह है कि स्टैक में उच्च परतों पर डेवलपर्स हार्डवेयर कार्यान्वयन को सरल बनाते हुए इस आर्किटेक्चर का उपयोग करके निर्देशों को लागू करने में अधिक भार लेते हैं।

यह दर्शन सामान्य कंप्यूटिंग पर भी लागू होता है, एआरएम चिप्स आरआईएससी-शैली निर्देश सेट का लाभ उठा रहे हैं और मोबाइल चिप्स के बाजार पर हावी होना शुरू कर दिया है। यह पता चला है कि सरल निर्देश सेटों में अधिक ऊर्जा और डाई क्षेत्र दक्षता भी होती है।

यह सादृश्य zk प्रमाण उत्पन्न करने की दक्षता के लिए बहुत अच्छा है। जैसा कि पहले चर्चा की गई है, zk में निष्पादन ट्रेस साबित करते समय, आप ट्रेस में प्रत्येक आइटम के लिए सभी निर्देशों की लागत के योग का भुगतान करते हैं, इसलिए सरल और कम कुल निर्देश बेहतर होते हैं।

यह कैसे काम करता है

एक डेवलपर के दृष्टिकोण से, zk प्रूफ़ को संभालने के लिए RISC ज़ीरो का उपयोग करना बैकएंड सर्वर आर्किटेक्चर को संभालने के लिए AWS लैम्ब्डा फ़ंक्शंस का उपयोग करने जैसा है। डेवलपर्स केवल कोड लिखकर आरआईएससी ज़ीरो या एडब्ल्यूएस लैम्ब्डा के साथ इंटरैक्ट करते हैं और सेवा सभी बैकएंड जटिलताओं को संभालती है।

आरआईएससी ज़ीरो के लिए, डेवलपर्स रस्ट या सी++ लिखते हैं (अंततः कुछ भी जो आरआईएससी-वी को लक्षित करता है)। सिस्टम तब संकलन के दौरान उत्पन्न ईएलएफ फ़ाइल लेता है और उसे वीएम सर्किट के लिए इनपुट कोड के रूप में उपयोग करता है। डेवलपर्स केवल Prove को कॉल करते हैं जो एक रसीद (जिसमें निष्पादन ट्रेस का zk प्रमाण होता है) ऑब्जेक्ट लौटाता है जिसे कोई भी कहीं से भी `verify` कह सकता है। डेवलपर के दृष्टिकोण से, यह समझने की कोई आवश्यकता नहीं है कि zk कैसे काम करता है, अंतर्निहित प्रणाली इस सभी जटिलता को संभालती है।

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
रिस्क जीरो इंटर्न?

फ़ायदे

  • प्रयोग करने में आसान। किसी भी प्रोग्रामर के लिए zk एप्लिकेशन बनाने का द्वार खोलता है
  • एकल सर्किट जिसके लिए प्रोवर्स विशेषज्ञ हो सकते हैं
    • इसके अलावा हमले के लिए कम सतह क्षेत्र, और ऑडिट के लिए भी कम
  • किसी भी ब्लॉकचेन के साथ संगत, आप बस सबूत पोस्ट करें

नुकसान

  • ऐसे सामान्य इंटरफ़ेस का समर्थन करने के लिए बहुत अधिक ओवरहेड (प्रूफ़ आकार और पीढ़ी की गति में) लगता है
  • मौजूदा पुस्तकालयों के लिए व्यापक समर्थन प्राप्त करने के लिए प्रूफ जनरेशन तकनीकों में महत्वपूर्ण सुधार की आवश्यकता है

पूर्व-निर्मित पुन: प्रयोज्य सर्किट

कुछ बुनियादी और पुन: प्रयोज्य सर्किटों के लिए जो विशेष रूप से ब्लॉकचेन अनुप्रयोगों या अन्य जगहों के लिए उपयोगी हैं, टीमों ने पहले ही आपके लिए इन सर्किटों का निर्माण और अनुकूलन कर लिया होगा। आप बस अपने विशेष उपयोग के मामले के लिए इनपुट प्रदान कर सकते हैं। उदाहरण के लिए, मर्कल समावेशन प्रमाण कुछ ऐसा है जिसकी आमतौर पर क्रिप्टो अनुप्रयोगों (एयरड्रॉप सूचियाँ, टॉरनेडो कैश, आदि) में आवश्यकता होती है। एक एप्लिकेशन डेवलपर के रूप में, आप हमेशा इन युद्ध-परीक्षणित अनुबंधों का पुन: उपयोग कर सकते हैं और एक अद्वितीय एप्लिकेशन बनाने के लिए शीर्ष पर परतों को संशोधित कर सकते हैं।

उदाहरण के लिए, टॉरनेडो कैश के सर्किट का पुन: उपयोग किया जा सकता है निजी एयरड्रॉप एप्लिकेशन या एक निजी मतदान आवेदन. मंटा और सेमाफोर इस तरह के सामान्य सर्किट गैजेट्स का एक संपूर्ण टूलकिट बना रहे हैं, जिसका उपयोग सॉलिडिटी कॉन्ट्रैक्ट्स में अंतर्निहित zk मून गणित की बहुत कम या कोई समझ के बिना किया जा सकता है।

गाइड - अपना स्टैक चुनना

जैसा कि विस्तार से चर्चा की गई है, zk एप्लिकेशन को विकसित करने के लिए अनगिनत अलग-अलग विकल्प हैं, सभी ट्रेड-ऑफ के अपने अनूठे सेट के साथ। यह चार्ट इस निर्णय मैट्रिक्स को संक्षेप में प्रस्तुत करने में मदद करेगा ताकि आपके zk विशेषज्ञता के स्तर और प्रदर्शन आवश्यकताओं के आधार पर, आप नौकरी के लिए सर्वोत्तम उपकरण चुन सकें। यह कोई व्यापक सूची नहीं है, मैं भविष्य में इसे जोड़ने की योजना बना रहा हूं क्योंकि मुझे इस क्षेत्र में आने वाले और अधिक उपकरणों के बारे में पता चला है।

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
zkGalaxy के लिए एप्लिकेशन डेवलपर की मार्गदर्शिका

zk ऐप देव चीटशीट

1. निम्न-स्तरीय स्नार्क पुस्तकालय

कब इस्तेमाल करें: 

  • आपको संपूर्ण प्रोवर स्टैक पर अच्छे नियंत्रण की आवश्यकता है
  • सामान्य घटकों के पुनर्निर्माण से बचना चाहते हैं
  • आप विभिन्न संयोजनों के साथ प्रयोग करना चाहते हैं योजनाओं, वक्रों और अन्य निम्न-स्तर को सिद्ध करने का आदिम

कब उपयोग न करें:

  • आप एक नौसिखिया हैं जो उच्च स्तरीय सिद्ध इंटरफेस की तलाश में हैं

विकल्प: 


3. zk कंपाइलर

कब इस्तेमाल करें: 

  • यूनिवर्सल सर्किट का ओवरहेड लेने को तैयार नहीं
  • परिचित भाषाओं में सर्किट लिखना चाहते हैं 
  • अत्यधिक अनुकूलित सर्किट की आवश्यकता है

कब उपयोग न करें: 

  • अंतर्निहित क्रिप्टोग्राफ़िक आदिम को नियंत्रित करना चाहते हैं
  • ऐसे सर्किट की आवश्यकता है जिसे पहले से ही अत्यधिक अनुकूलित किया गया हो

विकल्प:


5. zkVM

कब इस्तेमाल करें: 

  • उच्च स्तरीय भाषा में कोड लिखना चाहते हैं 
  • इस निष्पादन की सत्यता सिद्ध करने की आवश्यकता है 
  • इस निष्पादन के कुछ इनपुट को सत्यापनकर्ता से छिपाने की आवश्यकता है
  • zk में बहुत कम या कोई विशेषज्ञता नहीं है

कब उपयोग न करें:

  • अत्यंत कम विलंबता वाले वातावरण में (यह अभी भी धीमा है)
  • आपके पास एक बहुत बड़ा कार्यक्रम है (अभी के लिए)

विकल्प:

2. zk डीएसएल

कब इस्तेमाल करें: 

  • आप नई भाषा चुनने में सहज हैं
  • कुछ युद्ध-परीक्षित भाषाओं का उपयोग करना चाहते हैं
  • न्यूनतम सर्किट आकार की आवश्यकता है, अमूर्तता को त्यागने के लिए तैयार

कब उपयोग न करें: 

  • प्रूविंग बैक-एंड पर अच्छे नियंत्रण की आवश्यकता है (अभी के लिए, कुछ डीएसएल के लिए बैकएंड को इंटरचेंज किया जा सकता है)

विकल्प:


4. zkEVM

कब इस्तेमाल करें: 

  • आपके पास एक डीएपी है जो पहले से ही ईवीएम पर काम करता है
  • आपको अपने उपयोगकर्ताओं के लिए सस्ते लेनदेन की आवश्यकता है 
  • आप नई श्रृंखला में तैनाती के प्रयास को कम करना चाहते हैं
  • केवल zk (संपीड़न) की संक्षिप्तता संपत्ति की परवाह करें

कब उपयोग न करें: 

  • आपको संपूर्ण ईवीएम समकक्षता की आवश्यकता है
  • आपको zk की गोपनीयता संपत्ति की आवश्यकता है 
  • आपके पास गैर-ब्लॉकचेन उपयोग का मामला है 

विकल्प: 


6. पूर्व-निर्मित पुन: प्रयोज्य सर्किट

कब इस्तेमाल करें: 

  • आपके पास एक स्मार्ट अनुबंध एप्लिकेशन है जो मर्कले समावेशन जैसे सामान्य zk बिल्डिंग ब्लॉक्स पर निर्भर करता है
  • अंतर्निहित zk सामग्री में आपके पास बहुत कम या कोई विशेषज्ञता नहीं है

जब उपयोग न हो:

  • आपकी अत्यधिक विशिष्ट आवश्यकताएँ हैं
  • आपका उपयोग मामला पूर्व-निर्मित सर्किट द्वारा समर्थित नहीं है 

विकल्प: 

निष्कर्ष

zk कई तकनीकों में अग्रणी है, और इसे बनाने के लिए गणित, क्रिप्टोग्राफी, कंप्यूटर विज्ञान और हार्डवेयर इंजीनियरिंग की गहन समझ की आवश्यकता होती है। फिर भी, हर दिन अधिक से अधिक अमूर्त परतें उपलब्ध होने के कारण, ऐप डेवलपर पीएचडी के बिना zk की शक्ति का लाभ उठा सकते हैं। चूंकि स्टैक के सभी स्तरों पर अनुकूलन के माध्यम से समय के साथ साबित करने के समय की सीमाएं धीरे-धीरे हटा दी जाती हैं, हम औसत डेवलपर के लिए और भी सरल उपकरण देखेंगे।

मुझे आशा है कि मैंने आपको, जिज्ञासु सॉफ़्टवेयर डेवलपर, आश्वस्त किया है कि आप आज ही अपने अनुप्रयोगों में zk का उपयोग शुरू कर सकते हैं। हैप्पी हैकिंग 🙂

zkGalaxy प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के लिए एक डेवलपर की मार्गदर्शिका। लंबवत खोज. ऐ.
आप किसका इंतजार कर रहे हैं, कुछ zk ऐप्स बनाएं

खुलासे: ब्लॉकचेन कैपिटल ऊपर उल्लिखित कई प्रोटोकॉल में एक निवेशक है।

प्रत्येक ब्लॉग पोस्ट में व्यक्त किए गए विचार प्रत्येक लेखक के व्यक्तिगत विचार हो सकते हैं और आवश्यक रूप से ब्लॉकचैन कैपिटल और उसके सहयोगियों के विचारों को प्रतिबिंबित नहीं करते हैं। न तो ब्लॉकचैन कैपिटल और न ही लेखक प्रत्येक ब्लॉग पोस्ट में प्रदान की गई जानकारी की सटीकता, पर्याप्तता या पूर्णता की गारंटी देता है। ब्लॉकचैन कैपिटल, लेखक या किसी अन्य व्यक्ति की ओर से किसी भी ब्लॉग पोस्ट में निहित जानकारी की सटीकता और पूर्णता या निष्पक्षता के लिए कोई प्रतिनिधित्व या वारंटी, व्यक्त या निहित, बनाया या दिया नहीं जाता है और कोई जिम्मेदारी या दायित्व स्वीकार नहीं किया जाता है ऐसी किसी भी जानकारी के लिए। प्रत्येक ब्लॉग पोस्ट में निहित कुछ भी निवेश, विनियामक, कानूनी, अनुपालन या कर या अन्य सलाह का गठन नहीं करता है और न ही निवेश निर्णय लेने पर भरोसा किया जाना चाहिए। ब्लॉग पोस्ट को किसी भी प्रतिभूति को खरीदने या बेचने या किसी निवेश रणनीति को अपनाने के प्रस्ताव की वर्तमान या पिछली सिफारिशों या आग्रह के रूप में नहीं देखा जाना चाहिए। ब्लॉग पोस्ट में अनुमान या अन्य भविष्योन्मुखी बयान शामिल हो सकते हैं, जो विश्वासों, मान्यताओं और अपेक्षाओं पर आधारित होते हैं जो कई संभावित घटनाओं या कारकों के परिणामस्वरूप बदल सकते हैं। यदि कोई परिवर्तन होता है, तो वास्तविक परिणाम भविष्योन्मुखी बयानों में व्यक्त किए गए परिणामों से भौतिक रूप से भिन्न हो सकते हैं। सभी फ़ॉरवर्ड-लुकिंग स्टेटमेंट केवल उसी तारीख को बोलते हैं जब इस तरह के बयान दिए जाते हैं, और न तो ब्लॉकचेन कैपिटल और न ही प्रत्येक लेखक कानून द्वारा आवश्यक को छोड़कर ऐसे बयानों को अपडेट करने के लिए कोई कर्तव्य मानता है। इस हद तक कि ब्लॉकचैन कैपिटल द्वारा उत्पादित, प्रकाशित या अन्यथा वितरित किए गए किसी भी दस्तावेज, प्रस्तुतियों या अन्य सामग्रियों को किसी भी ब्लॉग पोस्ट में संदर्भित किया जाता है, ऐसी सामग्री को उसमें दिए गए किसी भी अस्वीकरण पर सावधानीपूर्वक ध्यान देना चाहिए।

समय टिकट:

से अधिक ब्लॉकचैन कैपिटल

हमारे जनरल काउंसलर, जोशुआ रिवेरा ने डिजिटल संपत्ति, वित्तीय प्रौद्योगिकी और समावेशन पर सदन की वित्तीय सेवा समिति उपसमिति के समक्ष गवाही दी

स्रोत नोड: 1830143
समय टिकट: अप्रैल 26, 2023