paint-brush
ZKBase पर तकनीकी विश्लेषण: स्केलेबल और सुरक्षित ETH लेनदेन के लिए एक उच्च-प्रदर्शन ZK-रोलअपद्वारा@zkbase
2,864 रीडिंग
2,864 रीडिंग

ZKBase पर तकनीकी विश्लेषण: स्केलेबल और सुरक्षित ETH लेनदेन के लिए एक उच्च-प्रदर्शन ZK-रोलअप

द्वारा ZKBase6m2024/08/07
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

ZKBase एक उच्च-प्रदर्शन ZK-रोलअप है जो ZK स्टैक और मल्टी-जीपीयू प्रूवर पर आधारित है। यह समाधान लेनदेन प्रसंस्करण क्षमता को बढ़ाता है और लागत-प्रभावी नेटवर्क अनुभव प्रदान करता है। इसका मुख्य लाभ शून्य-ज्ञान प्रमाण (ZKP) तकनीक को अपनाने में निहित है, जिससे ऑफ-चेन लेनदेन को जल्दी से सत्यापित किया जा सकता है।
featured image - ZKBase पर तकनीकी विश्लेषण: स्केलेबल और सुरक्षित ETH लेनदेन के लिए एक उच्च-प्रदर्शन ZK-रोलअप
ZKBase HackerNoon profile picture


ZKBase ZK Stack और मल्टी-gpu प्रूवर पर आधारित एक उच्च-प्रदर्शन ZK-रोलअप है। यह समाधान लेनदेन प्रसंस्करण क्षमता को बढ़ाता है और लागत-प्रभावी नेटवर्क अनुभव प्रदान करता है। इसका मुख्य लाभ शून्य-ज्ञान प्रमाण (ZKP) तकनीक को अपनाने में निहित है, जिससे लेनदेन की गोपनीयता और डेटा अखंडता को बनाए रखते हुए ऑफ-चेन लेनदेन को जल्दी से सत्यापित और पुष्टि की जा सकती है। चूंकि सभी वैधता प्रमाण Ethereum पर सत्यापित किए जाते हैं, इसलिए उपयोगकर्ता L1 की तरह ही सुरक्षा गारंटी का आनंद ले सकते हैं। ZKBase Ethereum के समान ही काम करता है लेकिन उच्च थ्रूपुट और कम शुल्क के साथ। स्मार्ट कॉन्ट्रैक्ट सॉलिडिटी/वाइपर में लिखे गए हैं और उन्हें अन्य EVM-संगत चेन के समान क्लाइंट का उपयोग करके लागू किया जा सकता है। यह लेख ZKBase के मुख्य इंजीनियरिंग और तकनीकी कार्यान्वयन का परिचय देगा।

1. ZKBase के प्रमुख घटक

ट्री और ट्रीबैकअप : ये घटक L2 स्टोरेज ट्री की स्थानीय प्रतियों को बनाए रखने के लिए RocksDB का उपयोग करते हैं। डेटाबेस नवीनतम स्टेट रूट हैश के साथ सिंक्रनाइज़ रहता है, जो लगातार वर्तमान सिस्टम स्थिति को दर्शाता है।


स्टेटकीपर/वीएम : लेनदेन को निष्पादित करता है और स्थानीय रॉकएसडीबी डेटाबेस में संलग्न ब्लॉकों को सुरक्षित रूप से संग्रहीत करता है, जिससे डेटा अखंडता और निरंतर स्थिति अपडेट सुनिश्चित होती है।


स्मार्ट कॉन्ट्रैक्ट : एथेरियम मेननेट पर तैनात, ये स्मार्ट कॉन्ट्रैक्ट ऑफ-चेन से सबमिट किए गए जीरो-नॉलेज प्रूफ (ZKP) को सत्यापित करते हैं। सफल सत्यापन के बाद, ये कॉन्ट्रैक्ट एथेरियम नेटवर्क पर अकाउंट स्टेटस को अपडेट करते हैं।


GPU Prover : एक ZK-रोलअप तकनीक जो शून्य-ज्ञान प्रमाणों के माध्यम से सुरक्षित और कुशल लेनदेन सत्यापन सुनिश्चित करती है। जब लेनदेन का एक बैच Ethereum mainnet से बाहर होता है, तो ZK एकत्रीकरण प्रणाली कई लेनदेन को Prover द्वारा गणना किए गए एकल "वैधता प्रमाण" में संपीड़ित करती है, जो बैच की शुद्धता को प्रदर्शित करता है। यह प्रमाण तब Ethereum नेटवर्क को प्रस्तुत किया जाता है, जिससे ऑफ-चेन होने वाले बड़ी मात्रा में लेनदेन की तेज़ और सुरक्षित पुष्टि संभव हो जाती है।


ब्रिज : ZKBase, ZKBase और एथेरियम मेननेट के बीच परिसंपत्तियों को सुरक्षित रूप से स्थानांतरित करने के लिए एक ब्रिजिंग तंत्र प्रदान करता है, जिससे दोनों प्लेटफार्मों के बीच अंतर-संचालन और परिसंपत्ति तरलता सुनिश्चित होती है

2. ZKBase वर्कफ़्लो

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


मेमपूल स्टोरेज संरचना एक btreeset (btree द्वारा कार्यान्वित एक सेट) है। इंडेक्सिंग संरचना इस प्रकार है:



यहाँ, fee_data वास्तविक स्कोर गणना में शामिल नहीं है, लेकिन उन लेनदेन को फ़िल्टर करने में मदद करता है जो शुल्क आवश्यकताओं को पूरा नहीं करते हैं। स्कोर को टाइमस्टैम्प के अनुसार क्रमबद्ध किया जाता है, और यदि टाइमस्टैम्प समान हैं, तो पते के अनुसार।

मेमपूल में लेन-देन स्टेट कीपर के भीतर मेमपूल फ़ेचर घटक द्वारा प्रबंधित किए जाते हैं। एक्सपायर हो चुके लेन-देन को छोड़कर, मानक लेन-देन को मेमपूल से btree ट्रैवर्सल द्वारा परिभाषित क्रम में प्राप्त किया जाता है और डेटाबेस में रिकॉर्ड किया जाता है। फिर उन्हें स्टेट कीपर/VM द्वारा संसाधित किया जाता है, निष्पादित किया जाता है, और स्टेट ट्री को अपडेट करने के लिए उपयोग किया जाता है।


ब्लॉक लेआउट आरेख एक ब्लॉक के भीतर लेनदेन के संगठन और L1 बैच के भीतर L2 ब्लॉकों की व्यवस्था को दर्शाता है।



प्रत्येक L1 बैच को आरंभ करने के लिए, ऑपरेटर को मुख्य विवरण इनपुट करने की आवश्यकता होती है: बैच का टाइमस्टैम्प, अनुक्रम में उसकी स्थिति, तथा पिछले बैच का हैश मान।



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


conditional_sealer एक SealCriteria रजिस्ट्री बनाए रखता है जिसमें निम्नलिखित शामिल हैं:


  • लेन-देन की सीमा,

  • L2 गैस सीमा,

  • अन्य विनियमों के अलावा, प्रकाशित आंकड़ों की मात्रा की ऊपरी सीमा।


चार निर्णय परिदृश्य हैं: NoSeal, IncludeAndSeal, ExcludeAndSeal, और Unexecutable। पहले दो मामलों में, प्रक्रिया समान है, निष्पादन के बाद की स्थिति को स्टेट कीपर में अपडेट किया जाता है। ExcludeAndSeal उन लेनदेन को संभालता है जो पूर्वनिर्धारित बैच सीमाओं को पार करते हैं, लेनदेन निष्पादन को वापस रोल करके और इसे अगले L2 ब्लॉक में शामिल करने के लिए कतार में वापस रखते हैं। यदि कोई Unexecutable स्थिति होती है, तो लेनदेन निष्पादित नहीं किया जा सकता है और इसे अस्वीकार कर दिया जाएगा।


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


एक बार बैच फाइनल हो जाने के बाद, प्रूवर ब्लॉक के निष्पादन को सत्यापित करने के लिए एक क्रिप्टोग्राफ़िक प्रमाण तैयार करता है। ZKBase में, प्रूवर की ज़िम्मेदारी ZKBase एथेरियम वर्चुअल मशीन (EVM) के सटीक निष्पादन को साबित करना है। इस प्रमाण को फिर एथेरियम नेटवर्क पर एक स्मार्ट कॉन्ट्रैक्ट द्वारा सत्यापित किया जाता है। एक बार प्रमाण तैयार हो जाने के बाद, प्रूवर इसे L1 ट्रांज़ैक्शन में पैकेज करता है और इसे ETH_Sender को भेजता है। ETH_Sender आगे की प्रक्रिया के लिए एथेरियम मेननेट पर तैनात ZKBase कॉन्ट्रैक्ट को ट्रांज़ैक्शन को अग्रेषित करता है।


एथेरियम मेननेट प्रमाण की सत्यता की पुष्टि करता है और सफल सत्यापन के बाद, तदनुसार स्थिति को अद्यतन करता है।


पूरी प्रक्रिया के दौरान, एथवॉचर लगातार विशिष्ट L1 घटनाओं, जैसे जमा और सिस्टम अपग्रेड की निगरानी करता है, ताकि एथेरियम मेननेट के साथ समन्वय सुनिश्चित किया जा सके।

3. मल्टीपल GPU प्रूवर आर्किटेक्चर


यह आर्किटेक्चर डेटा साझा करने के लिए Postgres डेटाबेस का लाभ उठाता है, जिससे प्रूफ़ जनरेशन दक्षता को बढ़ाने के लिए कई GPU Provers में समानांतर कंप्यूटेशन को सक्षम किया जा सकता है। प्रमुख घटकों में शामिल हैं:


ऑपरेटर : वह सर्वर जो लेयर 2 सेवाएँ प्रदान करता है।


प्रूवर गेटवे : एक संचार मॉड्यूल जो ऑपरेटर को प्रूविंग सबसिस्टम से जोड़ता है।


साक्षी जनरेटर : प्रमाण संगणन कार्य उत्पन्न करता है और मध्यवर्ती कलाकृतियों को संग्रहीत करता है।


वेक्टर जनरेटर : सभी गणना कार्यों को GPU गणना के लिए उपयुक्त वेक्टर प्रारूप में एकत्रित करता है और उन्हें प्रूवर्स को भेजता है।


प्रूवर: प्रमाणों की वास्तविक गणना और सत्यापन करता है।


कंप्रेसर: अंतिम प्रूफ को SNARK फॉर्म में संपीड़ित करता है।

प्रूफ जनरेशन वर्कफ़्लो

बैच जनरेशन : ऑपरेटर लेनदेन एकत्रित करता है और एक नया बैच तैयार करता है।


बैच रिसेप्शन : प्रूवर गेटवे ऑपरेटर से नया बैच प्राप्त करता है और शून्य-ज्ञान प्रमाण उत्पन्न करने की तैयारी शुरू करता है।


डेटाबेस प्रविष्टि : प्रोवर गेटवे बैच जानकारी को पोस्टग्रेज डेटाबेस में सम्मिलित करता है। बाद की डेटा प्रोसेसिंग सीधे डेटाबेस के साथ इंटरैक्ट करती है, संबंधित इनपुट टेबल से डेटा प्राप्त करती है और संसाधित डेटा को संबंधित आउटपुट टेबल में रखती है।


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


  • बेसिक सर्किट्सविटनेसजेनरेटर

  • लीफएग्रीगेशनविटनेसजेनरेटर

  • नोड एकत्रीकरण

  • समयबद्धक


वेक्टर जनरेशन : वेक्टर जनरेटर, साक्षी वेक्टरों का उत्पादन करने के लिए सर्किटों को समेकित करता है, जिससे GPU कम्प्यूटेशनल शक्ति का उपयोग अनुकूलित होता है।


प्रमाण संगणना : प्रमाण संगणना शून्य-ज्ञान प्रमाणों की गणना करने के लिए GPU का उपयोग करते हैं, तथा प्रमाण संगणनाओं की शुद्धता की पुष्टि करते हैं।


संपीड़न : कंप्रेसर मॉड्यूल डेटा के आकार को कम करने के लिए प्रूफ को संपीड़ित करता है, और इसे SNARK फॉर्म में परिवर्तित करता है।

4। निष्कर्ष

ZK Stack और Multi-GPU Prover पर निर्मित ZKBase, उच्च-प्रदर्शन लेयर 2 स्केलेबिलिटी प्राप्त करता है। हालाँकि, Ethereum स्केलिंग समाधान ZK-Rollup अभी भी कई तकनीकी चुनौतियों का सामना कर रहा है। भविष्य में, ZKBase विकेंद्रीकृत अनुक्रमण और एक विकेंद्रीकृत ZK कम्प्यूटेशनल पावर नेटवर्क के कार्यान्वयन पर शोध और अन्वेषण करना जारी रखेगा।