मूल लेखक: Vitalik Buterin
मूल अनुवाद: DeFi का मार्ग
बेन डीफ्रांसेस्को, मैट सोलोमन, टोनी वाहरस्टैटर और एंटोनियो सैंसो की प्रतिक्रिया और समीक्षा के लिए विशेष आभार।
इथेरियम पारिस्थितिकी तंत्र की सबसे बड़ी चुनौतियों में से एक गोपनीयता का मुद्दा है। डिफ़ॉल्ट रूप से, सार्वजनिक ब्लॉकचेन पर होने वाली हर चीज़ सबके सामने होती है। इसका मतलब सिर्फ पैसे और वित्तीय लेनदेन ही नहीं, बल्कि ENS डोमेन, POAP, NFT, सोल बाउंड टोकन जैसी चीज़ें भी हैं। व्यावहारिक रूप से, इथेरियम के तमाम एप्लिकेशन का इस्तेमाल करने के लिए आपको अपने जीवन के महत्वपूर्ण हिस्सों को सार्वजनिक करना पड़ता है, ताकि कोई भी उन्हें देख और विश्लेषित कर सके।
इस स्थिति को कैसे सुधारा जाए, यह एक महत्वपूर्ण सवाल बन गया है। हालाँकि, अब तक गोपनीयता बेहतर बनाने की चर्चा मुख्य रूप से एक खास उपयोग के इर्द-गिर्द ही सिमटी रही है: ETH और प्रमुख ERC-20 टोकन का गोपनीय स्थानांतरण (आमतौर पर खुद को भेजना)। इस लेख में एक अलग तरह के उपकरण के तंत्र और उपयोग के मामलों के बारे में बताया गया है, जो इथेरियम की गोपनीयता की स्थिति को कई मामलो�� में बेहतर बना सकते हैं: अदृश्य पते (स्टेल्थ एड्रेस)।
अदृश्य पता (स्टेल्थ एड्रेस) प्रणाली क्या है?
मान लीजिए एलिस बॉब को कोई संपत्ति देना चाहती है। यह कुछ क्रिप्टोकरेंसी (जैसे 1 ETH, 500 RAI) हो सकती है, या फिर एक NFT भी हो सकता है। जब बॉब को यह संपत्ति मिलती है, तो वह नहीं चाहता कि पूरी दुनिया को पता चले कि यह उसे मिली है। लेनदेन के होने के तथ्य को छुपाना मुश्किल है, खासकर अगर यह एक ऐसा NFT है जिसकी ब्लॉकचेन पर सिर्फ एक ही प्रति है, लेकिन प्राप्तकर्ता को छुपाना ज़्यादा संभव हो सकता है। एलिस और बॉब आलसी भी हैं: वे एक ऐसी भुगतान प्रक्रिया चाहते हैं जो आज की तरह ही सरल हो। बॉब एलिस को (या ENS पर पंजीकृत कराकर) एक "पता" कोड भेजता है, जो बताता है कि उसे कैसे भुगतान किया जाए, और एलिस (या कोई और) के लिए संपत्ति भेजने के लिए बस यही जानकारी काफी है।
ध्यान रहे, यह Tornado Cash जैसे उपकरणों द्वारा दी जाने वाली गोपनीयता से अलग है। Tornado Cash मुख्य रूप से ETH या प्रमुख ERC-20 टोकन जैसी प्रतिस्थापनीय संपत्तियों के स्थानांतरण को छुपा सकता है (हालाँकि खुद को भेजना सबसे आसान है), लेकिन यह अज्ञात ERC-20 स्थानांतरणों के लिए गोपनीयता जोड़ने में कमज़ोर है, और NFT स्थानांतरणों के लिए तो बिल्कुल भी काम नहीं करता।

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

1. बॉब अपनी रूट स्पेंडिंग की (m) और उससे संबंधित इनविज़िबल मेटा-एड्रेस (M) जनरेट करता है।
2. बॉब एक ENS रिकॉर्ड जोड़ता है ताकि bob.eth को उसके इनविज़िबल मेटा-एड्रेस M से जोड़ा जा सके।
3. मान लीजिए एलिस को बॉब का ENS नाम bob.eth पता है। वह ENS पर जाकर उससे जुड़ा इनविज़िबल मेटा-एड्रेस M ढूंढती है।
4. एलिस एक ऐसी अस्थायी प्राइवेट की जनरेट करती है जिसे केवल वही जानती है और जिसका इस्तेमाल वह सिर्फ एक बार (इस खास इनविज़िबल एड्रेस को बनाने के लिए) करेगी।
5. एलिस एक ऐसे एल्गोरिदम का इस्तेमाल करती है जो उसकी अस्थायी प्राइवेट की और बॉब के मेटा-एड्रेस M को मिलाकर एक नया इनविज़िबल एड्रेस बनाता है। अब वह एसेट्स इस नए एड्रेस पर भेज सकती है।
6. एलिस अपनी अस्थायी प्राइवेट की से संबंधित अस्थायी पब्लिक की भी जनरेट करती है और उसे एक अस्थायी पब्लिक की रजिस्ट्री में पब्लिश कर देती है (यह काम उसी ट्रांजैक्शन में किया जा सकता है जिसमें एसेट्स इनविज़िबल एड्रेस पर भेजे जाते हैं)।
7. अपने लिए बने इनविज़िबल एड्रेस का पता लगाने के लिए, बॉब को अस्थायी पब्लिक की रजिस्ट्री को स्कैन करना होगा। उसे अपने आखिरी स्कैन के बाद से पब्लिश हुई सभी नई अस्थायी पब्लिक कीज़ की लिस्ट खोजनी होगी।
8. हर एक अस्थायी पब्लिक की के लिए, बॉब उसे अपनी रूट स्पेंडिंग की के साथ मिलाकर एक इनविज़िबल एड्रेस बनाने की कोशिश करता है और चेक करता है कि क्या उस एड्रेस पर कोई एसेट है। अगर है, तो बॉब उस एड्रेस की स्पेंडिंग की कैलकुलेट करके उसे सेव कर लेता है।
यह पूरी प्रक्रिया दो क्रिप्टोग्राफिक ट्रिक्स पर निर्भर करती है। पहला, हमें एक शेयर्ड सीक्रेट जनरेट करने के लिए एल्गोरिदम के एक जोड़े की जरूरत होती है: एक एल्गोरिदम जो एलिस की प्राइवेट चीज (उसकी अस्थायी की) और बॉब की पब्लिक चीज (उसका मेटा-एड्रेस) इस्तेमाल करे, और दूसरा एल्गोरिदम जो बॉब की प्राइवेट चीज (उसकी रूट स्पेंडिंग की) और एलिस की पब्लिक चीज (उसकी अस्थायी पब्लिक की) इस्तेमाल करे। यह काम कई तरीकों से किया जा सकता है; डिफ़ी-हेलमैन की एक्सचेंज मॉडर्न क्रिप्टोग्राफी की बुनियाद रखने वाली मुख्य तकनीकों में से एक है, और यह ठीक यही काम करती है।
लेकिन सिर्फ एक शेयर्ड सीक्रेट काफी नहीं है: अगर हम सिर्फ शेयर्ड सीक्रेट से ही प्राइवेट की बना दें, तो एलिस और बॉब दोनों ही उस एड्रेस से खर्च कर सकेंगे। हम यहीं रुक सकते थे और बॉब से कह सकते थे कि वह पैसे को नए एड्रेस पर ट्रांसफर कर दे, लेकिन यह तरीका न तो कारगर है और न ही सुरक्षित। इसलिए हम एक की ब्लाइंडिंग मैकेनिज्म भी जोड़ते हैं: एल्गोरिदम का एक ऐसा जोड़ा, जिसकी मदद से बॉब शेयर्ड सीक्रेट को अपनी रूट स्पेंडिंग की के साथ मिला सके, और एलिस शेयर्ड सीक्रेट को बॉब के मेटा-एड्रेस के साथ मिला सके। इस तरह एलिस इनविज़िबल एड्रेस बना सकती है, और बॉब उस इनविज़िबल एड्रेस के लिए स्पेंडिंग की बना सकता है। यह सब कुछ बिना किसी को इनविज़िबल एड्रेस और बॉब के मेटा-एड्रेस के बीच (��ा एक इनविज़िबल एड्रेस और दूसरे इनविज़िबल एड्रेस के बीच) कोई कनेक्शन दिखाए बगैर हो जाता है।
एलिप्टिक कर्व क्रिप्टोग्राफी से इनविज़िबल एड्रेस
एलिप्टिक कर्व क्रिप्टोग्राफी (ECC) का इस्तेमाल करके इनविज़िबल एड्रेस बनाने का आइडिया सबसे पहले 2014 में पीटर टॉड ने बिटकॉइन के लिए प्रस्तावित किया था। यह तकनीक इस तरह काम करती है (यह मानकर चलती है कि आपको ECC की बेसिक जानकारी है; अगर नहीं, तो आप यहां, यहां और यहां से सीख सकते हैं):
• बॉब एक प्राइवेट की m जनरेट करता है और M = G * m कैलकुलेट करता है, जहां G एलिप्टिक कर्व का सर्वसम्मति से तय जनरेटर पॉइंट है। यह M ही इनविज़िबल मेटा-एड्रेस का एन्कोडेड रूप है।
• एलिस एक अस्थायी प्राइवेट की r जनरेट करती है और अस्थायी पब्लिक की R = G * r को पब्लिश कर देती है।
• एलिस एक शेयर्ड सीक्रेट S = M * r कैलकुलेट कर सकती है, जबकि बॉब भी वही शेयर्ड सीक्रेट S = m * R कैलकुलेट कर सकता है।
• आम तौर पर, बिटकॉइन और इथेरियम (अच्छी तरह डिज़ाइन किए गए ERC-4337 अकाउंट्स सहित) में, किसी एड्रेस से ट्रांजैक्शन वेरिफाई करने के लिए इस्तेमाल होने वाली पब्लिक की का एक हैश ही एड्रेस होता है। इसलिए, अगर आप पब्लिक की कैलकुलेट कर लें, तो एड्रेस निकाल सकते हैं। पब्लिक की कैलकुलेट करने के लिए, एलिस या बॉब P = M + G * hash(S) कैलकुलेट कर सकते हैं।
• उस एड्रेस की प्राइवेट की कैलकुलेट करने के लिए, सिर्फ बॉब (और केवल बॉब) p = m + hash(S) कैलकुलेट कर सकता है। यह तरीका ऊपर बताई गई सभी जरूरतों को पूरा करता है और बेहद सरल है!
इस वक्त एक EIP (इथेरियम इम्प्रूवमेंट प्रपोज़ल) भी चल रही है जो इथेरियम के लिए एक इनविज़िबल एड्रेस स्टैंडर्ड को डिफाइन करने की कोशिश कर रही है। यह EIP इसी ECC मेथड को सपोर्ट करती है और भविष्य में दूसरी मेथड्स (जैसे कि बॉब के लिए अलग-अलग स्पेंड और व्यू कीज़ रखना, या क्वांटम-रेजिस्टेंट सिक्योरिटी के लिए अलग क्रिप्टोग्राफी इस्तेमाल करना) के विकास के लिए भी जगह छोड़ती है। अब आप सोच रहे होंगे: इनविज़िबल एड्रेस मुश्किल नहीं हैं, उनका सिद्धांत मजबूत है, और उन्हें अपनाना सिर्फ इम्प्लीमेंटेशन का मामला है। हालांकि, दिक्कत यह है कि प्रैक्टिकल और प्रभावी इम्प्लीमेंटेशन के लिए कुछ काफी बड़ी इम्प्लीमेंटेशन डिटेल्स से गुजरना जरूरी है।
अदृश्य पते और लेनदेन शुल्क का भुगतान
मान लीजिए कोई आपको एक NFT भेजता है। आपकी गोपनीयता बनाए रखने के लिए, वे इसे आपके नियंत्रण वाले एक अदृश्य पते पर भेजते हैं। ब्लॉकचेन पर मौजूद अस्थायी सार्वजनिक कुंजी को स्कैन करने के बाद, आपका वॉलेट स्वचालित रूप से उस पते का पता लगा लेता है। अब आप इस NFT के स्वामित्व को साबित कर सकते हैं या इसे किसी और को ट्रांसफर कर सकते हैं। लेकिन एक दिक्कत है! उस खाते में ETH नहीं है, इसलिए लेनदेन शुल्क चुकाया नहीं जा सकता। ERC-4337 टोकन पेमेंटर भी काम नहीं आएंगे, क्योंकि वे सिर्फ फंजिबल ERC-20 टोकन के लिए ही बने हैं। और आप अपने मुख्य वॉलेट से वहां ETH नहीं भेज सकते, क्योंकि ऐसा करने से आपके पते के बीच एक सार्वजनिक लिंक बन जाएगा।
लेखक द्वारा "2017 या उससे पहले के क्रिप्टो धोखाधड़ी वाले व्यक्तियों" के मीम्स का इस्तेमाल एक अहम तकनीक है, जो उनकी विद्वता और प्रतिष्ठा दर्शाती है। यह दिखाता है कि वे क्रिप्टो दुनिया में काफी समय से हैं, उनकी समझ गहरी है, और वे SBF जैसे लोगों के झांसे में आसानी से नहीं आते।
इस समस्या का एक "सीधा" हल तो यह है: सिर्फ ZK-SNARKs का इस्तेमाल करके पैसे ट्रांसफर कर दो, ताकि शुल्क चुकाया जा सके! लेकिन इससे gas की खपत बहुत ज्यादा होती है, जिससे एक ट्रांसफर में ही लाखों gas लग सकते हैं।
एक और चतुर तरीका है जो विशेष लेनदेन बंडलरों (MEV की भाषा में "सर्चर्स") पर निर्भर करता है। ये बंडलर उपयोगकर्ताओं को एक बार भुगतान करने की सुविधा देंगे, जिससे वे ब्लॉकचेन पर लेनदेन के शुल्क चुकाने के लिए इस्तेमाल होने वाले "टिकटों" का एक सेट खरीद सकें। जब कोई उपयोगकर्ता किसी अदृश्य पते से, जहां कोई और लेनदेन नहीं है, अपना NFT इस्तेमाल करना चाहता है, तो वह इनमें से एक टिकट को Chaumian ब्लाइंडिंग योजना का इस्तेमाल करके एन्कोड करके बंडलर को देता है। यह एक बुनियादी प्रोटोकॉल है जिसका प्रस्ताव 1980 और 1990 के दशक में केंद्रीकृत गोपनीयता-संरक्षित इलेक्ट्रॉनिक कैश सिस्टम में किया गया था। सर्चर्स "टिकट" स्वीकार करते हैं और तब तक लेनदेन को अपने बंडल में मुफ्त शामिल करते रहते हैं, जब तक कि उसे किसी ब्लॉक में सफलतापूर्वक स्वीकार नहीं कर लिया जाता। चूंकि शामिल रकम कम होती है और उसका इस्तेमाल सिर्फ लेनदेन शुल्क चुकाने के लिए हो सकता है, इसलिए विश्वास और नियामकीय समस्याएं "पूर्ण" केंद्रीकृत गोपनीयता-संरक्षित इलेक्ट्रॉनिक कैश के मुकाबले काफी कम हैं।
अदृश्य पते और व्यय व दृश्य कुंजियों का अलगाव
मान लीजिए बॉब के पास एक ही मुख्य "मास्टर व्यय कुंजी" नहीं है जो सब कुछ कर सके, बल्कि वह एक अलग मास्टर व्यय कुंजी और एक दृश्य कुंजी चाहता है। दृश्य कुंजी बॉब के सभी अदृश्य पतों को देख सकेगी, लेकिन उनसे कुछ खर्च नहीं कर पाएगी।
दीर्घवृत्ताकार वक्र (elliptic curve) की दुनिया में, इसे एक बेहद सरल क्रिप्टोग्राफिक तकनीक से हल किया जा सकता है:
• बॉब का मेटा-पता M अब (K, V) के रूप में होगा, जो G * k और G * v के रूप में एन्कोडेड है, जहां k व्यय कुंजी है और v दृश्य कुंजी है।
• साझा गुप्त (shared secret) अब S = V * r = v * R है, जहां r अभी भी एलिस की अस्थायी कुंजी है और R अभी भी एलिस द्वारा प्रकाशित अस्थायी सार्वजनिक कुंजी है।
• अदृश्य पते की सार्वजनिक कुंजी P = K + G * hash(S) है, और निजी कुंजी p = k + hash(S) है।
ध्यान दें कि पहला चतुर क्रिप्टोग्राफिक कदम (साझा गुप्त बनाना) दृश्य कुंजी का इस्तेमाल करता है, और दूसरा कदम (एलिस और बॉब के समानांतर एल्गोरिदम द्वारा अदृश्य पता और उसकी निजी कुंजी बनाना) मास्टर व्यय कुंजी का इस्तेमाल करता है।
इसके कई उपयोग हैं। उदाहरण के लिए, अगर बॉब POAP प्राप्त क��ना चाहता है, तो वह अपने POAP वॉलेट (या यहां तक कि एक कम सुरक्षित वेब इंटरफ़ेस) को अपनी दृश्य कुंजी दे सकता है, ताकि वह ब्लॉकचेन स्कैन करके उसके सभी POAP देख सके, बिना उस इंटरफ़ेस को उन POAP को खर्च करने की ताकत दिए।
अदृश्य पते और स्कैनिंग को आसान बनाना
सभी अस्थायी सार्वजनिक कुंजियों के सेट को आसानी से स्कैन करने के लिए एक तकनीक यह है कि हर अस्थायी सार्वजनिक कुंजी में एक दृश्य टैग जोड़ दिया जाए। ऊपर बताए गए तंत्र में ऐसा करने का एक तरीका यह है कि दृश्य टैग को साझा गुप्त के एक बाइट के रूप में बनाया जाए (उदाहरण के लिए, S के x-निर्देशांक का mod 256, या hash(S) का पहला बाइट)।
इस तरह, बॉब को हर अस्थायी सार्वजनिक कुंजी के लिए साझा गुप्त की गणना करने के लिए सिर्फ एक दीर्घवृत्ताकार वक्र गुणन करना पड़ता है, जबकि पूरा पता बनाने और उसकी जांच करने की जटिल गणना सिर्फ 1/256 मामलों में ही करनी पड़ती है।
अदृश्य पते और क्वांटम-प्रतिरोधी सुरक्षा
ऊपर बताई गई योजना दीर्घवृत्ताकार वक्रों पर निर्भर करती है, जो अच्छी तो हैं, लेकिन दुर्भाग्य से क्वांटम कंप्यूटरों के प्रति संवेदनशील हैं। अगर क्वांटम कंप्यूटर एक वास्तविक समस्या बन जाते हैं, तो हमें क्वांटम-प्रतिरोधी एल्गोरिदम पर स्विच करना होगा। दो प्राकृतिक उम्मीदवार हैं: दीर्घवृत्ताकार वक्र समरूपता (elliptic curve isogenies) और जाल (lattices)।
एलिप्टिक कर्व होमोमॉर्फिज्म एक अलग तरह का गणितीय ढांचा है, जो एलिप्टिक कर्व पर आधारित है और इसमें रैखिक गुण होते हैं। इसकी मदद से हम पारंपरिक क्रिप्टोग्राफिक तकनीकों का इस्तेमाल तो कर सकते हैं, लेकिन यह उन चक्रीय समूहों से बचता है जो क्वांटम कंप्यूटरों के डिस्क्रीट लॉगरिदम हमलों के प्रति संवेदनशील हो सकते हैं।
होमोमॉर्फिक क्रिप्टोग्राफी की मुख्य कमजोरी इसकी जटिल गणितीय बुनियाद और इसी जटिलता में छिपे संभावित हमलों के जोखिम में है। पिछले साल कुछ होमोमॉर्फिक प्रोटोकॉल हैक हो गए थे, हालांकि कई अभी भी सुरक्षित हैं। इसका मुख्य फायदा अपेक्षाकृत छोटे कुंजी आकार और एलिप्टिक कर्व आधारित तरीकों को सीधे अपनाने की क्षमता है।

CSIDH में 3-होमोमॉर्फिज्म (स्रोत यहाँ)।
लैटिस एक पूरी तरह से अलग क्रिप्टोग्राफिक ढांचा है। यह एलिप्टिक कर्व होमोमॉर्फिज्म के मुकाबले काफी सरल गणित पर आधारित है और फुल होमोमॉर्फिक एन्क्रिप्शन (FHE) जैसे शक्तिशाली कार्य कर सकता है। लैटिस पर अदृश्य पते बनाए जा सकते हैं, हालांकि सबसे बेहतरीन डिज़ाइन अभी भी एक खुला सवाल है। लैटिस-आधारित ढांचों में अक्सर बड़े कुंजी आकार की समस्या होती है।

फुल होमोमॉर्फिक एन्क्रिप्शन (FHE) लैटिस का एक अनुप्रयोग है। FHE का इस्तेमाल अदृश्य पता प्रोटोकॉल में भी किया जा सकता है: बॉब अपनी दृश्य कुंजी उजागर किए बिना, पूरी श्रृंखला में किसी संपत्ति के लिए अदृश्य पते की जांच की गणना को आउटसोर्स कर सकता है।
तीसरा तरीका है, सामान्य ब्लैक-बॉक्स प्राइमिटिव्स से अदृश्य पता योजनाएँ बनाना। इस योजना का साझा गुप्त उत्पादन वाला हिस्सा सीधे कुंजी विनिमय से जुड़ता है, जो सार्वजनिक कुंजी एन्क्रिप्शन प्रणाली का एक अहम हिस्सा है। मुश्किल हिस्सा यह है कि एलिस केवल अदृश्य पता (खर्च करने की कुंजी नहीं) बनाए, और बॉब के लिए खर्च करने की कुंजी बनाने का एक समानांतर एल्गोरिदम हो।
दुर्भाग्य से, अदृश्य पता बनाने के लिए आप सार्वजनिक कुंजी एन्क्रिप्शन प्रणाली बनाने के लिए जरूरी घटकों से भी सरल घटकों का इस्तेमाल नहीं कर सकते। एक सरल सबूत यह है: आप एक अदृश्��� पता योजना का इस्तेमाल करके एक सार्वजनिक कुंजी एन्क्रिप्शन प्रणाली बना सकते हैं। अगर एलिस बॉब को कोई संदेश एन्क्रिप्ट करना चाहती है, तो वह N लेन-देन भेज सकती है, जिनमें से हर एक या तो बॉब के अदृश्य पते पर या खुद एलिस के अदृश्य पते पर जाता है। बॉब यह देख सकता है कि उसे कौन से लेन-देन मिले। यह महत्वपूर्ण है क्योंकि गणितीय रूप से यह साबित हो चुका है कि सिर्फ हैश फंक्शन का इस्तेमाल करके आप सार्वजनिक कुंजी एन्क्रिप्शन नहीं बना सकते, जबकि सिर्फ हैश से ज़ीरो-नॉलेज प्रूफ बनाए जा सकते हैं। इसलिए, सिर्फ हैश का इस्तेमाल करके अदृश्य पते नहीं बनाए जा सकते।
हालांकि, एक ऐसी विधि है जो अपेक्षाकृत सरल घटकों का इस्तेमाल करती है: ज़ीरो-नॉलेज प्रूफ, जिसे हैश और (कुंजी छुपाने वाली) सार्वजनिक कुंजी एन्क्रिप्शन से बनाया जा सकता है। बॉब का मेटा-पता एक सार्वजनिक एन्क्रिप्शन कुंजी और एक हैश h = hash(x) से बनता है। उसकी खर्च करने की कुंजी संबंधित डिक्रिप्शन कुंजी और x से मिलकर बनती है। एक अदृश्य पता बनाने के लिए, एलिस एक मान c जनरेट करती है और बॉब के लिए पढ़ने योग्य c को अपनी अस्थायी सार्वजनिक कुंजी के तौर पर प्रकाशित करती है। पता खुद एक ERC-4337 खाता है, जिसके कोड को लेन-देन सत्यापित करने के लिए एक ज़ीरो-नॉलेज प्रूफ की जरूरत होती है। यह प्रूफ x और c के स्वामित्व को साबित करता है, जिससे k = hash(hash(x), c) मिलता है (जहाँ k खाता कोड है)। x और c जानने के बाद, बॉब खुद पते और उसके कोड को दोबारा बना सकता है।

c का एन्क्रिप्शन बॉब के अलावा किसी और को कोई जानकारी नहीं देता, और k एक हैश है, इसलिए यह c के बारे में लगभग कोई जानकारी नहीं देता। वॉलेट कोड खुद केवल k शामिल करता है, c निजी है, जिसका मतलब है कि k को h तक ट्रैक नहीं किया जा सकता।
हालांकि, इसके लिए एक STARK की जरूरत होती है, और STARK का आकार काफी बड़ा होता है। आखिरकार, मुझे लगता है कि पोस्ट-क्वांटम इथेरियम की दुनिया में कई एप्लिकेशन कई STARKs का इस्तेमाल करेंग���। इसलिए मैं यहां उस समूहन प्रोटोकॉल की सिफारिश करता हूं जो इन सभी STARKs को एक पुनरावर्ती STARK में जोड़ देता है, ताकि जगह की बचत हो सके।
अदृश्य पते, सामाजिक पुनर्प्राप्ति और बहु-L2 वॉलेट
मैं लंबे समय से सामाजिक पुनर्प्राप्ति वॉलेट का प्रशंसक रहा हूं। इन वॉलेट्स में मल्टी-सिग्नेचर तंत्र होता है, जहां कुंजियां संस्थानों, आपके अन्य उपकरणों और दोस्तों के बीच बांटी जाती हैं। इनमें से ज्यादातर कुंजियों के साथ, आप अपने खाते तक पहुंच फिर से हासिल कर सकते हैं, बशर्ते आप मुख्य गुप्त कुंजी न खो दें।
हालांकि, सामाजिक पुनर्प्राप्ति वॉलेट अदृश्य पतों के साथ अच्छी तरह से काम नहीं करते। अगर आपको अपना खाता पुनर्प्राप्त करना है (यानी, उसे नियंत्रित करने वाली निजी कुंजी बदलनी है), तो आपको अपने N अदृश्य वॉलेट के खाता सत्यापन तर्क को भी बदलना होगा। इसके लिए N लेन-देन करने पड़ेंगे, जो उच्च लागत, सुविधा और गोपनीयता के बीच एक समझौता है।
सोशल रिकवरी और कई लेयर-2 (L2) प्रोटोकॉल के बीच संबंध को लेकर भी ऐसी ही चिंताएँ हैं: मान लीजिए आपके पास Optimism, Arbitrum, Starknet, Scroll, Polygon जैसे प्लेटफॉर्म पर खाते हैं, और रोलअप्स के विस्तार के कारण ऐसे दर्जनों समानांतर इंस्टेंस मौजूद हैं जहाँ आपका अलग-अलग खाता है। ऐसे में, अगर आपको अपनी प्राइवेट कुंजी बदलनी हो, तो यह एक बेहद जटिल प्रक्रिया बन सकती है।
कई ब्लॉकचेन पर फैले कई खातों की कुंजी बदलना एक विशाल कार्य है।
इसका एक तरीका यह है कि आप रिकवरी को एक दुर्लभ घटना मानकर उसकी लागत और कठिनाई को स्वीकार कर लें। शायद आप कुछ ऑटोमेटेड सॉफ़्टवेयर का इस्तेमाल कर सकते हैं जो दो सप्ताह की अवधि में, यादृच्छिक अंतराल पर आपकी संपत्ति को नए गुप्त पतों पर ट्रांसफर कर दे, जिससे टाइम-बेस्ड लिंकिंग की प्रभावशीलता कम हो जाए। लेकिन यह पूरी तरह से परफेक्ट समाधान नहीं है। दूसरा तरीका यह है कि आप स्मार्ट कॉन्ट्रैक्ट के जरिए रिकवरी के बजाय, अपनी मूल कुंजी को गार्जियन्स के बीच गुप्त रूप से शेयर कर दें। हालाँकि, इससे गार्जियन्स के पास आपके खाते की रिकवरी में मदद करने की शक्ति को निलंबित करने की क्षमता खत्म हो जाती है, जिससे लंबे समय में जोखिम पैदा होता है।
एक और जटिल दृष्टिकोण में ज़ीरो-नॉलेज प्रूफ (ZKP) का इस्तेमाल शामिल है। ऊपर बताई गई ZKP-आधारित योजना पर गौर करें, लेकिन उसके तर्क में थोड़ा बदलाव करें। खाता सीधे k = hash(hash(x), c) को स्टोर नहीं करता, बल्कि इसके बजाय एक (छिपी हुई) चेन पर k की स्थिति का एक कमिटमेंट रखता है। इस खाते से खर्च करने के लिए एक ज़ीरो-नॉलेज प्रूफ देना जरूरी होगा, जो यह साबित करे कि (i) आपको उस चेन पर उस कमिटमेंट से मेल खाने वाली स्थिति का ज्ञान है, और (ii) उस स्थिति में कुछ मान k (जिसे आप प्रकट नहीं कर रहे) शामिल है, और आपके पास कुछ मान x और c हैं जो k = hash(hash(x), c) को संतुष्ट करते हैं।
इस तरह, कई खाते, यहाँ तक कि कई लेयर-2 प्रोटोकॉल के पार भी, कहीं न कहीं एक ही k मान से नियंत्रित हो सकते हैं (चाहे वह मुख्य चेन पर हो या किसी लेयर-2 पर)। फिर एक ही मान को बदलकर सभी खातों का स्वामित्व बदला जा सकता है, और यह सब आपके विभिन्न खातों के बीच के संबंध को उजागर किए बिना संभव होगा।
निष्कर्ष
बेसिक स्टील्थ एड्रेस आज भी तेजी से लागू किए जा सकते हैं और एथेरियम पर यूजर प्राइवेसी में काफी सुधार ला सकते हैं। इन्हें सपोर्ट करने के लिए वॉलेट्स में कुछ फीचर्स की जरूरत होगी। मेरा मानना है कि प्राइवेसी से जुड़े अन्य कारणों से भी, वॉलेट्स को एक अंतर्निहित मल्टी-एड्रेस मॉडल की तरफ बढ़ना चाहिए (उदाहरण के लिए, हर उस ऐप के लिए एक नया पता जेनरेट करना जिसके साथ आप इंटरैक्ट करते हैं, एक विकल्प हो सकता है)।
हालाँकि, स्टील्थ एड्रेस लंबे समय में उपयोगिता से जुड़ी कुछ समस्याएँ भी पैदा करते हैं, जैसे कि सोशल रिकवरी की कठिनाई। इन चिंताओं को फिलहाल स्वीकार किया जा सकता है, मसलन यह मानकर कि सोशल रिकवरी में प्राइवेसी का कुछ नुकसान होगा या फिर अलग-अलग एसेट्स पर रिकवरी ट्रांजैक्शन को धीरे-धीरे दो हफ्तों में पब्लिश किया जाएगा (जिसे कोई थर्ड-पार्टी सर्विस हैंडल कर सकती है)। लंबी अवधि में, इन समस्याओं का समाधान हो सकता है, लेकिन तब तक, स्टील्थ एड्रेस इकोसिस्टम दीर्घकाल में ज़ीरो-नॉलेज प्रूफ पर ही गहराई से निर्भर नजर आता है।
