परिचय: एज़टेक एक प्राइवेसी-फर्स्ट लेयर 2 है जो डेवलपर्स को स्मार्ट कॉन्ट्रैक्ट बनाने की अनुमति देता है जिनमें निजी और सार्वजनिक राज्य और निजी और सार्वजनिक निष्पादन होता है, जिससे "चयनात्मक गोपनीयता" ऐप्स संभव होते हैं जो सामान्य DeFi की तरह महसूस होते हैं—बिना सभी चीजों को ऑन-चेन पर प्रकट किए।
एजेक्ट क्या है?
एजेक्ट एक लेयर 2 नेटवर्क है जो डिज़ाइन के आधार पर गोपनीयता पर केंद्रित है, जबकि आवश्यकता पड़ने पर सार्वजनिक संयोजन को भी समर्थन करता है।
मुख्य विचार सरल है:
-
संवेदनशील उपयोगकर्ता क्रियाओं (शेष, पहचान, इच्छा, रणनीति) के लिए निजी निष्पादन और निजी अवस्था।
-
ऐसी चीजों के लिए सार्वजनिक निष्पादन और सार्वजनिक अवस्था जिन्हें वैश्विक रूप से दृश्यमान होना आवश्यक है (सार्वजनिक तरलता, सार्वजनिक कॉन्ट्रैक्ट तर्क, साझा अवस्था)।
इसलिए, "सभी सार्वजनिक" या "सभी निजी" चुनने के बजाय, एज़टेक हाइब्रिड ऐप्स का समर्थन करता है।
एजेक पर एक लेनदेन कैसे काम करता है
एज़टेक निष्पादन को दो अलग-अलग वातावरणों में विभाजित करता है:
-
निजी निष्पादन वातावरण (PXE) — उपयोगकर्ता ओर चलता है
निजी कार्यों को PXE (जिसे "पिक्सी" बोला जाता है) के भीतर क्लाइंट-ओरिएंटेड रूप से निष्पादित किया जाता है ताकि गोपनीयता को अधिकतम किया जा सके।
PXE:
-
स्थानीय रूप से निजी कार्यों को निष्पादित करता है
-
कुंजियाँ और नोट्स रखता है
-
निजी संचालन के लिए ज़ीरो-नॉलेज प्रूफ़ उत्पन्न करता है
-
aztec.js (TypeScript) में शामिल है, Node या ब्राउज़र में चलाया जा सकता है
-
पब्लिक VM (AVM) — एजेक नोड्स पर चलता है
सार्वजनिक कार्य नेटवर्क पर एज़टेक वर्चुअल मशीन (AVM) पर निष्पादित होते हैं, जो संकल्पनात्मक रूप से EVM के समान है (इसलिए "गैस-दक्षता की अंतर्ज्ञान" सॉलिडिटी की तरह लागू होती है)।
दिशात्मक निष्पादन नियम (महत्वपूर्ण)
एक लेन-देन निजी → सार्वजनिक की ओर प्रवाहित होता है:
-
निजी कार्य बाद में चलाने के लिए सार्वजनिक कार्यों को सूची में डाल सकते हैं।
-
सार्वजनिक फ़ंक्शन निजी फ़ंक्शन को नहीं बुला सकते।
यह पृथक्करण जानबूझकर किया गया है: सार्वजनिक नेटवर्क को निजी निष्पादन में "प्रवेश" नहीं करना चाहिए।
निजी बनाम सार्वजनिक अवस्था: नोट्स, नलीफायर्स और ट्रीज
एज़टेक गोपनीयता के आधार पर विभिन्न स्टेट मॉडल्स का उपयोग करता है:
निजी अवस्था = UTXO-शैली के “नोट्स”
निजी अवस्था नोट्स (UTXO-जैसे डेटा के टुकड़े) के रूप में संग्रहित की जाती है। चीजों को निजी रखने के लिए:
-
नोट्स को एक ऐपेंड-ओनली UTXO ट्री में जोड़ दिए जाते हैं
-
जब एक नोट को "खर्च किया जाता है/हटा दिया जाता है," तो एक नलिफायर बनाया जाता है
-
नलीफायर्स एक अलग नलीफायर ट्री में संग्रहित किए जाते हैं
इससे नेटवर्क को नोट्स की निजी सामग्री को उजागर किए बिना “एक बार खर्च किया गया” का पालन करने की अनुमति मिलती है।
सार्वजनिक अवस्था = खाते जैसा सार्वजनिक भंडार
सार्वजनिक अवस्था ईथेरियम की तरह व्यवहार करती है:
-
एक सार्वजनिक डेटा वृक्ष में संग्रहीत
-
सीधे अपडेट किया गया और ऑन-चेन पर दिखाई देता है
डेवलपर का निष्कर्ष:
-
निजी राज्य कार्य = प्रतिबद्धताएँ + नलीफाइलर (डेटा को खुलासा किए बिना सहीठा साबित करें)
-
सार्वजनिक अवस्था कार्य = सीधे अपडेट (सामान्य ब्लॉकचेन स्टोरेज व्यवहार)
खाता अमूर्तीकरण: प्रत्येक खाता एक स् है
एज़टेक के प्रोटोकॉल स्तर पर मूल खाता अमूर्तीकरण है:
-
कोई EOA नहीं हैं (कोई सरल “कीपेयर खाते” नहीं हैं)
-
प्रत्येक खाता एक स् है
-
विकासक अपने नियम निर्धारित कर सकते हैं:
-
प्रामाणिकता (स्वाक्षरी, बहु-स्वाक्षरी, पासकी, कस्टम लॉजिक)
-
अनुमति नीतियाँ (सीमाएँ, अनुमतियाँ, सेशन कुंजियाँ)
-
नॉन्स / पुनरावृत्ति सुरक्षा
-
यह DoS (“वैलिडेशन महंगा है”) के खिलाफ क्यों मदद करता है
एज़टेक का मॉडल जटिल प्रमाणीकरण को क्लाइंट-साइड पर बढ़ाता है:
-
ग्राहक सत्यापन करता है और एक ZK साबिती बनाता है कि “सत्यापन सफल रहा”
-
अनुक्रमक एक नियत आकार के सबूत की पुष्टि करता है
-
इसलिए सत्यापन जटिलता नेटवर्क सत्यापन लागत को बढ़ा नहीं देती
इससे "पावर-यूजर" खाता तर्क सक्षम होता है बिना चेन को धीमा किए।
एजेक खातों में कुंजियाँ (गोपनीयता-केंद्रित)
प्रत्येक एज़टेक खाता 3 कुंजी युग्मों द्वारा समर्थित होता है:
-
नलीफायर की जोड़ी: नोट नलीफायर्स की गणना के लिए उपयोग की जाती है
-
आने वाला दृश्य कुंजी युग्म: प्राप्तकर्ता के लिए नोट्स को एन्क्रिप्ट करने के लिए उपयोग किया जाता है
-
आउटगोइंग व्यूइंग की जोड़ी: प्रेषक के लिए नोट्स को एन्क्रिप्ट करने के लिए उपयोग की जाती है
चूंकि खाते स्मार्ट कॉन्ट्रैक्ट होते हैं, इसलिए उनमें स्वयं से हस्ताक्षर कीज़ जोड़ी नहीं होती—प्रमाणीकरण खाता कॉन्ट्रैक्ट डिज़ाइन पर निर्भर करता है।
प्रमाणीकरण साक्षी: "अनंत अनुमतियों" से सुरक्षित
एज़टेक जोखिम भरे “अनंत अनुमति” पैटर्न को प्रमाणीकरण साक्षी (AuthWit) से बदल देता है:
-
अनंत काल के लिए असीमित अनुमति देने के बजाय,
-
उपयोगकर्ता विशिष्ट पैरामीटर के साथ विशिष्ट कार्रवाइयों को अधिकृत करते हैं
इसे लगातार अनुमोदन जोखिम को कम करने के लिए डिज़ाइन किया गया है, जबकि अच्छा यूएक्स (बैचिंग, स्वचालन) सक्षम रहता है।
Noir के साथ Aztec पर बनाएं
एज़टेक स्मार्ट कॉन्ट्रैक्ट्स Noir में लिखे जाते हैं, जो प्रूवेबल प्रोग्राम्स/कॉन्ट्रैक्ट्स लिखने के लिए एक ZK-केंद्रित भाषा है। दस्तावेज़ों से एक महत्वपूर्ण चेतावनी: प्रूफिंग की प्रदर्शन समझ सामान्य निष्पादन से अलग होती है, इसलिए प्राइवेट फंक्शन्स को अक्सर अनुकूलित नहीं किया जा सकता—इसलिए “प्रदर्शनशील Noir कैसे लिखें” सीखना महत्वपूर्ण है।
















