
किसी ने बिटकॉइन वॉलेट्स को खाली करना शुरू कर दिया है जिन तक कभी पहुंचना नहीं चाहिए था।
ये कॉइन कोल्डकार्ड डिवाइस पर थे—कनाडाई निर्माता Coinkite के हार्डवेयर वॉलेट, जो कभी इंटरनेट से संपर्क नहीं करते। कोई फ़िशिंग लिंक नहीं। कोई मैलवेयर नहीं। कोई चोरी हुआ लैपटॉप नहीं। हमलावरों ने बस यह पता लगा लिया कि निजी कुंजियाँ क्या थीं।
गैलेक्सी रिसर्च ने अब तीन पुष्ट लहरों में 1,596 BTC से अधिक की चोरी को ट्रैक किया है, जिसमें एक संदिग्ध चौथी लहर शामिल है जो कुल को लगभग 2,055 BTC—वर्तमान कीमतों पर लगभग $130 मिलियन—तक पहुंचा देगी। एक ही बार में 41 मिनट में $70 मिलियन चले गए। Coinkite का कहना है कि कम से कम 15 अलग-अलग हमलावरों ने इसमें हाथ आजमाया है।
कंपनी ने 1 अगस्त को एक तकनीकी पृष्ठभूमि दस्तावेज़ प्रकाशित किया जिसमें बताया गया था कि क्या गलत हुआ। यह एक असामान्य रूप से स्पष्ट दस्तावेज़ है, और संक्षिप्त संस्करण यह है कि वॉलेट आठ साल से 'लोडेड पासा' फेंक रहा था और किसी ने ध्यान नहीं दिया।
2021 में, Coinkite ने कोल्डकार्ड की क्रिप्टोग्राफी को libsecp256k1 पर ले जाया, वही लाइब्रेरी जो बिटकॉइन कोर उपयोग करता है। यह एक अच्छा निर्णय था। लेकिन एकीकरण में ही यह गड़बड़ हो गई।
माइग्रेशन ने चुपचाप सीड जनरेशन को कोल्डकार्ड के अपने हार्डवेयर रैंडम नंबर जनरेटर से MicroPython के सॉफ्टवेयर फॉलबैक की ओर मोड़ दिया—Yasmarang नामक एक छोटा एल्गोरिथम जो उन डिवाइसों के लिए मौजूद है जिनमें कोई रैंडमनेस चिप नहीं है।
🚨LOSSES FROM COLDCARD HACK EXCEED $100M
High confidence 1,596 BTC has been stolen from ~7300 addresses across 3 confirmed waves + more 14 smaller incidents.
If we add suspected (but unconfirmed), the total balloons to $130m (2k BTC).
More in the thread below 👇 pic.twitter.com/RAl3ib67qa
— Galaxy Research (@glxyresearch) August 3, 2026
कोल्डकार्ड में एक रैंडमनेस चिप है। बस उसे पूछा जाना बंद हो गया था।
इसका कारण इतना छोटा है कि इस पर विश्वास करना लगभग असंभव है। एक बिल्ड गार्ड ने #ifndef का इस्तेमाल किया, जो यह जांचता है कि कोई सेटिंग मौजूद है या नहीं, बजाय इसके कि वह चालू है या नहीं। Coinkite ने उस सेटिंग को शून्य के रूप में परिभाषित किया था, जिसका अर्थ था "बंद।" क्योंकि शून्य को अभी भी परिभाषित माना जाता है, सुरक्षा जांच पास हो गई और बिल्ड पूरा हो गया। फ़ंक्शन के दोनों संस्करणों के हस्ताक्षर समान थे, इसलिए कुछ भी गलत नहीं लगा।
Coinkite ने लिखा, "कोल्डकार्ड पर अधिकांश रैंडमनेस एक PRNG से आ रही थी जिसके बारे में मुझे पता नहीं था कि वह वास्तव में सोर्स कोड बेस में था," एक छद्म-यादृच्छिक संख्या जनरेटर का जिक्र करते हुए—एक ऐसा सॉफ्टवेयर जो ऐसी संख्याएँ उत्पन्न करता है जो यादृच्छिक दिखती हैं लेकिन शुरुआती मान से एक निश्चित नुस्खे का पालन करती हैं।
नुस्खे को एक ही शुरुआती मान दें और आपको हर बार वही आउटपुट मिलेगा।
फर्मवेयर 4.0.1 से 4.1.9 तक चलाने वाले Mk2 और Mk3 डिवाइसों पर, वह शुरुआती मान चिप के सीरियल नंबर और उसकी घड़ी से आया था। Coinkite का अनुमान है कि परिणामी सर्च स्पेस लगभग 40 बिट्स है। नए मॉडल में थोड़ी सुरक्षित-एलिमेंट एंट्रॉपी मिलाई गई, जिससे वे लगभग 72 बिट्स तक पहुंच गए।
इनमें से कोई भी 128 नहीं है, जो लक्ष्य था।
यह अंतर जितना दिखता है उससे कहीं अधिक मायने रखता है। बिट्स घातांक हैं। एक 128-बिट सर्च स्पेस में ब्रह्मांड में मौजूद परमाणुओं से भी अधिक संयोजन होते हैं, और कोई इसे खोज नहीं रहा है। चालीस बिट्स लगभग एक ट्रिलियन हैं—एक ऐसी संख्या जिसे एक अच्छा लैपटॉप आसानी से संसाधित कर सकता है। हर बिट जो आप खोते हैं, काम को आधा कर देता है।
ब्लॉक की इंजीनियरिंग टीम, जिसने अपना विश्लेषण प्रकाशित किया, ने नए उपकरणों का प्रभावी सुरक्षित-एलिमेंट सर्च स्पेस 2^32 उम्मीदवारों पर रखा, औसतन 2^31 परीक्षणों पर। पुराने बोर्डों के लिए उनका आकलन अधिक सीधा है: एक ज्ञात डिवाइस आईडी, टाइमर स्थिति और कॉल इतिहास के लिए, वॉलेट जनरेशन नियतात्मक है।
और नियतात्मक यादृच्छिक के विपरीत है, जो क्रिप्टोग्राफी के लिए आवश्यक है।
Coinkite को संदेह है कि इसे मशीन द्वारा खोजा गया था। कंपनी ने लिखा, "हमें यह मान लेना होगा कि किसी ने हमारे फर्मवेयर के पिछले संस्करणों की समीक्षा करने के लिए AI का उपयोग किया और इस समस्या पर ठोकर खाई," उन्होंने आगे कहा कि उन्होंने हाल ही में उसी कोड पर उपलब्ध सर्वोत्तम AI मॉडलों में से एक को चलाया था और कुछ भी नहीं मिला था। "हमलावरों और बचावकर्ताओं दोनों के पास समान AI उपकरण हैं, लेकिन आज इसने हमारी मदद नहीं की, बल्कि केवल बुरे लोगों की मदद की।"
प्रत्येक प्रभावित मॉडल के लिए फिक्स्ड फर्मवेयर जारी कर दिया गया है। यह मौजूदा सीड्स को ठीक नहीं करता है; उन वॉलेट्स को फिर से जनरेट करना होगा और फंड को स्थानांतरित करना होगा। Decrypt ने बताया है कि इस तरह के एक एक्सप्लॉइट के बाद एयर-गैप्ड स्टोरेज कैसे बदलता है और $114 मिलियन से अधिक के नुकसान को ट्रैक किया।
एंट्रॉपी इस बात का माप है कि एक हमलावर कितना नहीं जानता।
दूसरे शब्दों में, यह मूल रूप से अनिश्चितता है, जिसे बिट्स में गिना जाता है। एक बिट एक सिक्के का उछाल है: दो परिणाम, और अनुमान लगाने वाला आधी बार सही होता है। दस बिट्स 1,024 परिणाम हैं। प्रत्येक बिट अनुमान लगाने वाले के काम को दोगुना कर देता है।
एक बिटकॉइन वॉलेट एक बहुत बड़ी संख्या है जिसे गोपनीय रखा जाता है। लोग जिस पते पर सिक्के भेजते हैं, वह उससे गणितीय रूप से व्युत्पन्न होता है, और व्युत्पत्ति केवल एक ही दिशा में चलती है—आप कुंजी से पते तक जा सकते हैं, लेकिन कभी वापस नहीं आ सकते।
तो प्रत्येक वॉलेट की सुरक्षा एक सवाल पर टिकी है: एक हमलावर को कितने नंबर आज़माने होंगे?
यदि संख्या 128 बिट्स की एंट्रॉपी के साथ चुनी गई थी, तो उत्तर है "जितना भौतिकी अनुमति देती है उससे कहीं अधिक।" यदि इसे 40 के साथ चुना गया था, तो उत्तर है "मुझे कुछ समय दें।"
यह वही गुण है जो क्वांटम कंप्यूटिंग खतरे को बहस का विषय बनाता है—एक क्वांटम मशीन उस गणित पर हमला करेगी जो कुंजी को पते से जोड़ता है। कोल्डकार्ड बग को इसकी कभी आवश्यकता नहीं थी। इसने उस गणित के शामिल होने से पहले ही कुंजियों को अनुमान लगाने योग्य बना दिया।
यहां शब्दावली फिसलन भरी हो जाती है। एक छद्म-यादृच्छिक जनरेटर ऐसा आउटपुट उत्पन्न करता है जो यादृच्छिकता के लिए सांख्यिकीय परीक्षणों को पास करता है, इसलिए मूल रूप से ऐसा कुछ भी नहीं जिसे एक स्प्रेडशीट चिह्नित करे। वह आउटपुट अभी भी अपने सीड मान द्वारा पूरी तरह से निर्धारित होता है। यह यादृच्छिक दिखता है लेकिन है नहीं।
सांख्यिकीय यादृच्छिकता और क्रिप्टोग्राफिक अप्रत्याशितता अलग-अलग गुण हैं, और कोल्डकार्ड का आउटपुट पहले परीक्षण में सफल हो जाता जबकि दूसरे में पूरी तरह से विफल हो जाता।
सच्ची यादृच्छिकता भौतिक शोर से आनी चाहिए: एक सर्किट में विद्युत झटके, थर्मल उतार-चढ़ाव, रेडियोधर्मी क्षय। कोल्डकार्ड पर हार्डवेयर चिप इसी के लिए था। वह चिप थी जिसे बिल्ड फ्लैग ने डिस्कनेक्ट कर दिया था।
जैसे ही उपयोगकर्ता सीड्स को फिर से जनरेट करने के लिए जूझ रहे थे, कई लोगों ने स्पष्ट कम-तकनीकी समाधान का सहारा लिया। कोल्डकार्ड आपको भौतिक पासा रोल करने और परिणामों को एंट्रॉपी के रूप में फीड करने देते हैं। Coinkite के अपने मार्गदर्शन में कम से कम 50 स्वतंत्र, निजी पासा रोल से बने सीड्स को बग से जोखिम में नहीं माना जाता है।
यह शायद बेवकूफी लग सकता है, लेकिन कंपनी वास्तव में "100 प्यारे और छोटे पासा" वाले एक बैग को बेचती है ताकि आपके लिए पूरी प्रक्रिया को आसान बनाया जा सके।
31 जुलाई को, बिटकॉइन कोर डेवलपर ल्यूक डैश्जर ने एक चेतावनी पोस्ट की: "कोल्डकार्ड भेद्यता को कम करने के लिए काफी लोग पासा सुझा रहे/इस्तेमाल कर रहे हैं। ध्यान दें कि सामान्य पासे क्रिप्टोग्राफिक रूप से सुरक्षित होने के लिए डिज़ाइन नहीं किए गए हैं। यदि आप ऐसा करने जा रहे हैं, तो आपको शायद सटीक कैसीनो पासा खरीदना चाहिए। और तब भी, एंट्रॉपी का एक और स्रोत रखें।"
बिटकॉइन ट्विटर ने इसे शांति से नहीं लिया।
"लोल, अब आप पासा भी नहीं फेंक सकते," एक उपयोगकर्ता ने लिखा। "सेल्फ कस्टडी खत्म हो गई..." दूसरे ने पूछा कि क्या उसे पार्किंसंस रोग वाले किसी व्यक्ति को उन्हें फेंकने के लिए काम पर रखना चाहिए। (अच्छा नहीं।)
should I hire someone with parkinsons to throw the dice?
— Murern (@Bitcoin_Murern) July 31, 2026
शायद सबसे उपयोगी जवाब अंकगणित के साथ आया। डेवलपर जस्टिन शार्प ने ठीक से बताया कि एक खराब पासा आपको कितना महंगा पड़ता है:
"अति-आवश्यकता। एक आदर्श d6 प्रति रोल 2.585 बिट्स देता है। एक स्पष्ट रूप से पक्षपातपूर्ण पासा, उदाहरण के लिए, एक चेहरा 16.7% के बजाय 20% बार गिरता है, तब भी लगभग 2.55 बिट्स देता है। 99 रोल्स में यह ~256 बिट्स और ~252 बिट्स की एंट्रॉपी के बीच का अंतर है।"
256 में से चार बिट्स। यह एक स्पष्ट रूप से अनुचित पासा के लिए कुल जुर्माना है।
डैश्जर गलत नहीं हैं कि सस्ते पासे में मापने योग्य पूर्वाग्रह होता है—इंजेक्शन-मोल्डेड पिप्स प्रत्येक चेहरे से प्लास्टिक की थोड़ी भिन्न मात्रा को हटाते हैं, ठीक यही कारण है कि कैसीनो फ्लश-फिल्ड सटीक पासा का उपयोग करते हैं। वह भौतिकी के बारे में सही और दांव के बारे में गलत थे। 256 से चार बिट्स खोने पर आप 252 पर रह जाते हैं। कोल्डकार्ड के बग ने उपयोगकर्ताओं को 40 पर छोड़ दिया।
हालांकि, उनकी सलाह में एक अधिक तीक्ष्ण तर्क छिपा है, और यह विनिर्माण सहिष्णुता के बारे में नहीं है। यह किसी एक स्रोत पर भरोसा न करने के बारे में है। कोल्डकार्ड की विफलता यह नहीं थी कि उसकी एंट्रॉपी थोड़ी पक्षपातपूर्ण थी—यह था कि एक घटक चुपचाप योगदान करना बंद कर दिया और किसी ने इसे पकड़ा नहीं।
यदि आपने प्रभावित कोल्डकार्ड पर बिना पासा रोल (वास्तव में) या एक मजबूत BIP-39 पासफ्रेज के बिना सीड जनरेट किया था, तो वह सीड समझौता हो गया है।
फर्मवेयर अपडेट करें, एक नया सीड जनरेट करें, फिंगरप्रिंट सत्यापित करें, एक टेस्ट ट्रांजैक्शन भेजें, और फिर सब कुछ स्थानांतरित करें। Coinkite की सलाह इसे मॉडल दर मॉडल बताती है। निर्यात किए गए सीड्स अपने साथ दोष ले जाते हैं—एक खराब सीड को एक अलग वॉलेट ऐप में ले जाने से कुछ भी हल नहीं होता है।
बाकी सभी के लिए, मुख्य बात यह नहीं है कि हार्डवेयर वॉलेट खराब हैं या पासे एक जाल हैं।
यह है कि "यादृच्छिक" एक दावा है, और दावों की जांच होनी चाहिए। कोल्डकार्ड का सोर्स कोड पूरे समय सार्वजनिक था। इच्छित हार्डवेयर RNG बाइनरी में ही मौजूद था। समीक्षकों ने पुष्टि की कि यह मौजूद था और कभी पुष्टि नहीं की कि सीड जनरेटर ने वास्तव में इसे कॉल किया था।
आठ साल के ऑडिट में सही कोड देखा गया। किसी ने यह जांच नहीं की कि यह चला या नहीं।