Zcash Wallet सिंकिंग
संक्षेप में
- क्योंकि शील्डेड Zcash ट्रांज़ैक्शन अपने विवरण छिपाते हैं, एक सर्वर किसी wallet का बैलेंस उसी तरह नहीं देख सकता जैसे वह Bitcoin या Ethereum जैसे पारदर्शी कॉइन्स के लिए देख सकता है।
- लाइट wallet एक विशेष सर्वर (lightwalletd) से छोटे “कॉम्पैक्ट ब्लॉक” डाउनलोड करते हैं और अपने private keys से स्वयं प्रासंगिक डेटा डिक्रिप्ट करते हैं।
- उन ब्लॉकों को डिक्रिप्ट और प्रोसेस करने में समय लगता है, इसलिए wallet आपको अपने फंड जल्दी उपयोग करने देने के लिए तेज़ सिंकिंग विधियों का उपयोग करते हैं।
- उल्लेखनीय तरीके: Warp Sync (YWallet), Spend-before-sync (Zcash Mobile Wallet SDK V2), Blaze Sync (Zecwallet), और प्रस्तावित DAGSync।
- ये विधियाँ आम तौर पर तेज़ सिंक्रोनाइज़ेशन के बदले अतिरिक्त मेमोरी या प्रोसेसिंग क्षमता का उपयोग करती हैं।
मूल व्याख्या
Zcash सिंकिंग कैसे काम करती है
Zcash अनधिकृत पक्षों से ट्रांज़ैक्शन विवरण को सुरक्षित रखने के लिए zero-knowledge proofs का उपयोग करता है। यह गोपनीयता लाइट wallet के लिए सिंकिंग को कठिन बनाती है क्योंकि वे पूरा blockchain स्थानीय रूप से संग्रहीत नहीं करते और आवश्यक जानकारी के लिए सर्वर पर निर्भर रहते हैं। Bitcoin या Ethereum के साथ, सर्वर blockchain को इंडेक्स करके account डेटा तेज़ी से वापस कर सकते हैं। लेकिन Zcash में सर्वर ट्रांज़ैक्शन विवरण नहीं देख सकता। तो कोई लाइट wallet पूरे blockchain को स्वयं डाउनलोड और डिक्रिप्ट किए बिना अपना बैलेंस और इतिहास कैसे सिंक कर सकता है?
Zcash कई तरीकों को मिलाकर इस समस्या का समाधान करता है। इसमें lightwalletd नाम का विशेष सर्वर है, जो एक पूर्ण नोड से डेटा फ़िल्टर करता है और केवल ट्रांज़ैक्शन पहचान के लिए आवश्यक डेटा रखता है। इस डेटा को कॉम्पैक्ट ब्लॉक कहा जाता है, और यह मूल ब्लॉकों से बहुत छोटा होता है। लाइट wallet पहले lightwalletd सर्वर से ये कॉम्पैक्ट ब्लॉक डाउनलोड करते हैं और फिर उन्हें अपने private keys से डिक्रिप्ट करते हैं।
इन कॉम्पैक्ट ब्लॉकों को डिक्रिप्ट और प्रोसेस करने में भी काफी समय लग सकता है, विशेषकर जब प्रति ब्लॉक कई ट्रांज़ैक्शन हों। इसलिए wallet सिंक्रोनाइज़ेशन की गति बढ़ाने और आपको जल्द से जल्द अपने फंड उपयोग करने देने के लिए अलग-अलग विधियों का उपयोग करते हैं।
दृश्य / उपमा
blockchain को बंद बक्सों से भरे एक विशाल डाकघर के रूप में सोचें। किसी पारदर्शी कॉइन के साथ, डाकघर का क्लर्क लेबल पढ़कर तुरंत बता सकता है कि कौन-से बॉक्स आपके हैं। Zcash के साथ लेबल छिपे होते हैं — इसलिए आपके wallet को अपनी चाबियाँ लेकर स्वयं चुपचाप बक्सों की जाँच करनी पड़ती है, ताकि वे बॉक्स मिल सकें जिन्हें वह खोल सकता है। नीचे दी गई सिंकिंग विधियाँ उन बक्सों को तेज़ी से जाँचने की अलग-अलग रणनीतियाँ हैं।
विस्तृत जानकारी
Warp Sync
Warp sync, YWallet की एक सुविधा है जो हर कॉम्पैक्ट ब्लॉक को डिक्रिप्ट और प्रोसेस करने के मध्यवर्ती चरणों को छोड़कर सीधे अंतिम परिणाम पर पहुँचती है।
ऐसा करने के लिए, यह प्रत्येक चरण से गुज़रे बिना अंतिम परिणाम की गणना करने हेतु गणित और क्रिप्टोग्राफी का उपयोग करती है।
Warp sync प्रति सेकंड हज़ारों ब्लॉक प्रोसेस कर सकती है, जो सामान्य सिंक्रोनाइज़ेशन विधि से बहुत तेज़ है। इसका अर्थ है कि YWallet उपयोगकर्ता अपने account में लाखों ट्रांज़ैक्शन और प्राप्त नोट्स होने पर भी तेज़ और सुगम प्रदर्शन का अनुभव कर सकते हैं।
इस चरण-छोड़ने की तकनीक के अलावा, YWallet कई ब्लॉकों को एक साथ प्रोसेस कर सकता है और प्रक्रिया को और तेज़ बनाने के लिए उपलब्ध हार्डवेयर में कार्यभार वितरित कर सकता है।
Warp Sync के बारे में और पढ़ें
Warp sync को यहाँ सिंकिंग तकनीक के रूप में वर्णित किया गया है। Ywallet स्वयं अब मेंटेन नहीं किया जाता और Ironwood के लिए अपडेट नहीं होगा, इसलिए आज इसे install करने के लिए wallet के रूप में नहीं चुना जाना चाहिए।
Spend-before-sync
Spend-before-sync, Zcash Mobile Wallet SDK V2 की एक नई सुविधा है जो उपयोगकर्ताओं को पूर्ण wallet सिंक्रोनाइज़ेशन की प्रतीक्षा किए बिना, अपना wallet खोलते ही तुरंत फंड खर्च करने देती है। यह सुविधा wallet के खर्च योग्य बैलेंस की खोज को तेज़ करती है और उपयोगकर्ता अनुभव बेहतर बनाती है।
Spend-before-sync एक कॉम्पैक्ट-ब्लॉक सिंक्रोनाइज़ेशन एल्गोरिदम का उपयोग करके काम करता है, जो lightwalletd सर्वर से ब्लॉकों को गैर-रैखिक क्रम में प्रोसेस करता है। इसका अर्थ है कि एक ब्लॉक के पूर्ण रूप से प्रोसेस होने की प्रतीक्षा करने के बजाय, wallet blockchain के विभिन्न हिस्सों को स्कैन करने के लिए थोड़ी अधिक मेमोरी और प्रोसेसिंग शक्ति का उपयोग कर सकते हैं। आमतौर पर, यह अलग-अलग रेंज स्कैन करता है और पुराने ब्लॉकों के डाउनलोड व प्रोसेस होने के दौरान नए ट्रांज़ैक्शन खोजता है। यदि कोई हालिया, अप्रयुक्त नोट मिलता है, तो उसे तुरंत उपलब्ध करा दिया जाएगा।
Blaze Sync
Zecwallet टीम द्वारा विकसित Blaze sync, लाइट wallet के लिए एक सिंक्रोनाइज़ेशन एल्गोरिदम है जो blockchain को पीछे की दिशा में स्कैन करता है—सबसे ऊँचे, सबसे हालिया ब्लॉक से शुरू करके पीछे की ओर बढ़ता है।
यह wallet को प्राप्त नोट्स से पहले खर्च किए गए नोट्स खोजने देता है, साथ ही पहले से अप्रयुक्त नोट्स को पूर्ण सिंक्रोनाइज़ेशन प्रक्रिया समाप्त होने की प्रतीक्षा किए बिना उपलब्ध कराता है।
इसके अलावा, यह sync के घटकों को एक-दूसरे से अलग करके—ब्लॉक डाउनलोड करना, ट्रायल डिक्रिप्शन करना, और witnesses अपडेट करना—Out-of-Order Sync का उपयोग करता है और उन्हें समानांतर रूप से प्रोसेस करता है। इसमें अधिक मेमोरी और CPU संसाधनों की आवश्यकता होती है, लेकिन sync की गति X5 बढ़ जाती है।
DAGSync
DAGSync एक प्रस्तावित सिंक्रोनाइज़ेशन एल्गोरिदम है जिसका लक्ष्य सिंक्रोनाइज़ेशन को तेज़ करके Zcash शील्डेड wallet के उपयोगकर्ता अनुभव में सुधार करना है।
यह एक Zcash wallet में नोट्स, witnesses और nullifiers के बीच निर्भरताओं को दर्शाने के लिए Directed Acyclic Graph (DAG) का उपयोग करता है।
DAG एक डेटा संरचना है जिसमें नोड और edges होते हैं, जहाँ प्रत्येक edge की एक दिशा होती है जो दो नोड के बीच संबंध दर्शाती है। DAG में कोई चक्र नहीं होता, अर्थात किसी नोड से शुरू करके edges का अनुसरण करते हुए उसी नोड पर वापस आने का कोई तरीका नहीं होता।
व्यावहारिक प्रभाव
दिलचस्प बात यह है कि ये सभी तंत्र Scalable Private Messaging पर Zcash Security की पोस्ट और निजी भुगतान प्रणालियों के साथ उसके संबंध में उठाए गए प्रश्नों को संबोधित करने का लक्ष्य रखते हैं। कुछ तो अतिरिक्त संसाधनों की थोड़ी लागत पर गोपनीयता बढ़ाने के लिए, किसी address के लिए विशिष्ट डेटा को छोड़कर, सर्वर से सभी memo डेटा डाउनलोड करने का अतिरिक्त कदम भी उठाते हैं।
साथ ही, Zcash Foundation लाइट wallet के प्रदर्शन को सुधारने के लिए अन्य विकल्पों पर भी विचार कर रहा है। ऐसा ही मामला Oblivious Message Retrieval (OMR) का है, जो एक ऐसी संरचना है जिसका foundation अध्ययन कर रहा है “यह निर्धारित करने के लिए कि क्या यह हालिया प्रदर्शन समस्याओं का संभावित समाधान प्रदान करती है, जिन्होंने Zcash wallet उपयोगकर्ताओं को प्रभावित किया है।”
सामान्य गलतियाँ
यह मान लेना कि lightwalletd सर्वर आपका बैलेंस जानता है। सर्वर केवल कॉम्पैक्ट ब्लॉक प्रदान करता है; आपका wallet अपनी keys के साथ उन्हें स्थानीय रूप से डिक्रिप्ट और व्याख्यायित करता है।
sync को बहुत जल्दी रोक देना। कुछ विधियाँ पूर्ण sync समाप्त होने से पहले हाल के खर्च योग्य फंड उपलब्ध कराती हैं, लेकिन पुराना इतिहास और नोट्स अभी भी प्रोसेस में हो सकते हैं।
Zcash sync की सीधे पारदर्शी-chain sync से तुलना करना। धीमा मार्ग गोपनीयता बनाए रखने की लागत हो सकता है, कोई कमी नहीं — wallet वह काम कर रहा है जो एक सार्वजनिक-coin सर्वर अन्यथा आपके account को खुले रूप से पढ़कर करता।
संबंधित पृष्ठ
- Lightwallet नोड — lightwalletd इन्फ्रास्ट्रक्चर जिस पर लाइट wallet निर्भर करते हैं।
- Viewing Keys — वे keys जिनका उपयोग wallet अपने नोट्स पहचानने और डिक्रिप्ट करने के लिए करते हैं।
- Pepper Sync — Zcash wallet सिंक्रोनाइज़ेशन का एक अन्य तरीका।
- FROST — शील्डेड ZEC के लिए वितरित हस्ताक्षर प्राधिकरण।