BIP85 एक मुख्य वॉलेट के गुप्त आधार से दूसरे वॉलेट के लिए नए रहस्य दोबारा बनाने की विधि है। उदाहरण के लिए, फोन में मुख्य बचत वाले शब्दों के बजाय उसकी अपनी Seed Phrase, यानी रिकवरी शब्द, रखे जा सकते हैं। वही शुरुआती रहस्य और वही सेटिंग हमेशा वही परिणाम देते हैं। इसे नियतात्मक व्युत्पादन कहते हैं। BIP85 बिटकॉइन भेजता नहीं, बैकअप को हिस्सों में बाँटता नहीं और खोए हुए मुख्य बैकअप की जगह भी नहीं लेता।
अन्ना ने मुख्य बैकअप सुरक्षित रखा है और वह छोटे भुगतानों के लिए अलग वॉलेट चाहती है। वॉलेट बिटकॉइन पाने और भेजने वाला ऐप या उपकरण है। BIP85 रिकवरी शब्दों का दूसरा समूह बना सकता है; फोन में वह केवल वही आयात करेगी। निजी कुंजी एक गुप्त संख्यात्मक मान है, जिससे वॉलेट पैसे खर्च करने की अनुमति देने वाला डिजिटल हस्ताक्षर बनाता है। तकनीकी शुरुआत BIP 32 के विस्तारित निजी रूट से होती है, यानी कुंजियों के पेड़ का मूल। यह BIP 39 रिकवरी शब्दों से बना हो सकता है: शब्द और इस्तेमाल की गई passphrase पहले seed बनाते हैं, जो रूट की गणना का गुप्त इनपुट है। ये अलग चरणों के नाम हैं, एक ही चीज के नहीं। BIP85 रूट से नई गुप्त सामग्री निकालता है; प्रक्रिया उलटकर मूल शब्द वापस नहीं निकाल सकता। [1] [2] [3] [5]
अन्ना को व्युत्पादन के समय चुनी गई सेटिंग भी लिखनी होगी। Derivation Path इन चरणों का सटीक क्रम है। m/83696968'/39'/0'/12'/0' का उदाहरण BIP85, BIP 39 अनुप्रयोग, अंग्रेज़ी शब्द-सूची, 12 शब्द और इंडेक्स 0 चुनता है। यहाँ अनुप्रयोग का मतलब परिणाम को संसाधित करने का तय तरीका है, कोई खास फोन ऐप नहीं। इंडेक्स 1 दूसरा व्युत्पन्न परिणाम, यानी दूसरे रिकवरी शब्द, बनाता है; यह फोन के भीतर किसी भुगतान पते का नंबर नहीं। चेक शब्द-सूची का कोड 8' है, चाहे इस पृष्ठ की भाषा कुछ भी हो। सूची या शब्दों की संख्या बदलने से रास्ता और परिणाम बदलते हैं। यह उन्हीं रिकवरी शब्दों का अनुवाद नहीं है। [1]
बीच में मिलने वाली सामग्री को एंट्रॉपी कहते हैं: यहाँ यह गुप्त आधार से गणना किया गया डेटा है, जिसे आधार जाने बिना अनुमानित नहीं किया जा सकना चाहिए। 12 शब्दों के लिए परिणाम के पहले 128 बिट और 24 शब्दों के लिए पहले 256 बिट लिए जाते हैं। BIP 39 चेकसम जोड़ता है, जो लिखने की कुछ गलतियाँ पकड़ने में मदद करता है, और डेटा को शब्दों में बदलता है। इनसे आगे नए वॉलेट का seed और कुंजियाँ बनती हैं। BIP85 खुद पता प्रकार, पते का रास्ता या पुराने भुगतान खोजने का तरीका तय नहीं करता। लंबा परिणाम आसानी से अनुमान लगाए जा सकने वाले मूल रहस्य को भी नहीं बचाता: व्युत्पादन उसमें नई स्वतंत्र यादृच्छिकता नहीं जोड़ता। [1] [3]
Passphrase एक वैकल्पिक अतिरिक्त रहस्य है, जिसका इस्तेमाल BIP 39 रिकवरी शब्दों के साथ होता है। यह डिवाइस का PIN या ऐप खोलने का पासवर्ड नहीं है। अन्ना ने इसे मुख्य शब्दों के साथ इस्तेमाल किया था तो BIP85 का वही इनपुट रूट वापस पाने के लिए भी यह चाहिए। मूल वॉलेट की passphrase अलग होगी तो उससे बने परिणाम भी अलग होंगे। दूसरी, स्वतंत्र passphrase फोन में बने हुए शब्दों के साथ लगाई जा सकती है। यह लक्ष्य वॉलेट का seed बदलती है, पहले से बने शब्द नहीं। BIP85 इस लक्ष्य passphrase का बैकअप नहीं रखता। इसलिए इसके बिना शब्द वापस मिलना मूल वॉलेट वापस मिलना नहीं है। [3] [4]
सही निर्माण और पर्याप्त मजबूत शुरुआती रहस्य होने पर, बनाए गए रिकवरी शब्दों के एक समूह से मुख्य रूट या दूसरे बने हुए वॉलेट के रहस्य निकालना गणना की दृष्टि से व्यावहारिक नहीं है। इसलिए फोन के शब्द लीक होने से अपने आप मुख्य बैकअप उजागर नहीं होता। लेकिन उलटी दिशा काम करती है: मुख्य निजी रूट और जरूरी सेटिंग पाने वाला उससे बने परिणाम दोहरा सकता है। कोई अतिरिक्त लक्ष्य passphrase हो तो वह अलग रहस्य रहती है। मुख्य आधार खोने से ऐसे व्युत्पन्न वॉलेट भी खतरे में आते हैं जिनका अपना उपयोगी बैकअप नहीं है। इस तरह BIP85 कुछ जिम्मेदारी एक जगह केंद्रित करता है। वह उजागर हुए मुख्य रूट को फिर सुरक्षित नहीं बनाता और व्युत्पन्न शब्द निर्यात करने से संक्रमित फोन सुरक्षित नहीं होता। [1] [4]
व्युत्पादन के सभी चरण hardened हैं, यानी उन्हें मूल कुंजी का निजी हिस्सा चाहिए। केवल xpub, सार्वजनिक कुंजियाँ निकालने वाली विस्तारित सार्वजनिक कुंजी, पर्याप्त नहीं है। मिली निजी कुंजी k में 32 बाइट होते हैं। BIP85 फिर इसे HMAC-SHA512 से संसाधित करता है, जो संदेश और कुंजी लेने वाली क्रिप्टोग्राफिक गणना है। यहाँ k संदेश है और निश्चित पाठ bip-entropy-from-k कुंजी; परिणाम 64 बाइट का होता है। इसलिए गोपनीयता सार्वजनिक रूप से ज्ञात पाठ से नहीं, निजी इनपुट k से आती है। यह परिवर्तन बनी सामग्री को व्युत्पन्न कुंजी से अलग करता है। यह उसी बीच की कुंजी से भुगतान पर हस्ताक्षर करने की सलाह नहीं है। [1] [2]
XPRV अनुप्रयोग नई विस्तारित निजी कुंजी बना सकता है। m/83696968'/32'/0' के उदाहरण में पहले 32 बाइट chain code, यानी आगे व्युत्पादन के लिए अतिरिक्त डेटा, और अगले 32 बाइट निजी कुंजी होते हैं। यह सामान्य BIP 32 रूट निर्माण के उलट क्रम है। परिणाम का अंक वैध कुंजी न हो तो प्रोग्राम को त्रुटि बतानी चाहिए और उपयोगकर्ता को अगला इंडेक्स चुनना चाहिए; उसे चुपचाप उपयोग योग्य कुंजी नहीं माना जा सकता। HEX डेटा को हेक्साडेसिमल अक्षरों में लिखता है, WIF निजी कुंजी का प्रारूप है और दूसरे अनुप्रयोग पासवर्ड बनाते हैं। सबके अपने नियम हैं। दिखने में समान स्ट्रिंग समान सामग्री या संगतता का प्रमाण नहीं हैं। [1] [2]
COLDCARD दस्तावेज़ BIP 39, WIF, XPRV और HEX के व्युत्पादन तथा निर्यात का वर्णन करते हैं। BIP85 समर्थन का मतलब यह नहीं कि डिवाइस का हर संस्करण उसके सभी अनुप्रयोगों को समर्थन देता है। प्रारूप, शब्द-सूची, लंबाई और इंडेक्स के साथ यह भी दर्ज करें कि किस मूल वॉलेट से शुरुआत की गई; passphrase को अलग रहस्य की तरह सुरक्षित रखें। प्रक्रिया पर निर्भर होने से पहले जाँचें कि उससे वही व्युत्पन्न शब्द और लक्ष्य वॉलेट के संबंधित पते फिर बनते हैं। सार्वजनिक परीक्षण वेक्टर ज्ञात इनपुट और अपेक्षित परिणाम होते हैं; वे प्रोग्राम जाँचने में मदद करते हैं, आपके निजी बैकअप की जाँच नहीं करते। BIP85 प्रबंधन आसान कर सकता है, लेकिन अतिरिक्त जटिलता तभी उपयोगी है जब आप अपनी रिकवरी प्रक्रिया समझते हों। [4] [1]
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें HD Wallet, BIP 39, BIP39 passphrase, Derivation Path, Hardware Wallet, Seed Phrase. इस प्रविष्टि का उल्लेख यहाँ भी है Duress Wallet.