सामग्री पर जाएँ

Liquid हैक: हैकर और Blockstream के बीच पूरी ऑन-चेन बातचीत, संदेश दर संदेश

6 सितंबर से Liquid शोषक और Blockstream ने बिटकॉइन लेनदेन के भीतर जो भी संदेश एक-दूसरे को भेजे, कॉइन के स्वामित्व और PGP हस्ताक्षर से जिम्मेदारी तय करते हुए: पहले सारांश, फिर पूरा थ्रेड।

  • Liquid हैकर और Blockstream ने OP_RETURN संदेशों में 4,000 BTC की वापसी पर बातचीत की। 3,400 BTC 7 सितंबर को लौटे; 598.5 BTC अब भी रोके गए हैं।
  • अब तक 27 जिम्मेदारी-तय प्रविष्टियां: 12 शोषक से, 14 Blockstream से, कई एन्क्रिप्टेड, साथ में वापसी हस्तांतरण। पते पर भेजा गया स्पैम शामिल नहीं।

6 सितंबर को लगभग 4,000 BTC, यानी करीब 320 मिलियन डॉलर, उस वॉलेट से निकल गए जो Blockstream की बिटकॉइन साइडचेन Liquid Network को समर्थन देता है, और यह चोरी हुई कुंजी से नहीं बल्कि Elements सॉफ्टवेयर के एक बग के जरिए हुआ। उसी दिन का हमारा आउटलुक वह कहानी बताता है। यह पेज इस बारे में है कि आगे क्या हुआ, और कहां हुआ: कॉइन रखने वाले व्यक्ति या समूह और Blockstream ने बिटकॉइन ब्लॉकचेन पर ही, लेनदेन में लिखे संदेशों के जरिए, एक-दूसरे से बात की, और पूरा आदान-प्रदान सार्वजनिक है। नीचे आप देखेंगे कि ऐसी बातचीत कैसे काम करती है, सारांश में क्या कहा गया, और फिर हर जिम्मेदारी-तय संदेश क्रम में, उस लेनदेन के लिंक के साथ जो उसे ले जाता है।

बिटकॉइन लेनदेन के भीतर बातचीत कैसे रहती है

बिटकॉइन लेनदेन OPRETURN नामक आउटपुट प्रकार में थोड़ा-सा मनमाना डेटा ले जा सकते हैं। शोषक ने इसे डाकपेटी की तरह इस्तेमाल किया: हर संदेश एक लेनदेन है जो चुराए गए कॉइन का थोड़ा-सा हिस्सा खर्च करता है, वाहक के रूप में दूसरे पक्ष को 1,000 सातोशी भेजता है, और पाठ को OPRETURN आउटपुट में लिखता है। Blockstream ने उसी तरह जवाब दिया, पहले एक संपर्क पते से और फिर नए पतों से। कुछ संदेश सादे पाठ में हैं। कुछ Blockstream की प्रकाशित सुरक्षा कुंजी से हस्ताक्षरित हैं, ताकि कोई भी जांच सके कि वे सचमुच कंपनी से आए हैं। कई एन्क्रिप्टेड हैं: शोषक के Blockstream को भेजे नोट कंपनी की सार्वजनिक PGP कुंजी से एन्क्रिप्टेड हैं, और Blockstream के शोषक को भेजे नोट शोषक के अपने बिटकॉइन पते के पीछे की कुंजी से, Electrum वॉलेट में निर्मित ECIES योजना का उपयोग करते हुए, एन्क्रिप्टेड हैं। एन्क्रिप्टेड संदेश चेन पर सबके देखने के लिए मौजूद हैं, लेकिन केवल अभीष्ट पाठक ही उन्हें खोल सकता है। हम उन्हें एन्क्रिप्टेड दिखाते हैं और उनका आकार बताते हैं; हम उन्हें पढ़ नहीं सकते, और न ही कोई और, जब तक शोषक निजी कुंजी प्रकाशित न कर दे, जैसा उसने धमकी दी है।

जिम्मेदारी तय करना दो नियमों पर चलता है जिन्हें कोई भी सत्यापित कर सकता है। कोई संदेश शोषक का है जब लेनदेन चुराए गए धन वाले पते से कॉइन खर्च करता है: कॉइन ही माइक्रोफोन हैं। कोई संदेश Blockstream का है जब वह कंपनी के संपर्क पते से खर्च होता है, या जब उसका पाठ एक PGP क्लियरसाइन्ड संदेश है जिसका हस्ताक्षर blockstream.com पर प्रकाशित कुंजी, फिंगरप्रिंट 1176 542D A98E 71E1 3372 2EF7 4AC8 CC88 6844 A2D6, से सत्यापित होता है। हमारा सत्यापित कालक्रम Bitcoin Core योगदानकर्ता Sjors Provoost द्वारा प्रकाशित स्वतंत्र ऑडिट से मेल खाता है।

इस थ्रेड में क्या नहीं है

सार्वजनिक रूप से चर्चित बिटकॉइन पता शोर खींचता है। 6 सितंबर से शोषक के पते को पाठ वाले करीब 300 अन्य लेनदेन मिले हैं: मीमकॉइन के विज्ञापन, कॉइन में हिस्से की अपीलें, ऐसे आरोप जो व्यक्तियों का नाम लेते हैं और चोरी को अंदरूनी काम बताते हैं, और कम से कम एक संदेश जो Blockstream के मुख्य कार्यकारी की ओर से होने का दावा करता है। इनमें से कोई चुराए गए कॉइन खर्च नहीं करता और कोई वैध Blockstream हस्ताक्षर नहीं रखता, इसलिए इनमें से कोई बातचीत का हिस्सा नहीं है, और हम उन्हें नहीं दोहराते।

चर्चा का सारांश

पहला संपर्क, 6 सितंबर। निकासी के चार घंटे बाद, कॉइन रखने वाले पते ने लिखा "we are whitehats. contact us on chain" (हम व्हाइट हैट हैं। हमसे चेन पर संपर्क करें)। Blockstream ने घंटे भर के भीतर अपने सुरक्षा ईमेल पते के साथ जवाब दिया। शोषक ने उसका कभी इस्तेमाल नहीं किया; इसके बाद जो हुआ वह सब चेन पर ही रहा।

शर्तें, 7 सितंबर की शुरुआत। Blockstream ने अपना पहला एन्क्रिप्टेड नोट भेजा। शोषक ने फिर सादे पाठ में प्रस्ताव रखा कि वह "most" (अधिकांश) कॉइन Liquid के फेडरेशन वॉलेट को वापस भेजेगा और पूछा कि क्या यह स्वीकार्य है। कुछ मिनट बाद उसने एक शर्त जोड़ी: पहले बग ठीक करो, सुनिश्चित करो कि हर नोड पैच हो चुका है, और तभी पैसा सुरक्षित रूप से जाएगा। खामी का तकनीकी विवरण इसके बाद आया, Blockstream की कुंजी से एन्क्रिप्टेड। Blockstream ने हस्ताक्षरित "Yes, thank you." (हां, धन्यवाद।) से जवाब दिया।

पैच हुआ, और वापस मिला। 09:41 UTC पर Blockstream ने एक हस्ताक्षरित संदेश पोस्ट किया: ब्रिज नोड पैच हो चुके हैं और धन लौटाना सुरक्षित है। शोषक ने गंतव्य पते की एक और पुष्टि मांगी, फिक्स पर और एन्क्रिप्टेड विवरण भेजा, और 16:09 UTC पर एक ही लेनदेन ने 3,400 BTC पेग वॉलेट में भेज दिए। बाकी 598.5 BTC, लगभग 15 प्रतिशत, शोषक के पते पर ही रहे।

बंद दरवाजों के पीछे, 7 से 8 सितंबर। उस शाम से आदान-प्रदान अंधेरे में चला गया: Blockstream ने हस्ताक्षरित, एन्क्रिप्टेड नोटों की एक श्रृंखला भेजी, जिसमें उन्हें डिक्रिप्ट करने का एक छोटा निर्देश भी था, और शोषक ने उसी तरह जवाब दिया। इस चरण में शोषक की एकमात्र पढ़ने योग्य पंक्ति एक उदास चेहरा है, जो 7 सितंबर की देर रात पोस्ट हुआ।

सादा पाठ, और एक अल्टीमेटम, 8 से 9 सितंबर। 8 सितंबर की दोपहर शोषक ने घोषणा की कि आगे के सभी संदेश सादे पाठ में होंगे। 9 सितंबर को थ्रेड का सबसे लंबा संदेश आया: आरोप कि Blockstream ने सुरक्षा पर बहुत कम खर्च किया, मांग कि कंपनी अपने पैसे से 10 प्रतिशत बग बाउंटी के रूप में दे, धमकी कि अन्यथा उसके उपयोगकर्ता 15 प्रतिशत का नुकसान उठाएंगे, और वादा कि एन्क्रिप्टेड बातचीत खोलने वाली निजी कुंजी प्रकाशित की जाएगी। Blockstream ने उसी घंटे में, एन्क्रिप्टेड और हस्ताक्षरित, जवाब दिया, और फिर 10 सितंबर की शुरुआत में दोबारा। उसने न चेन पर, न कहीं और, बाउंटी वाली रूपरेखा स्वीकार की है।

पूरी बातचीत

समय UTC में हैं। "शोषक" वह पता है जिसके पास निकाले गए कॉइन हैं; व्हाइट-हैट का लेबल उसका अपना है। "Blockstream" उन संदेशों को चिह्नित करता है जो कंपनी के संपर्क पते से खर्च हुए या उसकी प्रकाशित कुंजी से सत्यापित हुए। उद्धरण चिह्नों में दिया पाठ ठीक वैसा ही है जैसा चेन पर लिखा गया।

6 सितंबर, 18:30 UTC, ब्लॉक 965,818, शोषक: "we are whitehats. contact us on chain" (लेनदेन)

6 सितंबर, 19:31 UTC, ब्लॉक 965,822, Blockstream: "Please contact security@blockstream.com" (लेनदेन)

7 सितंबर, 01:49 UTC, ब्लॉक 965,865, Blockstream: "Encrypted to the key behind bc1ql4mfu6aundtkksxklfajs2h3t9nzcd6gyqjlte (Electrum BIE1 ECIES):" इसके बाद शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 1,297 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 02:20 UTC, ब्लॉक 965,869, शोषक: "sending most back to bc1qdlld6antmv4xug242ed83q7k4rqw50cwfns38szx4qu2f4jwaxxsuhwxxr, is that ok" (लेनदेन)

7 सितंबर, 03:30 UTC, ब्लॉक 965,875, शोषक: "Please fix the bug first. The chain is under risk at latest commit right now. Make sure every node is patched. Then we will transfer the money back safely after confirming the fix. The detail is as follows (encrypted using https://blockstream.com/pgp.txt)." इसके बाद Blockstream के लिए एक एन्क्रिप्टेड खंड, तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 03:30 UTC, ब्लॉक 965,875, Blockstream: "Yes, thank you." (PGP-हस्ताक्षरित, सत्यापित) (लेनदेन)

7 सितंबर, 09:41 UTC, ब्लॉक 965,912, Blockstream: "Bridge nodes are patched, safe to return the funds." (PGP-हस्ताक्षरित, सत्यापित) (लेनदेन)

7 सितंबर, 12:43 UTC, ब्लॉक 965,930, शोषक: "plz confirm again that we are sending the coins back to bc1qdlld6antmv4xug242ed83q7k4rqw50cwfns38szx4qu2f4jwaxxsuhwxxr More details about the vuln fix:" इसके बाद Blockstream के लिए एक एन्क्रिप्टेड खंड, तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 15:31 UTC, ब्लॉक 965,948, शोषक: Blockstream को एन्क्रिप्टेड संदेश (PGP, 979 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 16:09 UTC, ब्लॉक 965,950, शोषक: Liquid पेग वॉलेट को 3,400 BTC भेजे, कोई संदेश संलग्न नहीं। (लेनदेन)

7 सितंबर, 17:54 UTC, ब्लॉक 965,956, Blockstream: "To decrypt: this is Electrum BIE1 ECIES to your key. In Electrum, Tools > Encrypt/Decrypt Message, paste below, decrypt with the private key for bc1ql4mfu6aundtkksxklfajs2h3t9nzcd6gyqjlte. Or any ECIES/BIE1 library." इसके बाद शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 1,408 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 17:54 UTC, ब्लॉक 965,956, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 1,275 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 17:54 UTC, ब्लॉक 965,956, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 1,211 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 17:54 UTC, ब्लॉक 965,956, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 1,147 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 18:35 UTC, ब्लॉक 965,962, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 1,275 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 18:35 UTC, ब्लॉक 965,962, शोषक: Blockstream को एन्क्रिप्टेड संदेश (PGP, 962 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 18:35 UTC, ब्लॉक 965,962, शोषक: Blockstream को एन्क्रिप्टेड संदेश (PGP, 1,052 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

7 सितंबर, 21:03 UTC, ब्लॉक 965,973, शोषक: ":(" (लेनदेन)

8 सितंबर, 00:11 UTC, ब्लॉक 965,992, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 1,120 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

8 सितंबर, 06:02 UTC, ब्लॉक 966,023, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 3,168 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

8 सितंबर, 09:41 UTC, ब्लॉक 966,052, शोषक: Blockstream को एन्क्रिप्टेड संदेश (PGP, 2,019 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

8 सितंबर, 12:59 UTC, ब्लॉक 966,079, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 4,230 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

8 सितंबर, 14:25 UTC, ब्लॉक 966,087, शोषक: Blockstream को एन्क्रिप्टेड संदेश (PGP, 1,356 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

8 सितंबर, 14:25 UTC, ब्लॉक 966,087, शोषक: "All messages will be in plaintext." (लेनदेन)

9 सितंबर, 11:45 UTC, ब्लॉक 966,199, शोषक: "Your dereliction of duty is obvious that you allocated only $1.5M (maybe even 0) to secure $5B assets. This is a flagrant neglect of security and a sign of complete mismanagement. You SHALL pay 10% using your own money as bug bounty or you will cause all your holders a 15% loss for your irresponsibility and stinginess. Even companies that participate in bug bounty programs cannot guarantee complete security, let alone one like yours that remains delusional, greedy, and arrogant to this very day. Anyway we are going to publish the privatekey to decrypt our conversations afterwards." (लेनदेन)

9 सितंबर, 11:45 UTC, ब्लॉक 966,199, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 2,222 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

10 सितंबर, 02:18 UTC, ब्लॉक 966,296, Blockstream: शोषक को एन्क्रिप्टेड संदेश (ECIES, Blockstream द्वारा PGP-हस्ताक्षरित, 4,889 बाइट)। तीसरे पक्ष द्वारा पढ़ने योग्य नहीं। (लेनदेन)

खुद पढ़ें

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

यह प्रकाशन बाज़ार विश्लेषण है, न कि खरीदने या बेचने की सिफ़ारिश।

दृष्टिकोण क्या बदलेगा

  • किसी भी पक्ष से एक नया सादा-पाठ संदेश, खासकर मांगी गई 10 प्रतिशत बाउंटी पर Blockstream का कोई भी बयान।
  • शोषक के पते पर अब भी रखे 598.5 BTC की किसी भी दिशा में हलचल।
  • शोषक द्वारा वादा की गई निजी कुंजी का प्रकाशन, जिससे एन्क्रिप्टेड संदेश सबके लिए पढ़ने योग्य हो जाएंगे।

स्रोत