शून्य-ज्ञान रोलअप्स
शून्य-ज्ञान रोलअप्स (ZK-rollups) लेयर 2 (l2) स्केलिंग समाधान हैं जो गणना और स्थिति-भंडारण को ऑफचेन ले जाकर इथेरियम मेननेट पर थ्रूपुट बढ़ाते हैं। ZK-रोलअप्स एक बैच में हजारों लेन-देन को प्रोसेस कर सकते हैं और फिर मेननेट पर केवल कुछ न्यूनतम सारांश डेटा पोस्ट करते हैं। यह सारांश डेटा उन परिवर्तनों को परिभाषित करता है जो इथेरियम स्थिति में किए जाने चाहिए और कुछ क्रिप्टोग्राफिक प्रमाण देता है कि वे परिवर्तन सही हैं।
पूर्वापेक्षाएँ
आपको इथेरियम स्केलिंग और लेयर 2 (l2) पर हमारे पेज को पढ़ना और समझना चाहिए।
शून्य-ज्ञान रोलअप्स क्या हैं?
शून्य-ज्ञान रोलअप्स (ZK-rollups) लेन-देन को बैचों में बंडल (या 'रोल अप') करते हैं जिन्हें ऑफचेन निष्पादित किया जाता है। ऑफचेन गणना उस डेटा की मात्रा को कम कर देती है जिसे ब्लॉकचेन पर पोस्ट किया जाना होता है। ZK-रोलअप ऑपरेटर प्रत्येक लेन-देन को व्यक्तिगत रूप से भेजने के बजाय एक बैच में सभी लेन-देन का प्रतिनिधित्व करने के लिए आवश्यक परिवर्तनों का सारांश प्रस्तुत करते हैं। वे अपने परिवर्तनों की शुद्धता साबित करने के लिए भी उत्पन्न करते हैं।
ZK-रोलअप की स्थिति इथेरियम नेटवर्क पर तैनात एक स्मार्ट अनुबंध द्वारा बनाए रखी जाती है। इस स्थिति को अपडेट करने के लिए, ZK-रोलअप नोड्स को सत्यापन के लिए एक वैधता प्रमाण प्रस्तुत करना होगा। जैसा कि उल्लेख किया गया है, वैधता प्रमाण एक क्रिप्टोग्राफिक आश्वासन है कि रोलअप द्वारा प्रस्तावित स्थिति-परिवर्तन वास्तव में लेन-देन के दिए गए बैच को निष्पादित करने का परिणाम है। इसका मतलब है कि ZK-रोलअप्स को ऑप्टिमिस्टिक रोलअप्स की तरह सभी लेन-देन डेटा को ऑनचेन पोस्ट करने के बजाय इथेरियम पर लेन-देन को अंतिम रूप देने के लिए केवल वैधता प्रमाण प्रदान करने की आवश्यकता होती है।
ZK-रोलअप से इथेरियम में फंड ट्रांसफर करते समय कोई देरी नहीं होती है क्योंकि ZK-रोलअप अनुबंध द्वारा वैधता प्रमाण सत्यापित होने के बाद निकास लेन-देन निष्पादित किए जाते हैं। इसके विपरीत, ऑप्टिमिस्टिक रोलअप्स से फंड की निकासी में देरी होती है ताकि किसी को भी के साथ निकास लेन-देन को चुनौती देने की अनुमति मिल सके।
ZK-रोलअप्स इथेरियम पर लेन-देन को calldata के रूप में लिखते हैं। calldata वह जगह है जहां स्मार्ट अनुबंध फ़ंक्शंस के बाहरी कॉल में शामिल डेटा संग्रहीत होता है। calldata में जानकारी ब्लॉकचेन पर प्रकाशित होती है, जिससे कोई भी स्वतंत्र रूप से रोलअप की स्थिति का पुनर्निर्माण कर सकता है। ZK-रोलअप्स लेन-देन डेटा को कम करने के लिए संपीड़न तकनीकों का उपयोग करते हैं—उदाहरण के लिए, खातों को पते के बजाय एक सूचकांक द्वारा दर्शाया जाता है, जो 28 बाइट्स डेटा बचाता है। ऑनचेन डेटा प्रकाशन रोलअप्स के लिए एक महत्वपूर्ण लागत है, इसलिए डेटा संपीड़न उपयोगकर्ताओं के लिए शुल्क कम कर सकता है।
ZK-रोलअप्स इथेरियम के साथ कैसे इंटरैक्ट करते हैं?
एक ZK-रोलअप चेन एक ऑफचेन प्रोटोकॉल है जो इथेरियम ब्लॉकचेन के ऊपर काम करता है और ऑनचेन इथेरियम स्मार्ट अनुबंधों द्वारा प्रबंधित होता है। ZK-रोलअप्स मेननेट के बाहर लेन-देन निष्पादित करते हैं, लेकिन समय-समय पर ऑफचेन लेन-देन बैचों को ऑनचेन रोलअप अनुबंध में प्रतिबद्ध करते हैं। यह लेन-देन रिकॉर्ड इथेरियम ब्लॉकचेन की तरह ही अपरिवर्तनीय है, और ZK-रोलअप चेन बनाता है।
ZK-रोलअप का मुख्य आर्किटेक्चर निम्नलिखित घटकों से बना है:
-
ऑनचेन अनुबंध: जैसा कि उल्लेख किया गया है, ZK-रोलअप प्रोटोकॉल इथेरियम पर चलने वाले स्मार्ट अनुबंधों द्वारा नियंत्रित होता है। इसमें मुख्य अनुबंध शामिल है जो रोलअप ब्लॉक संग्रहीत करता है, जमा को ट्रैक करता है, और स्थिति अपडेट की निगरानी करता है। एक अन्य ऑनचेन अनुबंध (सत्यापनकर्ता अनुबंध) ब्लॉक उत्पादकों द्वारा प्रस्तुत शून्य-ज्ञान प्रमाणों को सत्यापित करता है। इस प्रकार, इथेरियम ZK-रोलअप के लिए बेस लेयर या "लेयर 1 (l1)" के रूप में कार्य करता है।
-
ऑफचेन वर्चुअल मशीन (VM): जबकि ZK-रोलअप प्रोटोकॉल इथेरियम पर रहता है, लेन-देन निष्पादन और स्थिति भंडारण EVM से स्वतंत्र एक अलग वर्चुअल मशीन पर होता है। यह ऑफचेन VM ZK-रोलअप पर लेन-देन के लिए निष्पादन वातावरण है और ZK-रोलअप प्रोटोकॉल के लिए द्वितीयक लेयर या "लेयर 2 (l2)" के रूप में कार्य करता है। इथेरियम मेननेट पर सत्यापित वैधता प्रमाण ऑफचेन VM में स्थिति संक्रमण की शुद्धता की गारंटी देते हैं।
ZK-रोलअप्स "हाइब्रिड स्केलिंग समाधान" हैं—ऑफचेन प्रोटोकॉल जो स्वतंत्र रूप से काम करते हैं लेकिन इथेरियम से सुरक्षा प्राप्त करते हैं। विशेष रूप से, इथेरियम नेटवर्क ZK-रोलअप पर स्थिति अपडेट की वैधता लागू करता है और रोलअप की स्थिति के प्रत्येक अपडेट के पीछे डेटा की उपलब्धता की गारंटी देता है। परिणामस्वरूप, ZK-रोलअप्स शुद्ध ऑफचेन स्केलिंग समाधानों की तुलना में काफी सुरक्षित हैं, जैसे कि साइडचेन, जो अपने सुरक्षा गुणों के लिए स्वयं जिम्मेदार हैं, या वैलिडियम्स, जो इथेरियम पर वैधता प्रमाणों के साथ लेन-देन को सत्यापित करते हैं, लेकिन लेन-देन डेटा को कहीं और संग्रहीत करते हैं।
ZK-रोलअप्स निम्नलिखित के लिए मुख्य इथेरियम प्रोटोकॉल पर निर्भर करते हैं:
डेटा उपलब्धता
ZK-रोलअप्स ऑफचेन प्रोसेस किए गए प्रत्येक लेन-देन के लिए स्थिति डेटा इथेरियम पर प्रकाशित करते हैं। इस डेटा के साथ, व्यक्तियों या व्यवसायों के लिए रोलअप की स्थिति को पुन: उत्पन्न करना और स्वयं चेन को मान्य करना संभव है। इथेरियम इस डेटा को नेटवर्क के सभी प्रतिभागियों को calldata के रूप में उपलब्ध कराता है।
ZK-रोलअप्स को ऑनचेन बहुत अधिक लेन-देन डेटा प्रकाशित करने की आवश्यकता नहीं है क्योंकि वैधता प्रमाण पहले से ही स्थिति संक्रमण की प्रामाणिकता को सत्यापित करते हैं। फिर भी, ऑनचेन डेटा संग्रहीत करना अभी भी महत्वपूर्ण है क्योंकि यह L2 चेन की स्थिति के अनुमति-रहित, स्वतंत्र सत्यापन की अनुमति देता है जो बदले में किसी को भी लेन-देन के बैच जमा करने की अनुमति देता है, जिससे दुर्भावनापूर्ण ऑपरेटरों को चेन को सेंसर करने या फ्रीज करने से रोका जा सकता है।
उपयोगकर्ताओं को रोलअप के साथ इंटरैक्ट करने के लिए ऑनचेन आवश्यक है। स्थिति डेटा तक पहुंच के बिना उपयोगकर्ता अपने खाते की शेष राशि की पूछताछ नहीं कर सकते हैं या लेन-देन (जैसे, निकासी) शुरू नहीं कर सकते हैं जो स्थिति जानकारी पर निर्भर करते हैं।
लेन-देन अंतिमता
इथेरियम ZK-रोलअप्स के लिए एक निपटान लेयर के रूप में कार्य करता है: L2 लेन-देन को केवल तभी अंतिम रूप दिया जाता है जब L1 अनुबंध वैधता प्रमाण स्वीकार करता है। यह दुर्भावनापूर्ण ऑपरेटरों द्वारा चेन को भ्रष्ट करने (जैसे, रोलअप फंड चुराने) के जोखिम को समाप्त करता है क्योंकि प्रत्येक लेन-देन को मेननेट पर अनुमोदित किया जाना चाहिए। इसके अलावा, इथेरियम गारंटी देता है कि L1 पर अंतिम रूप दिए जाने के बाद उपयोगकर्ता संचालन को उलटा नहीं किया जा सकता है।
सेंसरशिप प्रतिरोध
अधिकांश ZK-रोलअप्स लेन-देन निष्पादित करने, बैच बनाने और L1 में ब्लॉक जमा करने के लिए एक "सुपरनोड" (ऑपरेटर) का उपयोग करते हैं। हालांकि यह दक्षता सुनिश्चित करता है, यह सेंसरशिप के जोखिम को बढ़ाता है: दुर्भावनापूर्ण ZK-रोलअप ऑपरेटर उपयोगकर्ताओं के लेन-देन को बैचों में शामिल करने से इनकार करके उन्हें सेंसर कर सकते हैं।
सुरक्षा उपाय के रूप में, ZK-रोलअप्स उपयोगकर्ताओं को मेननेट पर सीधे रोलअप अनुबंध में लेन-देन जमा करने की अनुमति देते हैं यदि उन्हें लगता है कि ऑपरेटर द्वारा उन्हें सेंसर किया जा रहा है। यह उपयोगकर्ताओं को ऑपरेटर की अनुमति पर निर्भर हुए बिना ZK-रोलअप से इथेरियम में निकास के लिए मजबूर करने की अनुमति देता है।
ZK-रोलअप्स कैसे काम करते हैं?
लेन-देन
ZK-रोलअप में उपयोगकर्ता लेन-देन पर हस्ताक्षर करते हैं और प्रसंस्करण और अगले बैच में शामिल करने के लिए L2 ऑपरेटरों को जमा करते हैं। कुछ मामलों में, ऑपरेटर एक केंद्रीकृत इकाई होती है, जिसे सीक्वेंसर कहा जाता है, जो लेन-देन निष्पादित करता है, उन्हें बैचों में एकत्रित करता है, और L1 में जमा करता है। इस प्रणाली में सीक्वेंसर एकमात्र इकाई है जिसे L2 ब्लॉक बनाने और ZK-रोलअप अनुबंध में रोलअप लेन-देन जोड़ने की अनुमति है।
अन्य ZK-रोलअप्स प्रूफ-ऑफ़-स्टेक (PoS) सत्यापक सेट का उपयोग करके ऑपरेटर की भूमिका को घुमा सकते हैं। संभावित ऑपरेटर रोलअप अनुबंध में फंड जमा करते हैं, जिसमें प्रत्येक स्टेक का आकार स्टेकर के अगले रोलअप बैच का उत्पादन करने के लिए चुने जाने की संभावनाओं को प्रभावित करता है। यदि ऑपरेटर दुर्भावनापूर्ण तरीके से कार्य करता है तो उसके स्टेक में कटौती की जा सकती है, जो उन्हें वैध ब्लॉक पोस्ट करने के लिए प्रोत्साहित करता है।
ZK-रोलअप्स इथेरियम पर लेन-देन डेटा कैसे प्रकाशित करते हैं
जैसा कि बताया गया है, लेन-देन डेटा इथेरियम पर calldata के रूप में प्रकाशित होता है। calldata एक स्मार्ट अनुबंध में एक डेटा क्षेत्र है जिसका उपयोग किसी फ़ंक्शन में तर्क पास करने के लिए किया जाता है और यह मेमोरी के समान व्यवहार करता है। हालांकि calldata इथेरियम की स्थिति के हिस्से के रूप में संग्रहीत नहीं है, यह इथेरियम चेन के इतिहास लॉग (opens in a new tab) के हिस्से के रूप में ऑनचेन बना रहता है। calldata इथेरियम की स्थिति को प्रभावित नहीं करता है, जिससे यह ऑनचेन डेटा संग्रहीत करने का एक सस्ता तरीका बन जाता है।
calldata कीवर्ड अक्सर लेन-देन द्वारा कॉल किए जा रहे स्मार्ट अनुबंध विधि की पहचान करता है और बाइट्स के एक मनमाने अनुक्रम के रूप में विधि में इनपुट रखता है। ZK-रोलअप्स ऑनचेन संपीड़ित लेन-देन डेटा प्रकाशित करने के लिए calldata का उपयोग करते हैं; रोलअप ऑपरेटर बस रोलअप अनुबंध में आवश्यक फ़ंक्शन को कॉल करके एक नया बैच जोड़ता है और संपीड़ित डेटा को फ़ंक्शन तर्कों के रूप में पास करता है। इससे उपयोगकर्ताओं के लिए लागत कम करने में मदद मिलती है क्योंकि रोलअप शुल्क का एक बड़ा हिस्सा ऑनचेन लेन-देन डेटा संग्रहीत करने में जाता है।
स्थिति प्रतिबद्धताएँ
ZK-रोलअप की स्थिति, जिसमें L2 खाते और शेष राशि शामिल हैं, को एक मर्कल ट्री के रूप में दर्शाया गया है। मर्कल ट्री के रूट (मर्कल रूट) का एक क्रिप्टोग्राफिक हैश ऑनचेन अनुबंध में संग्रहीत किया जाता है, जिससे रोलअप प्रोटोकॉल ZK-रोलअप की स्थिति में परिवर्तनों को ट्रैक कर सकता है।
लेन-देन के एक नए सेट के निष्पादन के बाद रोलअप एक नई स्थिति में परिवर्तित हो जाता है। स्थिति संक्रमण शुरू करने वाले ऑपरेटर को एक नया स्थिति रूट की गणना करने और ऑनचेन अनुबंध में जमा करने की आवश्यकता होती है। यदि बैच से जुड़े वैधता प्रमाण को सत्यापनकर्ता अनुबंध द्वारा प्रमाणित किया जाता है, तो नया मर्कल रूट ZK-रोलअप का विहित स्थिति रूट बन जाता है।
स्थिति रूट की गणना करने के अलावा, ZK-रोलअप ऑपरेटर एक बैच रूट भी बनाता है—एक मर्कल ट्री का रूट जिसमें एक बैच के सभी लेन-देन शामिल होते हैं। जब एक नया बैच जमा किया जाता है, तो रोलअप अनुबंध बैच रूट को संग्रहीत करता है, जिससे उपयोगकर्ता यह साबित कर सकते हैं कि एक लेन-देन (जैसे, निकासी अनुरोध) बैच में शामिल था। उपयोगकर्ताओं को लेन-देन विवरण, बैच रूट, और समावेशन पथ दिखाने वाला एक मर्कल प्रमाण प्रदान करना होगा।
वैधता प्रमाण
ZK-रोलअप ऑपरेटर L1 अनुबंध में जो नया स्थिति रूट जमा करता है, वह रोलअप की स्थिति में अपडेट का परिणाम है। मान लीजिए कि ऐलिस बॉब को 10 टोकन भेजती है, ऑपरेटर बस ऐलिस के बैलेंस को 10 से कम कर देता है और बॉब के बैलेंस को 10 से बढ़ा देता है। ऑपरेटर फिर अपडेट किए गए खाता डेटा को हैश करता है, रोलअप के मर्कल ट्री का पुनर्निर्माण करता है, और नए मर्कल रूट को ऑनचेन अनुबंध में जमा करता है।
लेकिन रोलअप अनुबंध स्वचालित रूप से प्रस्तावित स्थिति प्रतिबद्धता को तब तक स्वीकार नहीं करेगा जब तक कि ऑपरेटर यह साबित नहीं कर देता कि नया मर्कल रूट रोलअप की स्थिति में सही अपडेट के परिणामस्वरूप हुआ है। ZK-रोलअप ऑपरेटर एक वैधता प्रमाण प्रस्तुत करके ऐसा करता है, जो बैच किए गए लेन-देन की शुद्धता की पुष्टि करने वाली एक संक्षिप्त क्रिप्टोग्राफिक प्रतिबद्धता है।
वैधता प्रमाण पार्टियों को स्वयं कथन को प्रकट किए बिना किसी कथन की शुद्धता साबित करने की अनुमति देते हैं—इसलिए, उन्हें शून्य-ज्ञान प्रमाण भी कहा जाता है। ZK-रोलअप्स इथेरियम पर लेन-देन को फिर से निष्पादित किए बिना ऑफचेन स्थिति संक्रमण की शुद्धता की पुष्टि करने के लिए वैधता प्रमाणों का उपयोग करते हैं। ये प्रमाण ज़ीके-स्नार्क (opens in a new tab) (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) या ज़ेडके-स्टार्क (opens in a new tab) (Zero-Knowledge Scalable Transparent Argument of Knowledge) के रूप में आ सकते हैं।
SNARKs और STARKs दोनों ZK-रोलअप्स में ऑफचेन गणना की अखंडता को प्रमाणित करने में मदद करते हैं, हालांकि प्रत्येक प्रमाण प्रकार की विशिष्ट विशेषताएं होती हैं।
ज़ीके-स्नार्क (ZK-SNARKs)
ज़ीके-स्नार्क प्रोटोकॉल के काम करने के लिए, एक कॉमन रेफरेंस स्ट्रिंग (CRS) बनाना आवश्यक है: CRS वैधता प्रमाणों को साबित करने और सत्यापित करने के लिए सार्वजनिक पैरामीटर प्रदान करता है। साबित करने वाली प्रणाली की सुरक्षा CRS सेटअप पर निर्भर करती है; यदि सार्वजनिक पैरामीटर बनाने के लिए उपयोग की जाने वाली जानकारी दुर्भावनापूर्ण अभिनेताओं के कब्जे में आ जाती है तो वे झूठे वैधता प्रमाण उत्पन्न करने में सक्षम हो सकते हैं।
कुछ ZK-रोलअप्स ज़ीके-स्नार्क सर्किट के लिए सार्वजनिक पैरामीटर उत्पन्न करने के लिए विश्वसनीय व्यक्तियों को शामिल करते हुए एक मल्टी-पार्टी कंप्यूटेशन सेरेमनी (MPC) (opens in a new tab) का उपयोग करके इस समस्या को हल करने का प्रयास करते हैं। प्रत्येक पार्टी CRS के निर्माण में कुछ यादृच्छिकता (जिसे "विषाक्त अपशिष्ट" कहा जाता है) का योगदान देती है, जिसे उन्हें तुरंत नष्ट कर देना चाहिए।
विश्वसनीय सेटअप का उपयोग किया जाता है क्योंकि वे CRS सेटअप की सुरक्षा बढ़ाते हैं। जब तक एक ईमानदार प्रतिभागी अपने इनपुट को नष्ट कर देता है, तब तक ज़ीके-स्नार्क प्रणाली की सुरक्षा की गारंटी होती है। फिर भी, इस दृष्टिकोण के लिए शामिल लोगों पर भरोसा करने की आवश्यकता होती है कि वे अपनी नमूना यादृच्छिकता को हटा दें और सिस्टम की सुरक्षा गारंटी को कमजोर न करें।
विश्वास मान्यताओं को एक तरफ रख दें, तो ज़ीके-स्नार्क अपने छोटे प्रमाण आकार और निरंतर-समय सत्यापन के लिए लोकप्रिय हैं। चूंकि L1 पर प्रमाण सत्यापन ZK-रोलअप के संचालन की बड़ी लागत का गठन करता है, L2s ऐसे प्रमाण उत्पन्न करने के लिए ज़ीके-स्नार्क का उपयोग करते हैं जिन्हें मेननेट पर जल्दी और सस्ते में सत्यापित किया जा सकता है।
ज़ेडके-स्टार्क (ZK-STARKs)
ज़ीके-स्नार्क की तरह, ज़ेडके-स्टार्क इनपुट को प्रकट किए बिना ऑफचेन गणना की वैधता साबित करते हैं। हालांकि, ज़ेडके-स्टार्क को उनकी स्केलेबिलिटी और पारदर्शिता के कारण ज़ीके-स्नार्क पर एक सुधार माना जाता है।
ज़ेडके-स्टार्क 'पारदर्शी' हैं, क्योंकि वे कॉमन रेफरेंस स्ट्रिंग (CRS) के विश्वसनीय सेटअप के बिना काम कर सकते हैं। इसके बजाय, ज़ेडके-स्टार्क प्रमाण उत्पन्न करने और सत्यापित करने के लिए पैरामीटर सेट करने के लिए सार्वजनिक रूप से सत्यापन योग्य यादृच्छिकता पर निर्भर करते हैं।
ज़ेडके-स्टार्क अधिक स्केलेबिलिटी भी प्रदान करते हैं क्योंकि वैधता प्रमाणों को साबित करने और सत्यापित करने के लिए आवश्यक समय अंतर्निहित गणना की जटिलता के संबंध में अर्ध-रैखिक (quasilinearly) रूप से बढ़ता है। ज़ीके-स्नार्क के साथ, साबित करने और सत्यापन का समय अंतर्निहित गणना के आकार के संबंध में रैखिक (linearly) रूप से बढ़ता है। इसका मतलब है कि जब बड़े डेटासेट शामिल होते हैं तो ज़ेडके-स्टार्क को साबित करने और सत्यापित करने के लिए ज़ीके-स्नार्क की तुलना में कम समय की आवश्यकता होती है, जिससे वे उच्च-मात्रा वाले अनुप्रयोगों के लिए उपयोगी हो जाते हैं।
ज़ेडके-स्टार्क क्वांटम कंप्यूटरों के खिलाफ भी सुरक्षित हैं, जबकि ज़ीके-स्नार्क में उपयोग की जाने वाली दीर्घवृत्तीय वक्र क्रिप्टोग्राफी (ECC) को व्यापक रूप से क्वांटम कंप्यूटिंग हमलों के प्रति संवेदनशील माना जाता है। ज़ेडके-स्टार्क का नकारात्मक पक्ष यह है कि वे बड़े प्रमाण आकार उत्पन्न करते हैं, जिन्हें इथेरियम पर सत्यापित करना अधिक महंगा है।
ZK-रोलअप्स में वैधता प्रमाण कैसे काम करते हैं?
प्रमाण निर्माण
लेन-देन स्वीकार करने से पहले, ऑपरेटर सामान्य जांच करेगा। इसमें यह पुष्टि करना शामिल है कि:
- प्रेषक और प्राप्तकर्ता खाते स्थिति ट्री का हिस्सा हैं।
- प्रेषक के पास लेन-देन को प्रोसेस करने के लिए पर्याप्त फंड है।
- लेन-देन सही है और रोलअप पर प्रेषक की सार्वजनिक कुंजी से मेल खाता है।
- प्रेषक का नॉन्स सही है, आदि।
एक बार जब ZK-रोलअप नोड के पास पर्याप्त लेन-देन हो जाते हैं, तो यह उन्हें एक बैच में एकत्रित करता है और साबित करने वाले सर्किट के लिए इनपुट संकलित करता है ताकि एक संक्षिप्त ZK-प्रमाण में संकलित किया जा सके। इसमें शामिल हैं:
- एक मर्कल ट्री रूट जिसमें बैच के सभी लेन-देन शामिल हैं।
- बैच में समावेशन साबित करने के लिए लेन-देन के लिए मर्कल प्रमाण।
- लेन-देन में प्रत्येक प्रेषक-प्राप्तकर्ता जोड़ी के लिए मर्कल प्रमाण यह साबित करने के लिए कि वे खाते रोलअप के स्थिति ट्री का हिस्सा हैं।
- मध्यवर्ती स्थिति रूट का एक सेट, जो प्रत्येक लेन-देन के लिए स्थिति अपडेट लागू करने के बाद स्थिति रूट को अपडेट करने से प्राप्त होता है (यानी, प्रेषक खातों को कम करना और प्राप्तकर्ता खातों को बढ़ाना)।
साबित करने वाला सर्किट प्रत्येक लेन-देन पर "लूपिंग" करके और लेन-देन को प्रोसेस करने से पहले ऑपरेटर द्वारा पूरी की गई समान जांच करके वैधता प्रमाण की गणना करता है। सबसे पहले, यह सत्यापित करता है कि प्रेषक का खाता प्रदान किए गए मर्कल प्रमाण का उपयोग करके मौजूदा स्थिति रूट का हिस्सा है। फिर यह प्रेषक के बैलेंस को कम करता है, उनके नॉन्स को बढ़ाता है, अपडेट किए गए खाता डेटा को हैश करता है और एक नया मर्कल रूट उत्पन्न करने के लिए इसे मर्कल प्रमाण के साथ जोड़ता है।
यह मर्कल रूट ZK-रोलअप की स्थिति में एकमात्र परिवर्तन को दर्शाता है: प्रेषक के बैलेंस और नॉन्स में बदलाव। यह संभव है क्योंकि खाते के अस्तित्व को साबित करने के लिए उपयोग किए जाने वाले मर्कल प्रमाण का उपयोग नए स्थिति रूट को प्राप्त करने के लिए किया जाता है।
साबित करने वाला सर्किट प्राप्तकर्ता के खाते पर भी यही प्रक्रिया करता है। यह जांचता है कि क्या प्राप्तकर्ता का खाता मध्यवर्ती स्थिति रूट (मर्कल प्रमाण का उपयोग करके) के तहत मौजूद है, उनका बैलेंस बढ़ाता है, खाता डेटा को फिर से हैश करता है और एक नया स्थिति रूट उत्पन्न करने के लिए इसे मर्कल प्रमाण के साथ जोड़ता है।
यह प्रक्रिया हर लेन-देन के लिए दोहराई जाती है; प्रत्येक "लूप" प्रेषक के खाते को अपडेट करने से एक नया स्थिति रूट बनाता है और प्राप्तकर्ता के खाते को अपडेट करने से एक बाद का नया रूट बनाता है। जैसा कि बताया गया है, स्थिति रूट का प्रत्येक अपडेट रोलअप के स्थिति ट्री के एक हिस्से के बदलने का प्रतिनिधित्व करता है।
ZK-साबित करने वाला सर्किट पूरे लेन-देन बैच पर पुनरावृति करता है, अपडेट के अनुक्रम को सत्यापित करता है जिसके परिणामस्वरूप अंतिम लेन-देन निष्पादित होने के बाद अंतिम स्थिति रूट प्राप्त होता है। गणना किया गया अंतिम मर्कल रूट ZK-रोलअप का नवीनतम विहित स्थिति रूट बन जाता है।
प्रमाण सत्यापन
साबित करने वाले सर्किट द्वारा स्थिति अपडेट की शुद्धता को सत्यापित करने के बाद, L2 ऑपरेटर L1 पर सत्यापनकर्ता अनुबंध में गणना किए गए वैधता प्रमाण को जमा करता है। अनुबंध का सत्यापन सर्किट प्रमाण की वैधता को सत्यापित करता है और सार्वजनिक इनपुट की भी जांच करता है जो प्रमाण का हिस्सा बनते हैं:
-
पूर्व-स्थिति रूट: ZK-रोलअप का पुराना स्थिति रूट (यानी, बैच किए गए लेन-देन निष्पादित होने से पहले), जो L2 चेन की अंतिम ज्ञात वैध स्थिति को दर्शाता है।
-
पश्च-स्थिति रूट: ZK-रोलअप का नया स्थिति रूट (यानी, बैच किए गए लेन-देन के निष्पादन के बाद), जो L2 चेन की नवीनतम स्थिति को दर्शाता है। पश्च-स्थिति रूट साबित करने वाले सर्किट में स्थिति अपडेट लागू करने के बाद प्राप्त अंतिम रूट है।
-
बैच रूट: बैच का मर्कल रूट, जो बैच में लेन-देन को मर्कलाइज़ करके और ट्री के रूट को हैश करके प्राप्त किया जाता है।
-
लेन-देन इनपुट: जमा किए गए बैच के हिस्से के रूप में निष्पादित लेन-देन से जुड़ा डेटा।
यदि प्रमाण सर्किट को संतुष्ट करता है (यानी, यह वैध है), तो इसका मतलब है कि वैध लेन-देन का एक क्रम मौजूद है जो रोलअप को पिछली स्थिति (पूर्व-स्थिति रूट द्वारा क्रिप्टोग्राफ़िक रूप से फ़िंगरप्रिंट किया गया) से एक नई स्थिति (पश्च-स्थिति रूट द्वारा क्रिप्टोग्राफ़िक रूप से फ़िंगरप्रिंट किया गया) में परिवर्तित करता है। यदि पूर्व-स्थिति रूट रोलअप अनुबंध में संग्रहीत रूट से मेल खाता है, और प्रमाण वैध है, तो रोलअप अनुबंध प्रमाण से पश्च-स्थिति रूट लेता है और रोलअप की बदली हुई स्थिति को दर्शाने के लिए अपने स्थिति ट्री को अपडेट करता है।
प्रविष्टियाँ और निकास
उपयोगकर्ता L1 चेन पर तैनात रोलअप के अनुबंध में टोकन जमा करके ZK-रोलअप में प्रवेश करते हैं। यह लेन-देन कतारबद्ध है क्योंकि केवल ऑपरेटर ही रोलअप अनुबंध में लेन-देन जमा कर सकते हैं।
यदि लंबित जमा कतार भरने लगती है, तो ZK-रोलअप ऑपरेटर जमा लेन-देन लेगा और उन्हें रोलअप अनुबंध में जमा करेगा। एक बार जब उपयोगकर्ता का फंड रोलअप में आ जाता है, तो वे प्रसंस्करण के लिए ऑपरेटर को लेन-देन भेजकर लेन-देन शुरू कर सकते हैं। उपयोगकर्ता अपने खाता डेटा को हैश करके, हैश को रोलअप अनुबंध में भेजकर, और वर्तमान स्थिति रूट के विरुद्ध सत्यापित करने के लिए एक मर्कल प्रमाण प्रदान करके रोलअप पर शेष राशि को सत्यापित कर सकते हैं।
ZK-रोलअप से L1 में निकासी सीधी है। उपयोगकर्ता रोलअप पर अपनी संपत्ति को बर्न करने के लिए एक निर्दिष्ट खाते में भेजकर निकास लेन-देन शुरू करता है। यदि ऑपरेटर अगले बैच में लेन-देन शामिल करता है, तो उपयोगकर्ता ऑनचेन अनुबंध में निकासी अनुरोध जमा कर सकता है। इस निकासी अनुरोध में निम्नलिखित शामिल होंगे:
-
लेन-देन बैच में बर्न खाते में उपयोगकर्ता के लेन-देन को शामिल करने को साबित करने वाला मर्कल प्रमाण
-
लेन-देन डेटा
-
बैच रूट
-
जमा किए गए फंड प्राप्त करने के लिए L1 पता
रोलअप अनुबंध लेन-देन डेटा को हैश करता है, जांचता है कि क्या बैच रूट मौजूद है, और मर्कल प्रमाण का उपयोग यह जांचने के लिए करता है कि क्या लेन-देन हैश बैच रूट का हिस्सा है। इसके बाद, अनुबंध निकास लेन-देन निष्पादित करता है और L1 पर उपयोगकर्ता के चुने हुए पते पर फंड भेजता है।
ZK-रोलअप्स और EVM संगतता
ऑप्टिमिस्टिक रोलअप्स के विपरीत, ZK-रोलअप्स इथेरियम वर्चुअल मशीन (EVM) के साथ आसानी से संगत नहीं हैं। सर्किट में सामान्य-उद्देश्य EVM गणना को साबित करना सरल गणनाओं (जैसे पहले वर्णित टोकन ट्रांसफर) को साबित करने की तुलना में अधिक कठिन और संसाधन-गहन है।
हालांकि, शून्य-ज्ञान तकनीक में प्रगति (opens in a new tab) शून्य-ज्ञान प्रमाणों में EVM गणना को लपेटने में नए सिरे से रुचि जगा रही है। ये प्रयास एक शून्य-ज्ञान EVM (zkEVM) कार्यान्वयन बनाने की दिशा में हैं जो प्रोग्राम निष्पादन की शुद्धता को कुशलतापूर्वक सत्यापित कर सकता है। एक zkEVM सर्किट में साबित करने/सत्यापन के लिए मौजूदा EVM ओपकोड को फिर से बनाता है, जिससे स्मार्ट अनुबंधों को निष्पादित करने की अनुमति मिलती है।
EVM की तरह, एक zkEVM कुछ इनपुट पर गणना किए जाने के बाद स्थितियों के बीच संक्रमण करता है। अंतर यह है कि zkEVM प्रोग्राम के निष्पादन में हर कदम की शुद्धता को सत्यापित करने के लिए शून्य-ज्ञान प्रमाण भी बनाता है। वैधता प्रमाण उन ऑपरेशनों की शुद्धता को सत्यापित कर सकते हैं जो VM की स्थिति (मेमोरी, स्टैक, स्टोरेज) और स्वयं गणना को छूते हैं (यानी, क्या ऑपरेशन ने सही ओपकोड को कॉल किया और उन्हें सही ढंग से निष्पादित किया?)।
EVM-संगत ZK-रोलअप्स की शुरूआत से डेवलपर्स को शून्य-ज्ञान प्रमाणों की स्केलेबिलिटी और सुरक्षा गारंटी का लाभ उठाने में मदद मिलने की उम्मीद है। इससे भी महत्वपूर्ण बात यह है कि मूल इथेरियम बुनियादी ढांचे के साथ संगतता का मतलब है कि डेवलपर्स परिचित (और युद्ध-परीक्षणित) टूलिंग और भाषाओं का उपयोग करके ZK-अनुकूल डैप्स (dapps) बना सकते हैं।
ZK-रोलअप शुल्क कैसे काम करते हैं?
ZK-रोलअप्स पर लेन-देन के लिए उपयोगकर्ता कितना भुगतान करते हैं, यह इथेरियम मेननेट की तरह ही गैस शुल्क पर निर्भर करता है। हालांकि, गैस शुल्क L2 पर अलग तरह से काम करते हैं और निम्नलिखित लागतों से प्रभावित होते हैं:
-
स्थिति लेखन: इथेरियम की स्थिति में लिखने (यानी, इथेरियम ब्लॉकचेन पर लेन-देन जमा करने) के लिए एक निश्चित लागत है। ZK-रोलअप्स लेन-देन को बैच करके और कई उपयोगकर्ताओं में निश्चित लागतों को फैलाकर इस लागत को कम करते हैं।
-
डेटा प्रकाशन: ZK-रोलअप्स प्रत्येक लेन-देन के लिए स्थिति डेटा इथेरियम पर
calldataके रूप में प्रकाशित करते हैं।calldataलागत वर्तमान में EIP-1559 (opens in a new tab) द्वारा शासित होती है, जो क्रमशः गैर-शून्य बाइट्स के लिए 16 गैस औरcalldataके शून्य बाइट्स के लिए 4 गैस की लागत निर्धारित करती है। प्रत्येक लेन-देन पर भुगतान की जाने वाली लागत इस बात से प्रभावित होती है कि इसके लिए ऑनचेन कितनाcalldataपोस्ट करने की आवश्यकता है। -
L2 ऑपरेटर शुल्क: यह लेन-देन को प्रोसेस करने में होने वाली कम्प्यूटेशनल लागतों के मुआवजे के रूप में रोलअप ऑपरेटर को भुगतान की जाने वाली राशि है, जो इथेरियम मेननेट पर लेन-देन "प्राथमिकता शुल्क (टिप्स)" की तरह है।
-
प्रमाण निर्माण और सत्यापन: ZK-रोलअप ऑपरेटरों को लेन-देन बैचों के लिए वैधता प्रमाण प्रस्तुत करना होगा, जो संसाधन-गहन है। मेननेट पर शून्य-ज्ञान प्रमाणों को सत्यापित करने में भी गैस (~ 500,000 गैस) खर्च होती है।
लेन-देन को बैच करने के अलावा, ZK-रोलअप्स लेन-देन डेटा को संपीड़ित करके उपयोगकर्ताओं के लिए शुल्क कम करते हैं। आप इथेरियम ZK-रोलअप्स का उपयोग करने में कितनी लागत आती है, इसका वास्तविक समय का अवलोकन देख सकते हैं (opens in a new tab)।
ZK-रोलअप्स इथेरियम को कैसे स्केल करते हैं?
लेन-देन डेटा संपीड़न
ZK-रोलअप्स गणना को ऑफचेन ले जाकर इथेरियम की बेस लेयर पर थ्रूपुट बढ़ाते हैं, लेकिन स्केलिंग के लिए वास्तविक बढ़ावा लेन-देन डेटा को संपीड़ित करने से आता है। इथेरियम का ब्लॉक आकार उस डेटा को सीमित करता है जो प्रत्येक ब्लॉक रख सकता है और, विस्तार से, प्रति ब्लॉक प्रोसेस किए गए लेन-देन की संख्या को सीमित करता है। लेन-देन से संबंधित डेटा को संपीड़ित करके, ZK-रोलअप्स प्रति ब्लॉक प्रोसेस किए गए लेन-देन की संख्या में काफी वृद्धि करते हैं।
ZK-रोलअप्स ऑप्टिमिस्टिक रोलअप्स की तुलना में लेन-देन डेटा को बेहतर ढंग से संपीड़ित कर सकते हैं क्योंकि उन्हें प्रत्येक लेन-देन को मान्य करने के लिए आवश्यक सभी डेटा पोस्ट नहीं करना पड़ता है। उन्हें केवल रोलअप पर खातों और शेष राशि की नवीनतम स्थिति के पुनर्निर्माण के लिए आवश्यक न्यूनतम डेटा पोस्ट करना होता है।
पुनरावर्ती प्रमाण
शून्य-ज्ञान प्रमाणों का एक लाभ यह है कि प्रमाण अन्य प्रमाणों को सत्यापित कर सकते हैं। उदाहरण के लिए, एक एकल ज़ीके-स्नार्क अन्य ज़ीके-स्नार्क को सत्यापित कर सकता है। ऐसे "प्रमाणों के प्रमाण" को पुनरावर्ती प्रमाण कहा जाता है और ये ZK-रोलअप्स पर थ्रूपुट को नाटकीय रूप से बढ़ाते हैं।
वर्तमान में, वैधता प्रमाण ब्लॉक-दर-ब्लॉक आधार पर उत्पन्न किए जाते हैं और सत्यापन के लिए L1 अनुबंध में जमा किए जाते हैं। हालांकि, एकल ब्लॉक प्रमाणों को सत्यापित करना उस थ्रूपुट को सीमित करता है जिसे ZK-रोलअप्स प्राप्त कर सकते हैं क्योंकि ऑपरेटर द्वारा प्रमाण प्रस्तुत करने पर केवल एक ब्लॉक को अंतिम रूप दिया जा सकता है।
हालांकि, पुनरावर्ती प्रमाण एक वैधता प्रमाण के साथ कई ब्लॉकों को अंतिम रूप देना संभव बनाते हैं। ऐसा इसलिए है क्योंकि साबित करने वाला सर्किट पुनरावर्ती रूप से कई ब्लॉक प्रमाणों को तब तक एकत्रित करता है जब तक कि एक अंतिम प्रमाण नहीं बन जाता। L2 ऑपरेटर इस पुनरावर्ती प्रमाण को जमा करता है, और यदि अनुबंध इसे स्वीकार करता है, तो सभी प्रासंगिक ब्लॉकों को तुरंत अंतिम रूप दिया जाएगा। पुनरावर्ती प्रमाणों के साथ, इथेरियम पर अंतराल पर अंतिम रूप दिए जा सकने वाले ZK-रोलअप लेन-देन की संख्या बढ़ जाती है।
ZK-रोलअप्स के फायदे और नुकसान
| फायदे | नुकसान |
|---|---|
| वैधता प्रमाण ऑफचेन लेन-देन की शुद्धता सुनिश्चित करते हैं और ऑपरेटरों को अमान्य स्थिति संक्रमण निष्पादित करने से रोकते हैं। | वैधता प्रमाणों की गणना और सत्यापन से जुड़ी लागत पर्याप्त है और रोलअप उपयोगकर्ताओं के लिए शुल्क बढ़ा सकती है। |
| तेज़ लेन-देन अंतिमता प्रदान करता है क्योंकि L1 पर वैधता प्रमाण सत्यापित होने के बाद स्थिति अपडेट स्वीकृत हो जाते हैं। | शून्य-ज्ञान तकनीक की जटिलता के कारण EVM-संगत ZK-रोलअप्स बनाना मुश्किल है। |
| सुरक्षा के लिए विश्वासहीन क्रिप्टोग्राफिक तंत्र पर निर्भर करता है, न कि ऑप्टिमिस्टिक रोलअप्स की तरह प्रोत्साहित अभिनेताओं की ईमानदारी पर। | वैधता प्रमाण प्रस्तुत करने के लिए विशेष हार्डवेयर की आवश्यकता होती है, जो कुछ पार्टियों द्वारा चेन के केंद्रीकृत नियंत्रण को प्रोत्साहित कर सकता है। |
| L1 पर ऑफचेन स्थिति को पुनर्प्राप्त करने के लिए आवश्यक डेटा संग्रहीत करता है, जो सुरक्षा, सेंसरशिप-प्रतिरोध और विकेंद्रीकरण की गारंटी देता है। | केंद्रीकृत ऑपरेटर (सीक्वेंसर) लेन-देन के क्रम को प्रभावित कर सकते हैं। |
| उपयोगकर्ता अधिक पूंजी दक्षता से लाभान्वित होते हैं और बिना किसी देरी के L2 से फंड निकाल सकते हैं। | हार्डवेयर आवश्यकताएं उन प्रतिभागियों की संख्या को कम कर सकती हैं जो चेन को प्रगति करने के लिए मजबूर कर सकते हैं, जिससे दुर्भावनापूर्ण ऑपरेटरों द्वारा रोलअप की स्थिति को फ्रीज करने और उपयोगकर्ताओं को सेंसर करने का जोखिम बढ़ जाता है। |
| जीवंतता मान्यताओं पर निर्भर नहीं करता है और उपयोगकर्ताओं को अपने फंड की सुरक्षा के लिए चेन को मान्य नहीं करना पड़ता है। | कुछ साबित करने वाली प्रणालियों (जैसे, ज़ीके-स्नार्क) को एक विश्वसनीय सेटअप की आवश्यकता होती है, जिसे यदि गलत तरीके से संभाला जाता है, तो संभावित रूप से ZK-रोलअप के सुरक्षा मॉडल से समझौता हो सकता है। |
बेहतर डेटा संपीड़न इथेरियम पर calldata प्रकाशित करने की लागत को कम करने और उपयोगकर्ताओं के लिए रोलअप शुल्क को कम करने में मदद कर सकता है। |
ZK-रोलअप्स की एक दृश्य व्याख्या
Finematics को ZK-रोलअप्स समझाते हुए देखें:
zkEVM पर कौन काम कर रहा है?
L2 बनाम L1 के लिए zkEVM
zkEVMs पर काम करने वाले प्रोजेक्ट्स में शामिल हैं:
-
zkEVM (opens in a new tab) - zkEVM एथेरियम फाउंडेशन द्वारा वित्त पोषित एक प्रोजेक्ट है जो एक EVM-संगत ZK-रोलअप और इथेरियम ब्लॉक के लिए वैधता प्रमाण उत्पन्न करने के लिए एक तंत्र विकसित करता है।
-
पॉलीगॉन zkEVM (opens in a new tab) - इथेरियम मेननेट पर एक विकेंद्रीकृत ZK रोलअप है जो एक शून्य-ज्ञान इथेरियम वर्चुअल मशीन (zkEVM) पर काम कर रहा है जो शून्य-ज्ञान-प्रमाण सत्यापन के साथ स्मार्ट अनुबंधों सहित पारदर्शी तरीके से इथेरियम लेन-देन निष्पादित करता है।
-
Scroll (opens in a new tab) - Scroll एक तकनीक-संचालित कंपनी है जो इथेरियम के लिए एक मूल zkEVM लेयर 2 (l2) समाधान बनाने पर काम कर रही है।
-
Taiko (opens in a new tab) - Taiko एक विकेंद्रीकृत, इथेरियम-समतुल्य ZK-रोलअप (एक टाइप 1 ZK-EVM (opens in a new tab)) है।
-
ज़ेडकेसिंक (opens in a new tab) - ज़ेडकेसिंक एरा (ZKsync Era) मैटर लैब्स द्वारा निर्मित एक EVM-संगत ZK रोलअप है, जो अपने स्वयं के zkEVM द्वारा संचालित है।
-
स्टार्कनेट (opens in a new tab) - स्टार्कनेट स्टार्कवेयर द्वारा निर्मित एक EVM-संगत लेयर 2 (l2) स्केलिंग समाधान है।
-
Morph (opens in a new tab) - Morph एक हाइब्रिड रोलअप स्केलिंग समाधान है जो लेयर 2 (l2) स्थिति चुनौती समस्या को दूर करने के लिए zk-प्रमाण का उपयोग करता है।
-
Linea (opens in a new tab) - Linea कॉन्सेन्सिस द्वारा निर्मित एक इथेरियम-समतुल्य zkEVM लेयर 2 (l2) है, जो पूरी तरह से इथेरियम पारिस्थितिकी तंत्र के साथ संरेखित है।
ZK-रोलअप्स पर आगे की पढ़ाई
- शून्य-ज्ञान रोलअप्स क्या हैं? (opens in a new tab)
- शून्य-ज्ञान रोलअप्स क्या हैं? (opens in a new tab)
- इथेरियम रोलअप्स के लिए व्यावहारिक मार्गदर्शिका (opens in a new tab)
- STARKs बनाम SNARKs (opens in a new tab)
- zkEVM क्या है? (opens in a new tab)
- ZK-EVM प्रकार: इथेरियम-समतुल्य, EVM-समतुल्य, टाइप 1, टाइप 4, और अन्य गुप्त बज़वर्ड्स (opens in a new tab)
- zkEVM का परिचय (opens in a new tab)
- ZK-EVM L2s क्या हैं? (opens in a new tab)
- Awesome-zkEVM संसाधन (opens in a new tab)
- तकनीकी रूप से ZK-SNARKS कैसे काम करते हैं (opens in a new tab)
- SNARKs कैसे संभव हैं? (opens in a new tab)
ट्यूटोरियल: इथेरियम पर गोपनीयता और शून्य-ज्ञान
- गुप्त स्थिति के लिए शून्य-ज्ञान का उपयोग करना – ऑन-चेन गुप्त गेम स्थिति बनाए रखने के लिए ZK प्रमाणों और ऑफचेन सर्वर घटकों का उपयोग कैसे करें।
- स्टील्थ पतों का उपयोग करना – कैसे ERC-5564 स्टील्थ पते क्रिप्टोग्राफिक कुंजी व्युत्पत्ति का उपयोग करके अनाम ETH ट्रांसफर को सक्षम करते हैं।
- वेब2 प्रमाणीकरण के लिए इथेरियम का उपयोग करना – SAML-आधारित वेब2 प्रमाणीकरण प्रणालियों के साथ इथेरियम वॉलेट हस्ताक्षर को कैसे एकीकृत करें।