60 / 736XPUB

Extended Public Key (xpub)

BIP32 विस्तारित सार्वजनिक कुंजी

आप फ़ोन पर देखना चाहते हैं कि भुगतान आया या नहीं, लेकिन पैसे खर्च करने वाली गुप्त कुंजियाँ उसमें नहीं रखना चाहते। xpub इसी काम आता है: हस्ताक्षर की निजी कुंजियाँ दिए बिना पते तैयार करने और वॉलेट के एक हिस्से पर नज़र रखने देता है। मगर नाम में ‘सार्वजनिक’ होने का मतलब यह नहीं कि इसे सबके सामने रखना ठीक है।

Extended Public Key (xpub), BIP32 के नियमों के अनुसार बनी विस्तारित सार्वजनिक कुंजी है। BIP32 वॉलेट की कुंजियों को व्यवस्थित करने के नियम तय करता है। xpub से वॉलेट के एक तय हिस्से की दूसरी सार्वजनिक कुंजियाँ निकाली जा सकती हैं और सही पता-नियमों के साथ प्राप्ति पते बनाकर भुगतान देखे जा सकते हैं। पैसे खर्च करने के लिए डिजिटल हस्ताक्षर चाहिए, यानी क्रिप्टोग्राफ़ी के ज़रिए लेनदेन को अनुमति देना। यह हस्ताक्षर निजी कुंजी से बनता है, जो xpub में नहीं होती। इसलिए xpub निजी कुंजियों या Seed Phrase, यानी शब्दों के क्रम में लिखे वॉलेट के बैकअप, का विकल्प नहीं है।

ऐना अपने Bitcoin वॉलेट की कुंजियाँ हार्डवेयर उपकरण में रखती है। वह फ़ोन पर देखना चाहती है कि ग्राहक ने भुगतान किया या नहीं। इसलिए चुने हुए खाते की सार्वजनिक सेटिंग फ़ोन में लाती है। इसमें xpub है, लेकिन कोई निजी कुंजी नहीं। फ़ोन अब Watch-only Wallet की तरह संबंधित पते देख सकता है, नया पता तैयार कर सकता है और बिना हस्ताक्षर वाला लेनदेन बना सकता है। पैसे भेजने के लिए अभी भी उस उपकरण का हस्ताक्षर चाहिए जिसमें गुप्त कुंजियाँ हैं। इसी तरह ऑनलाइन दुकान सर्वर पर खर्च करने वाली कुंजियाँ रखे बिना हर ऑर्डर के लिए अलग प्राप्ति पता बना सकती है। इससे सर्वर हैक होने पर नुकसान सीमित होता है, लेकिन हर जोखिम नहीं मिटता: हमलावर नए भुगतान के लिए ग्राहक को अपना पता दिखा सकता है। [1] [5]

जो आपको भुगतान करेगा, उसे आम तौर पर एक Bitcoin पता दिया जाता है। xpub देने से कहीं अधिक जानकारी खुलती है। खाते का xpub और उसके पते बनाने के नियम जानने वाला व्यक्ति प्राप्ति तथा बची रकम लौटाने वाले पते निकालकर उनका इतिहास और शेष राशि जोड़ सकता है। यह उस शाखा तक सीमित है जिसे निकाला जा सकता है; पूरे वॉलेट के सभी खाते अपने-आप नहीं खुलते। यदि आप xpub किसी हिसाब-किताब सेवा या बाहरी ब्लॉक एक्सप्लोरर को देते हैं, तो वह उसकी प्रति रखकर भविष्य के भुगतान भी देख सकता है। ऐप में कनेक्शन बंद करने से पहले दी गई प्रति निष्क्रिय नहीं होती। एक भुगतान के लिए आम तौर पर एक पता पर्याप्त है; व्यापक जानकारी केवल स्पष्ट ज़रूरत पर दें। [1] [5]

BIP32 वॉलेट एक मूल से पेड़ की तरह कुंजियाँ निकालता है। यहाँ ‘शाखा’ का अर्थ संबंधित कुंजियों का समूह है, नेटवर्क या ब्लॉकचेन का हिस्सा नहीं। xpub से नीचे बढ़ना केवल non-hardened कहलाने वाले चरणों में संभव है। दूसरे प्रकार, Hardened Derivation, में निजी जानकारी चाहिए, इसलिए वह ऐसी सीमा बनाता है जिसे अकेला xpub पार नहीं कर सकता। सामान्य BIP44 व्यवस्था में हर खाते से पहले यह सीमा होती है। एक खाते का xpub निर्यात करने से बाकी खाते अपने-आप नहीं खुलते। किस स्तर से निर्यात किया गया है, यह भी मायने रखता है: केवल प्राप्ति शाखा का xpub पूरे खाते के xpub से कम जानकारी दिखाता है; पूरे खाते में सामान्यतः बची रकम वाले पते भी आते हैं। [1] [6]

एक ही सार्वजनिक कुंजी से अलग नियमों के अनुसार अलग Bitcoin पते बन सकते हैं। लेनदेन का आउटपुट किसी राशि और उसे आगे खर्च करने की शर्तों का रिकॉर्ड होता है। इसलिए ऐप को आउटपुट का प्रकार, जैसे Native SegWit या Taproot, और निकालने वाली शाखा व क्रमांक पता होने चाहिए। SLIP-0132 के ypub और zpub उपसर्ग पता-प्रकार का संकेत दे सकते हैं, लेकिन वे पूरे वॉलेट का वर्णन नहीं हैं। Output Descriptor अधिक सटीक तरीका है: यह कुंजियों और पते तथा खर्च की शर्तें बनाने वाले नियमों का लिखित विवरण है। इसमें कुंजी का मूल, derivation path यानी उसे निकालने का रास्ता और टाइपिंग की गलती पकड़ने वाला checksum भी हो सकता है। checksum लिखावट की सही बनावट जाँचता है, भेजने वाले की ईमानदारी नहीं। हर descriptor केवल सार्वजनिक जानकारी वाला नहीं होता; उसमें निजी कुंजी भी हो सकती है। साझा करने से पहले यह अंतर समझना ज़रूरी है। [2] [3] [4]

सबसे पहले नेटवर्क, चुना हुआ खाता, पता-प्रकार और derivation path जाँचें। यह रास्ता बताता है कि कुंजियों के पेड़ में किस स्थान का उपयोग करना है। कई प्राप्ति पतों की मूल वॉलेट से तुलना करें। हार्डवेयर वॉलेट हो तो निर्माता के निर्देशों के अनुसार उपकरण की भरोसेमंद स्क्रीन पर जाँचें। खाते का नाम एक जैसा होना पर्याप्त नहीं है। आयात के बाद शून्य शेष राशि का मतलब हमेशा पैसे खोना नहीं होता: शायद दूसरा खाता, दूसरा पता-प्रकार या पतों के क्रमांकों की बहुत छोटी सीमा देखी जा रही हो। इसे ठीक करने के लिए पुनर्प्राप्ति के शब्द किसी अनजान वेबसाइट में न डालें। केवल जानकारी देखनी हो तो सार्वजनिक सेटिंग का निर्यात चुनें, Seed Phrase या विस्तारित निजी कुंजी xprv नहीं। [4] [5]

अकेला xpub हस्ताक्षर की कुंजी नहीं है। लेकिन BIP32 में एक महत्वपूर्ण संबंध है: ऊपर के स्तर का xpub, जिसे दस्तावेज़ में parent xpub कहते हैं, और उसके non-hardened वंशज की निजी कुंजी साथ मिल जाएँ तो उस ऊपर के स्तर की निजी कुंजी निकाली जा सकती है। वंशज अधिक नीचे हो तो उस मूल स्तर तक के सभी चरण non-hardened होने चाहिए और गणना के लिए संबंधित रास्ता ज्ञात होना चाहिए। यह केवल पता जान लेने से चोरी होने की बात नहीं है। खतरा एक ही शाखा की लीक हुई सार्वजनिक जानकारी और गुप्त कुंजी के मेल में है। इससे हमलावर उस स्तर के नीचे की अन्य कुंजियाँ भी पा सकता है। hardened सीमाएँ खातों को अलग करती हैं, लेकिन पहले से उजागर निजी कुंजी को सुरक्षित नहीं बना देतीं। [1]

Multisig वॉलेट, उदाहरण के लिए, तीन कुंजियों में से दो के हस्ताक्षर माँग सकता है। लेकिन यह जानना कि दो कुंजियाँ वापस मिल सकती हैं, अपने-आप पर्याप्त नहीं है। खर्च की सही शर्तें दोबारा बनाने के लिए बाकी शामिल कुंजियों की सार्वजनिक जानकारी, उनका क्रम, आवश्यक हस्ताक्षरों की संख्या और derivation के नियम भी चाहिए। इसलिए गुप्त बैकअप के साथ वॉलेट की सेटिंग भी रखी जाती है, जैसे सभी आवश्यक xpub वाला सार्वजनिक descriptor। इससे अकेले खर्च नहीं किया जा सकता, लेकिन बहाली के लिए इसकी ज़रूरत पड़ सकती है। master fingerprint मूल कुंजी का आठ hexadecimal अक्षरों वाला पहचान-चिह्न है, जिससे सही सेटिंग मिलाने में मदद मिलती है। यह हमेशा अद्वितीय पहचान-पत्र नहीं है; अलग कुंजियों का fingerprint एक हो सकता है। [4] [5]

सार्वजनिक कुंजी से संबंधित निजी कुंजी द्वारा बनाए हस्ताक्षर जाँचे जाते हैं। BIP32 इसके साथ chain code जोड़ता है, जो आगे कुंजियाँ निकालने में इस्तेमाल होने वाला 32-बाइट मान है। इन दोनों से विस्तारित सार्वजनिक कुंजी बनती है। इसे भेजने योग्य रूप में संस्करण और पेड़ में स्थिति की जानकारी भी होती है: गहराई, ठीक ऊपर की कुंजी का fingerprint और संतान का क्रमांक। यह वॉलेट की पहली कुंजी से आने वाले पूरे रास्ते के समान नहीं है। इसलिए xpub कोई एक प्राप्ति पता, खाते का पासवर्ड या लेनदेन की सूची नहीं है। निगरानी वाला वॉलेट संबंधित पतों के लेनदेन ब्लॉकचेन में खोजता है। [1]

BIP32 का CKDpub फ़ंक्शन ऊपर के स्तर की सार्वजनिक कुंजी, उसका chain code और अगली कुंजी का क्रमांक लेता है। इन इनपुट के साथ HMAC-SHA512 नाम की क्रिप्टोग्राफ़िक गणना से अगली सार्वजनिक कुंजी और नए chain code के लिए डेटा तैयार होता है। सार्वजनिक रूप से निकाले जा सकने वाले क्रमांक 0 से 2³¹−1 तक हैं। hardened क्रमांक 2³¹ से शुरू होते हैं और रास्ते में सामान्यतः apostrophe या h से पहचाने जाते हैं; इनके लिए केवल xpub वाला CKDpub पर्याप्त नहीं है। अनुमत चरण दोहराने से निर्यात की गई कुंजी के नीचे के वंशज मिलते हैं, उसी स्तर की दूसरी शाखाएँ या ऊपर के पूर्वज नहीं। BIP32 में वर्णित दुर्लभ अमान्य परिणाम आने पर सॉफ़्टवेयर अगले क्रमांक पर जाता है। आम उपयोगकर्ता को यह गणना खुद नहीं करनी होती; सेटिंग सही स्थानांतरित करना महत्वपूर्ण है। [1]

टेक्स्ट में बदलने से पहले मानक BIP32 रिकॉर्ड 78 बाइट का होता है: संस्करण 4, गहराई 1, ऊपर की कुंजी का fingerprint 4, अगली कुंजी का क्रमांक 4, chain code 32 और कुंजी का डेटा 33 बाइट। Base58Check एक checksum जोड़कर इसे 111 अक्षरों में बदलता है। Bitcoin के मुख्य नेटवर्क का सार्वजनिक रूप xpub से और परीक्षण नेटवर्क का tpub से शुरू होता है। उनके निजी रूप xprv और tprv हैं। Tpub का मतलब Taproot नहीं है। उपसर्ग संस्करण के बाइट से बनता है और पतों के सभी नियम नहीं बताता। आयात करते समय सॉफ़्टवेयर को शुरुआती अक्षरों या लंबाई के अलावा सार्वजनिक कुंजी की वैधता भी जाँचनी चाहिए। [1] [3]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें HD Wallet, Watch-only Wallet, Bitcoin में गोपनीयता, Derivation Path, Bitcoin, Output Descriptor. इस प्रविष्टि का उल्लेख यहाँ भी है HD Wallet, Cold Storage, Watch-only Wallet, Output Descriptor.

DOC · 001BIP 32 — Hierarchical Deterministic Walletsविनिर्देश DOC · 002BIP 380 — Output Script Descriptors General Operationविनिर्देश DOC · 003SLIP-0132 — Registered HD Version Bytesविनिर्देश DOC · 004Bitcoin Core — Output Descriptorsदस्तावेज़ DOC · 005Trezor — What Is a Public Key (XPUB)?दस्तावेज़ DOC · 006BIP 44 — Multi-Account Hierarchy for Deterministic Walletsविनिर्देश
समीक्षा की गई: स्रोत पहले · यह निवेश सलाह नहीं है