एक मानक छह-पक्षीय पासा प्रत्येक रोल पर लगभग 2.6 बिट्स अप्रत्याशित जानकारी उत्पन्न करता है। यह शायद ज्यादा न लगे, लेकिन पर्याप्त बार दोहराए जाने पर ये रोल बिना किसी सॉफ़्टवेयर या इलेक्ट्रॉनिक घटक पर निर्भर हुए बिटकॉइन वॉलेट को सुरक्षित करने के लिए आवश्यक कच्ची यादृच्छिकता उत्पन्न कर सकते हैं।
पासा फेंकने से बिटकॉइन कीज़ ऑफ़लाइन रहती हैं, लेकिन हर कोई ऐसा करने की जहमत नहीं उठाएगा।

मुख्य निष्कर्ष
- क्लाउड शैनन के सूत्र के अनुसार, एक निष्पक्ष छह-पक्षीय पासा फेंकने से लगभग 2.585 बिट्स की एंट्रॉपी मिलती है।
- कोइनकाइट के दस्तावेज़ों में कहा गया है कि 50 पासे के रोल एक बिटकॉइन वॉलेट सीड के लिए 128-बिट मानक को पूरा करते हैं।
- केविन लोएक के विज़ार्ड सार्डिन विश्लेषण ने मुख्य सीड के अलावा कोल्डकार्ड टूल्स में जोखिम की ओर इशारा किया।
पासा फेंकने के परिणाम का अनुमान लगाना इतना मुश्किल क्यों है
क्लाउड शैनन, जिन्होंने सूचना सिद्धांत की स्थापना की, ने किसी परिणाम की अनिश्चितता को मापने के लिए एंट्रॉपी का उपयोग किया। एक निष्पक्ष छह-पक्षीय पासा में, प्रत्येक मुख के प्रकट होने की संभावना एक में से छह होती है। इससे प्रत्येक रोल में लगभग 2.585 बिट्स की एंट्रॉपी मिलती है। एक सिक्का उछालने से 1 बिट बनता है, जबकि आठ-पक्षीय पासा 3 बिट उत्पन्न करता है।
हाल के कोल्डकार्ड विवाद ने सोशल मीडिया पर पासा-आधारित सीड जेनरेशन को बढ़ावा दिया है। कुछ उपयोगकर्ता अब इसे आवश्यक मानते हैं, कुछ का कहना है कि इसने उनके फंड की रक्षा की, जबकि अनुभवी ऑपरेटरों का कहना है कि अधिकांश नए उपयोगकर्ता धीमी, त्रुटि-प्रवण सेटअप प्रक्रिया को बर्दाश्त नहीं करेंगे।
महत्वपूर्ण बात यह नहीं है कि एक घूमती पासा परमाणु स्तर पर यादृच्छिक रूप से व्यवहार करती है। ऐसा नहीं है। परिणाम भौतिकी द्वारा नियंत्रित होता है, लेकिन एक ही समय में बहुत सारे छोटे चर बदल रहे होते हैं, जिसके कारण कोई भी व्यक्ति परिणाम की विश्वसनीय रूप से गणना नहीं कर सकता। पासा हाथ से एक निश्चित गति, कोण, ऊँचाई और घूर्णन के साथ निकलता है, फिर मेज से टकराता है और हर उछाल के साथ दिशा बदलता है।
वास्तव में, छोड़ने के तरीके में एक छोटा सा बदलाव भी एक पूरी तरह से अलग परिणाम उत्पन्न कर सकता है। उँगली की स्थिति में थोड़ा सा अंतर या थोड़ा ज़्यादा ज़ोर से फेंकने से मार्ग इतना बदल जाता है कि गति को देखकर अंतिम संख्या का अनुमान नहीं लगाया जा सकता। सैद्धांतिक रूप से परिणाम निश्चित हो सकता है, लेकिन वॉलेट जेनरेशन के लिए, यह मायने रखता है कि कोई हमलावर इसे दोबारा नहीं बना सकता या इसकी गणना नहीं कर सकता।
पासा रोल को उपयोगी डेटा में बदलना
एक कंप्यूटर सीधे पासे के परिणामों की सूची का उपयोग नहीं कर सकता है। पासे को पहले बाइनरी डेटा में बदलना होगा, और रूपांतरण विधि मायने रखती है।
एक बुनियादी विषम-या-सम विधि को समझना आसान है, लेकिन यह उपलब्ध एंट्रॉपी का अधिकांश भाग बर्बाद कर देती है। प्रत्येक रोल एक बिट तक कम हो जाता है, भले ही पासा ने लगभग 2.6 बिट की जानकारी उत्पन्न की हो। अधिक कुशल विधियाँ रोल की एक लंबी श्रृंखला एकत्र करती हैं और पूरी स्ट्रिंग को संसाधित करती हैं, आमतौर पर एक क्रिप्टोग्राफिक हैश फ़ंक्शन के माध्यम से। यह यादृच्छिकता को कहीं अधिक संरक्षित करता है।
यह सिद्धांत Diceware में भी दिखाई देता है, जो सुरक्षित पासफ़्रेज़ बनाने की एक पुरानी विधि है, और मैन्युअल बिटकॉइन वॉलेट जनरेशन में भी। एक सामान्य 12-शब्दों वाला वॉलेट रिकवरी वाक्यांश 128 बिट्स की एंट्रॉपी से बना होता है। प्रति रोल लगभग 2.6 बिट्स की दर से, लगभग 50 निष्पक्ष रोल उस सीमा को पार करने के लिए पर्याप्त कच्ची जानकारी प्रदान करते हैं।
कोल्डकार्ड हार्डवेयर वॉलेट के निर्माता, कोइनकाइट, 256 बिट्स के करीब एंट्रॉपी चाहने वाले उपयोगकर्ताओं के लिए 99 या उससे अधिक रोल की सिफारिश करता है। इससे वॉलेट का उपयोग दोगुना मुश्किल नहीं हो जाता है, लेकिन यह उत्पन्न हुए रहस्य को एक बहुत बड़ा गणितीय सुरक्षा मार्जिन प्रदान करता है।
पासे से उत्पन्न बीजों का एक वास्तविक-विश्व परीक्षण
यह अंतर तब महत्वपूर्ण हो गया जब कॉइनकाइट ने 2021 से चली आ रही एक फर्मवेयर समस्या का खुलासा किया। कुछ कोल्डकार्ड डिवाइसों पर, सॉफ्टवेयर आंतरिक हार्डवेयर रैंडम-नंबर जनरेटर को छोड़कर, इसके बजाय गैर-गोपनीय डिवाइस जानकारी से जुड़ी एक कमजोर प्रक्रिया का उपयोग कर सकता था।
क्योंकि उस प्रक्रिया के कुछ हिस्सों को फिर से बनाया जा सकता था, हमलावर पूरे की-स्पेस (key space) को खोजने के बजाय संभावित वॉलेट कुंजियों को सीमित करने में सक्षम थे। पूर्वी समयानुसार दोपहर 1 बजे तक, इस खामी का संबंध लगभग 1100 पतों से अनुमानित 1,128.6633 बीटीसी (BTC) की चोरी से था।

पर्याप्त संख्या में स्वतंत्र पासा फेंकने से पूरी तरह से बनाए गए वॉलेट सीड्स उसी रास्ते से उजागर नहीं हुए। उन उपयोगकर्ताओं ने अपनी खुद की एंट्रॉपी प्रदान की थी, इसलिए दोषपूर्ण हार्डवेयर जनरेटर प्राथमिक वॉलेट सीक्रेट बनाने के लिए जिम्मेदार नहीं था।
हालांकि, वह सुरक्षा केवल पासे से उत्पन्न सीड पर ही लागू होती थी। यह डिवाइस द्वारा उत्पन्न हर दूसरी गुप्त कुंजी की स्वचालित रूप से रक्षा नहीं करती थी।
विज़ार्ड सार्डिन बारीकियों की जांच करते हैं
सुरक्षा शोधकर्ता केविन लोएक ने 1 अगस्त को विज़ार्ड सार्डिन की वेबसाइट पर कोल्डकार्ड एक्सप्लॉइट का एक मूल्यांकन प्रकाशित किया। उनका सबसे महत्वपूर्ण अवलोकन उन कोल्डकार्ड सुविधाओं से संबंधित था जो प्राथमिक वॉलेट सीड से अलग, अपने स्वयं के सीक्रेट्स को अलग से उत्पन्न करती थीं।
लोएक ने प्रभावित सिस्टम का एक आरेख प्रस्तुत करने से पहले एक्स पर लिखा, "मेरा मानना है कि इस बात पर जोर देना बेहद महत्वपूर्ण है कि यहां तक कि वे उपयोगकर्ता भी जो डाइस के साथ एक सीड आयात या उत्पन्न करते हैं, वे भी असुरक्षित हैं, यदि वे निम्नलिखित सुविधाओं का उपयोग करते हैं।"
डायग्राम में दोषपूर्ण रैंडम-नंबर जनरेटर को कई द्वितीयक कोल्डकार्ड फ़ंक्शनों को फ़ीड करते हुए दिखाया गया है। इनमें पेपर वॉलेट बनाना, डिवाइस क्लोनिंग, यूएसबी सत्र एन्क्रिप्शन, सीक्रेट टेलीपोर्ट ट्रांसफर फ़ीचर, सह-हस्ताक्षर कुंजी बनाना, अंतर्निर्मित पासवर्ड जनरेटर और हार्डवेयर सुरक्षा मॉड्यूल प्रमाणीकरण कोड शामिल थे।

99 डाइस रोल से बनाया गया एक प्राथमिक वॉलेट सिस्टम के एक अलग हिस्से में बना रहा। समस्या यह थी कि अन्य टूल अभी भी दोषपूर्ण जनरेटर से नई यादृच्छिकता का अनुरोध कर सकते थे। परिणामस्वरूप, एक सुरक्षित सीड इस बात की गारंटी नहीं देता था कि उसी डिवाइस पर बनाया गया हर पासवर्ड, बैकअप, प्रमाणीकरण कोड या द्वितीयक कुंजी समान रूप से सुरक्षित थी।
अधिकांश नए उपयोगकर्ता पासा क्यों नहीं फेंकेंगे
पासा-जनित एंट्रॉपी तकनीकी रूप से सही होने पर ठोस होती है, लेकिन यह अधिकांश नए उपयोगकर्ताओं के लिए एक यथार्थवादी डिफ़ॉल्ट नहीं है। एक पासा 50 या 99 बार फेंकना, हर परिणाम को सटीक रूप से दर्ज करना, और यह पुष्टि करना कि कोई रोल छोड़ा या दोहराया नहीं गया था, इसके लिए धैर्य और बहुत एकाग्रता की आवश्यकता होती है। एक गलत अंक दर्ज करने से वॉलेट पूरी तरह से बदल सकता है, और अधिकांश डिवाइस यह नहीं बता सकते कि गलती खराब रोल से हुई, दर्ज करने में हुई त्रुटि से हुई, या निर्देशों को समझने में हुई भूल से हुई।

यह प्रक्रिया ऐसे जोखिम भी पैदा करती है जो एक ठीक से काम करने वाले हार्डवेयर जनरेटर के साथ मौजूद नहीं होते हैं। उपयोगकर्ता रोल को कागज पर लिख सकते हैं, उनकी तस्वीर ले सकते हैं, उन्हें किसी ऑनलाइन टूल में दर्ज कर सकते हैं, या सूची को कहीं ऐसा छोड़ सकते हैं जहाँ कोई और उसे ढूंढ सके। कुछ लोग पासा को दोहराए हुए या नियंत्रित तरीके से फेंकते हैं, एक लोडेड या क्षतिग्रस्त पासा का उपयोग करते हैं, या प्रक्रिया अत्यधिक लगने के कारण जल्दी रुक जाते हैं। गणित मजबूत हो सकता है, लेकिन परिणाम केवल उतना ही सुरक्षित है जितना उपयोगकर्ता की प्रक्रिया है।

इसीलिए कई लोगों के लिए, यहां तक कि अनुभवी बिटकॉइन उपयोगकर्ताओं के बीच भी, पासा फेंकना हमेशा सबसे अच्छा तरीका नहीं माना जाता है। यह एक डिवाइस में विश्वास को एक मैन्युअल प्रक्रिया में विश्वास से बदल देता है। एक तकनीकी रूप से सावधान उपयोगकर्ता के लिए जो एंट्रॉपी को समझता है, विधि को सत्यापित करता है, और रोल अनुक्रम को निजी रखता है, यह आदान-प्रदान समझ में आ सकता है। पहली बार वॉलेट सेट करने वाले एक औसत खरीदार के लिए, यह एक स्थायी गलती करने के कई अवसर जोड़ता है, और साथ ही यह एक कष्टप्रद प्रक्रिया भी है।

यह कल्पना करना भी मुश्किल है कि व्यापक बिटकॉइन अपनाने का तरीका यह होगा कि लोग एक मेज पर बैठकर फंड प्राप्त करने और उसे सुरक्षित रूप से करने से पहले 99 पासे के परिणाम रिकॉर्ड करें। सुरक्षा प्रथाओं को असली घरों, व्यस्त कार्यक्रमों, ध्यान भटकाने वाली चीजों और उन उपयोगकर्ताओं के बीच भी टिकना होगा जो क्रिप्टोग्राफी का अध्ययन नहीं करना चाहते। मैनुअल एंट्रॉपी एक उन्नत विकल्प के रूप में उपलब्ध रहनी चाहिए, लेकिन दीर्घकालिक लक्ष्य ऐसा हार्डवेयर और सॉफ्टवेयर होना है जो सही ढंग से मजबूत यादृच्छिकता उत्पन्न करे, स्पष्ट रूप से समझाए कि क्या हो रहा है और जिसमें यथासंभव कम विशेष ज्ञान की आवश्यकता हो।
कोल्डकार्ड मालिकों को क्या जाँचना चाहिए
प्रभावित Coldcard डिवाइस के मालिकों को पहले डिवाइस पर इंस्टॉल किए गए फर्मवेयर संस्करण को सत्यापित करना चाहिए। उन्हें केवल इस बात पर ध्यान केंद्रित करने के बजाय कि मुख्य वॉलेट सीड कैसे उत्पन्न किया गया था, यह समीक्षा करनी चाहिए कि उन्होंने पुराने फर्मवेयर का उपयोग करते समय कौन सी सुविधाओं का उपयोग किया था।
जिसने भी प्रभावित डिवाइस का उपयोग पेपर वॉलेट, क्लोनिंग सीक्रेट, पासवर्ड, को-साइनिंग की, या ऑथेंटिकेशन कोड बनाने के लिए किया है, उसे उस सामग्री को तुरंत बदलने की आवश्यकता हो सकती है। अपडेट इंस्टॉल करने से नए सीक्रेट्स पर उसी समस्या के प्रभाव को रोकता है, लेकिन यह पहले बनाई गई किसी भी चीज़ की मरम्मत नहीं करता है।
यह घटना मल्टी-वेंडर वॉलेट सेटअप के लिए एक मजबूत व्यावहारिक आधार भी प्रदान करती है। एक मल्टी-सिग्नेचर व्यवस्था में, किसी लेनदेन को मंजूरी देने के लिए अलग-अलग निर्माताओं के अलग-अलग हार्डवेयर उपकरणों की आवश्यकता हो सकती है। वह संरचना फर्मवेयर बग्स को असंभव नहीं बनाती है, लेकिन यह एक अकेले दोषपूर्ण रैंडम-नंबर जनरेटर को अकेले ही पूरे वॉलेट को उजागर करने से रोक सकती है।
यह लेख AI का उपयोग करके अंग्रेज़ी से अनुवादित किया गया था। मूल अंग्रेज़ी संस्करण आधिकारिक स्रोत है; स्वचालित अनुवादों में अशुद्धियाँ हो सकती हैं, विशेष रूप से कानूनी और नियामक शब्दावली में।
















