xpub: आपके बिटकॉइन वॉलेट की पब्लिक कुंजी क्या-क्या बताती है
xpub से किसी बिटकॉइन अकाउंट के सारे एड्रेस, और इसलिए उसकी पूरी हिस्ट्री, मिल जाते हैं, पर उससे पैसे ख़र्च नहीं किए जा सकते। यह क्या बताती है, इसका जोखिम, और इसे किसे दें।
xpub (एक्सटेंडेड पब्लिक कुंजी) बिटकॉइन वॉलेट के किसी अकाउंट की वह पब्लिक कुंजी है जिससे उसके सारे एड्रेस डिराइव होते हैं: जिसके पास यह है, वह इस अकाउंट पर आया और इससे भेजा गया हर पेमेंट देखता है, पर कुछ भी ख़र्च नहीं कर सकता।
xpub में क्या होता है
BIP32 स्टैंडर्ड हायरार्किकल डिटरमिनिस्टिक वॉलेट के बारे में बताता है: एक ही सीड से कुंजियों का पूरा ट्री बनता है। एक्सटेंडेड कुंजी, कुंजी के साथ एक चेन कोड (chain code) जोड़ती है, जिससे उसकी चाइल्ड कुंजियां कैलकुलेट की जाती हैं। BIP32 के मुताबिक़, एक्सटेंडेड पब्लिक कुंजी जानने से उसकी सारी नॉन-हार्डन्ड (non-hardened) चाइल्ड पब्लिक कुंजियां फिर से बनाई जा सकती हैं।
वॉलेट इन कुंजियों को BIP44 के पाथ के हिसाब से रखते हैं: m / purpose' / coin_type' / account' / change / address_index। वॉलेट जो xpub दिखाता है, वह account' लेवल की होती है। यह एड्रेस की दो चेन कवर करती है: रिसीविंग एड्रेस के लिए 0, और चेंज एड्रेस के लिए 1, जिन पर आपके अपने भेजे गए पेमेंट का बचा हुआ पैसा लौटता है।
xpub, ypub या zpub
प्रीफ़िक्स बताता है कि अकाउंट किस तरह के एड्रेस इस्तेमाल करता है:
| प्रीफ़िक्स | स्टैंडर्ड | पहले अकाउंट का पाथ | एड्रेस |
|---|---|---|---|
xpub | BIP44 | m/44'/0'/0' | पुराने एड्रेस, जो 1 से शुरू होते हैं |
ypub | BIP49 | m/49'/0'/0' | नेस्टेड SegWit, जो 3 से शुरू होते हैं |
zpub | BIP84 | m/84'/0'/0' | नेटिव SegWit, जो bc1q से शुरू होते हैं |
तीनों एक ही तरह की कुंजी हैं: सिर्फ़ उनके वर्ज़न बाइट बदलते हैं, और इसलिए उनके शुरुआती अक्षर।
xpub क्या बताती है
- अकाउंट के सारे एड्रेस, पुराने और आने वाले: इन्हें एक-एक करके डिराइव किया जाता है, बिना किसी सीमा के।
- पूरी हिस्ट्री: हर रिसीव, हर भेजा गया पेमेंट, हर रक़म, क्योंकि ब्लॉकचेन पब्लिक है।
- अकाउंट का बैलेंस, किसी भी समय।
- ख़र्च करने के लिए कुछ नहीं: प्राइवेट कुंजी के बिना कोई ट्रांज़ैक्शन साइन नहीं हो सकता।
BIP32 ख़ुद यही इस्तेमाल बताता है: किसी अकाउंट की एक्सटेंडेड पब्लिक कुंजी किसी ऑडिटर को देने से वह आने और जाने वाले सारे पेमेंट देख सकता है, किसी भी सीक्रेट कुंजी तक पहुंच के बिना। जिसके पास आपकी xpub है, उसके पास हमेशा के लिए उस ऑडिटर जैसी नज़र है: xpub को रद्द नहीं किया जा सकता।
जो जोखिम जानना ज़रूरी है
अकेली xpub से पैसे ख़र्च नहीं किए जा सकते। पर BIP32 चेतावनी देता है: एक एक्सटेंडेड पब्लिक कुंजी और उससे निकली कोई भी नॉन-हार्डन्ड प्राइवेट कुंजी जानना, पैरेंट एक्सटेंडेड प्राइवेट कुंजी जानने के बराबर है। दूसरे शब्दों में, आपकी xpub और आपके किसी एक एड्रेस की प्राइवेट कुंजी पूरा अकाउंट ख़र्च करने के लिए काफ़ी हैं।
account' लेवल हार्डन्ड है: ऐसा लीक उसी अकाउंट तक सीमित रहता है और उसी सीड के दूसरे अकाउंट तक नहीं पहुंचता। इसलिए xpub एक्सपोर्ट करें, किसी एड्रेस की प्राइवेट कुंजी कभी नहीं, और अपनी रिकवरी फ़्रेज़ कभी किसी को न दें।
सॉफ़्टवेयर एड्रेस कैसे ढूंढता है
xpub पढ़ने वाला सॉफ़्टवेयर एड्रेस को क्रम से डिराइव करता है और कभी इस्तेमाल न हुए एड्रेस की एक लगातार कड़ी के बाद रुक जाता है: BIP44 यह सीमा (gap limit) 20 तय करता है। अगर आपने बिना इस्तेमाल किए लगातार 20 से ज़्यादा एड्रेस बनाए हैं, तो इस नियम पर चलने वाला सॉफ़्टवेयर उनके बाद वाले एड्रेस नहीं देखेगा।
बैलेंस पढ़ने के लिए सॉफ़्टवेयर फिर किसी सर्वर या नोड से पूछता है, एक-एक एड्रेस करके। तब यह सर्वर आपके सारे एड्रेस जान लेता है और उन्हें आपस में जोड़ सकता है: यह दूसरा लीक है, जो xpub से नहीं बल्कि उसे पढ़ने के तरीक़े से आता है।
अपनी xpub देने से पहले
- ख़ुद से पूछें कि इसे कौन रखता है: जो ऐप आपकी xpub अपने सर्वर पर रखता है, वह जब तक उसे रखता है तब तक आपका अकाउंट जानता है, और उसके डेटा का कोई भी लीक इसे उजागर कर देता है।
- लोकल रीडिंग चुनें: आपके अपने नोड से जुड़ा वॉलेट, या आपके डिवाइस पर एड्रेस डिराइव करने वाला टूल, xpub किसी को नहीं सौंपता।
- हर इस्तेमाल के लिए एक अकाउंट: दूसरे अकाउंट (अगला
account') की दूसरी xpub होती है, जो बाक़ी अकाउंट के बारे में कुछ नहीं बताती।
CentraFIN आपकी xpub कैसे पढ़ता है
CentraFIN आपकी xpub आपके डिवाइस पर पढ़ता है: आपका ब्राउज़र एड्रेस डिराइव करता है, उनके बैलेंस एक एंड-टू-एंड एन्क्रिप्टेड कनेक्शन से पढ़ता है और सब कुछ एक वॉल्ट में रखता है जिसे वह ख़ुद एन्क्रिप्ट करता है। CentraFIN का सर्वर कभी आपकी xpub, कोई एड्रेस या कोई बैलेंस नहीं देखता। हर एड्रेस हमेशा एक ही नोड पर पढ़ा जाता है, जिसे रैंडम चुना जाता है, ताकि कोई भी नोड पूरा अकाउंट न देखे। पूरी जानकारी बिटकॉइन पेज पर है।
सोर्स
- BIP32: हायरार्किकल डिटरमिनिस्टिक वॉलेट
- BIP44: डेरिवेशन पाथ और gap limit
- BIP49: ypub, नेस्टेड SegWit
- BIP84: zpub, नेटिव SegWit
अक्सर पूछे जाने वाले सवाल
क्या xpub से बिटकॉइन चुराए जा सकते हैं?
सिर्फ़ xpub से नहीं: इससे साइन नहीं किया जा सकता। साथ में अकाउंट के किसी एक एड्रेस की प्राइवेट कुंजी भी हो, तो हां: पूरा अकाउंट।
क्या मेरा बैलेंस देखने के लिए xpub काफ़ी है?
हां। यह अकाउंट के सारे एड्रेस देती है, और ब्लॉकचेन उनके बैलेंस और ट्रांज़ैक्शन देती है।
अगर मेरी xpub लीक हो गई, तो क्या करूं?
इसे रद्द नहीं किया जा सकता: जिसके पास यह है, वह यह अकाउंट हमेशा देखेगा। आगे के लिए, एक नया अकाउंट इस्तेमाल करें जिसकी xpub कभी शेयर न की गई हो। पुराने अकाउंट से किया गया ट्रांसफ़र, हालांकि, दिखता रहेगा।
xpub, ypub और zpub में क्या फ़र्क़ है?
अकाउंट के एड्रेस का प्रकार: xpub के लिए 1 से, ypub (नेस्टेड SegWit) के लिए 3 से, और zpub (नेटिव SegWit) के लिए bc1q से शुरू होने वाले एड्रेस।
अपनी संपत्ति पर पूरा नियंत्रण पाएँ
आपका अकाउंट एक मिनट में तैयार, बिना पासवर्ड के।