Bitcoin Lightning Network डेवलपर ACINQ ने 27 अक्टूबर को Eclair 0.14.6 जारी किया। यह अपडेट चैनल स्प्लाइसिंग में अपुष्ट फंडिंग ट्रांजैक्शन के संभावित दुरुपयोग को रोकने के लिए पुष्ट इनपुट डिफॉल्ट रूप से अनिवार्य करता है। साथ ही, चैनल बंद होने की स्थिति में सेटलमेंट और फंड रिकवरी की प्रक्रिया बदली गई है। ACINQ ने नोड ऑपरेटरों से सॉफ्टवेयर अपडेट करने को कहा है। हालांकि, यह स्पष्ट नहीं है कि इन कमजोरियों का वास्तविक हमलों में इस्तेमाल हुआ है या नहीं।
अपुष्ट फंडिंग से लंबित भुगतान कैसे जोखिम में पड़ सकते हैं
Lightning Network भुगतान चैनलों के जरिए बिटकॉइन ट्रांसफर करता है, जिससे हर भुगतान को Bitcoin ब्लॉकचेन पर दर्ज करने की जरूरत नहीं पड़ती। ऑपरेटर मौजूदा चैनल में स्प्लाइसिंग के जरिए लिक्विडिटी जोड़ या निकाल भी सकते हैं। यह प्रक्रिया ऑन-चेन ट्रांजैक्शन पर निर्भर करती है।
जोखिम तब पैदा होता है जब स्प्लाइसिंग में किसी प्रतिपक्ष द्वारा दिए गए फंडिंग इनपुट का इस्तेमाल Bitcoin नेटवर्क पर उनकी पुष्टि होने से पहले कर लिया जाए। स्प्लाइस पर हस्ताक्षर करने के बाद कोई दुर्भावनापूर्ण नोड संबंधित ट्रांजैक्शन को डबल-स्पेंड कर सकता है। इससे मूल फंडिंग व्यवस्था अमान्य हो सकती है और चैनल का सेटलमेंट भी प्रभावित हो सकता है।
अगर इसके बाद चैनल ऑन-चेन बंद किया जाता है, तो हैश टाइम-लॉक्ड कॉन्ट्रैक्ट (HTLC) से सुरक्षित लंबित भुगतान जोखिम में पड़ सकते हैं। उनका सेटलमेंट अमान्य हो चुकी फंडिंग ट्रांजैक्शन पर निर्भर हो सकता है। ACINQ ने इसे संभावित सुरक्षा समस्या बताया है, लेकिन फंड चोरी की किसी पुष्ट घटना की जानकारी नहीं दी।
स्प्लाइसिंग में पुष्ट इनपुट अब डिफॉल्ट रूप से जरूरी
Eclair 0.14.6 में नई सुरक्षा सेटिंग जोड़ी गई है। इसके तहत स्प्लाइस में प्रतिपक्ष के फंडिंग इनपुट इस्तेमाल करने से पहले उनका पुष्ट होना जरूरी है। अपडेट ऑपरेटरों को अपुष्ट फंडिंग बदलावों के आधार पर आगे की स्प्लाइस ट्रांजैक्शन बनाने से भी रोकता है, ताकि ऐसे अनसेटल्ड फंडिंग चरण लगातार न जुड़ते जाएं।
ACINQ के मुताबिक, यह शर्त Eclair के मौजूदा डुअल-फंडिंग सुरक्षा उपायों से अलग है। वे उपाय अब खास तौर पर चैनल बनाने पर लागू होते हैं, जबकि स्प्लाइसिंग के लिए नई पुष्टि जांच है। ACINQ ने अविश्वसनीय प्रतिपक्षों के साथ स्प्लाइस करते समय वैकल्पिक जीरो-फी कमिटमेंट सुविधा का इस्तेमाल न करने की भी सलाह दी है। यह सुविधा पहले से ही डिफॉल्ट रूप से बंद थी।
जबरन बंद होने पर पुष्ट फंडिंग स्थिति से सेटलमेंट
अपडेट में उस स्थिति के लिए भी Eclair का तरीका बदला गया है, जब फंडिंग ट्रांजैक्शन अपुष्ट रहते हुए चैनल बंद करना पड़े। संशोधित सेटलमेंट लॉजिक में Eclair ऐसा कमिटमेंट ट्रांजैक्शन चुनता है जिसे उसका Bitcoin Core बैकएंड फंडेड मानता है। जरूरत पड़ने पर यह स्थानीय मेमपूल से गायब हो चुकी फंडिंग ट्रांजैक्शन के बजाय सबसे हाल की पुष्ट फंडिंग स्थिति पर लौटता है।
एक अन्य सुधार उन ट्रांजैक्शन से जुड़ा है जिन्हें माइनर तब भी पुष्ट कर सकते हैं, जब Eclair उन्हें सेटलमेंट का पसंदीदा रास्ता नहीं मानता। पुराने लॉजिक में ऐसे ट्रांजैक्शन प्रतिपक्ष के माने जा सकते थे। इससे वापस हासिल किए जा सकने वाले फंड और लंबित भुगतान से जुड़े आउटपुट पर दावा नहीं हो पाता था। नया संस्करण ऐसे ट्रांजैक्शन की पहचान कर उनसे जुड़े आउटपुट रिकवर करने की कोशिश करता है।
अपडेट के दौरान मौजूदा चैनल बंद करने की जरूरत नहीं
ACINQ ने कहा कि पुराने Eclair संस्करण चला रहे नोड ऑपरेटरों को पैच इंस्टॉल करना चाहिए और पुष्ट इनपुट सुरक्षा को डिफॉल्ट रूप से चालू रखना चाहिए। अपडेट के लिए सॉफ्टवेयर रोकना, नया संस्करण इंस्टॉल करना और नोड दोबारा शुरू करना होगा। इस दौरान मौजूदा भुगतान चैनल बंद करने की जरूरत नहीं है।
सुरक्षा शोधकर्ता Erick Cestari ने इन समस्याओं की जिम्मेदारी से जानकारी दी थी। ACINQ ने चेताया है कि दुर्भावनापूर्ण नोड कुछ कमजोरियों का फायदा उठा सकते हैं, लेकिन यह नहीं बताया कि कितने नोड प्रभावित हुए हो सकते हैं या कोई हमला हुआ है।