SpecTrum: Specification-Guided Differential Fuzzing for Ethereum Consensus Clients
SpecTrum एक ऐसा फ्रेमवर्क है जो कंसेंसस स्पेसिफिकेशन को वैधता स्थितियों (validity conditions) को स्पष्ट रूप से परिभाषित करने, अनटेस्टेड परिदृश्यों की पहचान करने के लिए प्रिमिस कवरेज (premise coverage) को मापने और लक्षित इनपुट्स उत्पन्न करने के माध्यम से एथेरियम कंसेंसस क्लाइंट विचलनों (divergences) को रोकता है, जिसने सफलतापूर्वक 27 क्रॉस-क्लाइंट विचलन मामलों को उजागर किया है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
एथेरियम की डिजिटल दुनिया में, कंप्यूटरों का एक विशाल नेटवर्क लेनदेन के एक साझा बहीखाते (लेजर) को सुरक्षित और सटीक रखने के लिए मिलकर काम करता है। यह प्रणाली 'कंसेंसस' (सर्वसम्मति) नामक एक सिद्धांत पर निर्भर करती है: नेटवर्क के कार्य करने के लिए, सॉफ्टवेयर चलाने वाले प्रत्येक स्वतंत्र कंप्यूटर को चेन में जोड़े गए डेटा के हर नए टुकड़े के लिए बिल्कुल एक ही परिणाम पर सहमत होना चाहिए। इस सहमति को सुनिश्चित करने के लिए, डेवलपर्स विभिन्न प्रोग्रामिंग भाषाओं में सॉफ्टवेयर के अलग-अलग संस्करण लिखते हैं, इस उम्मीद में कि यदि एक संस्करण में कोई गलती होती है, तो अन्य उसे पकड़ लेंगे। हालांकि, यदि सभी संस्करण अनजाने में एक ही गलती कर देते हैं, या यदि वे नियमों की व्याख्या थोड़ी अलग तरह से करते हैं, तो नेटवर्क विभाजित हो सकता है, जिससे भ्रम, खोए हुए पुरस्कार, या संचालन में पूर्ण रुकावट आ सकती है। इस व्यवहार को नियंत्रित करने वाले नियम एक विस्तृत तकनीकी दस्तावेज़ में लिखे गए हैं, लेकिन चूंकि ये नियम अक्सर सरल शर्तों की सूची के बजाय कंप्यूटर कोड के रूप में वर्णित होते हैं, इसलिए यह जानना कठिन है कि वैधता की सटीक सीमाएं कहाँ स्थित हैं।
शोधकर्ताओं की एक टीम ने इन छिपी हुई सीमाओं को खोजने और एथेरियम सॉफ्टवेयर के विभिन्न संस्करणों के बीच सहमति सुनिश्चित करने के लिए एक नई विधि विकसित की है। उन्होंने 'स्पेक्ट्रम' (SpecTrum) नामक एक उपकरण बनाया, जो एक अनुवादक के रूप में कार्य करता है, जो एथेरियम प्रोटोकॉल के जटिल, अंतर्निहित नियमों को स्पष्ट शर्तों के एक स्पष्ट सेट में परिवर्तित करता है जिसे एक कंप्यूटर व्यवस्थित रूप से जांच सकता है। केवल यह अनुमान लगाने के बजाय कि त्रुटियां कहां हो सकती हैं, यह उपकरण उन सभी संभावित परिदृश्यों का मानचित्र तैयार करता है जहां नियमों का उल्लंघन किया जा सकता है, जिसमें वे स्थितियां भी शामिल हैं जहां संख्याएं कंप्यूटर द्वारा संभालने के लिए बहुत बड़ी हो जाती हैं या जहां डेटा सूचियों में अपेक्षित प्रविष्टियां गायब होती हैं। इस मानचित्र का उपयोग करके, शोधकर्ताओं ने हजारों विशिष्ट परीक्षण मामले (टेस्ट केस) तैयार किए जो सॉफ्टवेयर को उसकी सीमाओं तक धकेलने के लिए डिज़ाइन किए गए थे, जिससे वे खामियां सामने आईं जिन्हें मानक परीक्षण विधियों ने नहीं पकड़ा था।
शोधकर्ताओं ने इस उपकरण को एथेरियम कंसेंसस सॉफ्टवेयर के पांच प्रमुख संस्करणों पर लागू किया, जो विभिन्न प्रोग्रामिंग भाषाओं में लिखे गए हैं और दुनिया भर में हजारों नोड्स द्वारा उपयोग किए जाते हैं। उनकी जांच में उन सत्ताईस विशिष्ट मामलों का पता चला जहां इन स्वतंत्र प्रोग्रामों के बीच विशिष्ट इनपुट को संभालने के तरीके पर असहमति थी। कुछ मामलों में, प्रोग्रामों ने एक ही डेटा को स्वीकार किया लेकिन अंतिम परिणाम अलग-अलग निकाले, जो एक मूक त्रुटि है जो अंततः नेटवर्क को विभाजित कर सकती है। अन्य मामलों में, असामान्य लेकिन वैध डेटा का सामना करने पर सॉफ्टवेयर पूरी तरह से क्रैश हो गया। महत्वपूर्ण रूप से, इन सत्ताईस में से बाईस त्रुटियों को शोधकर्ताओं की इस नई विधि के बिना नहीं पाया जा सकता था जो नियमों को स्पष्ट बनाती है। अध्ययन ने दिखाया कि पारंपरिक परीक्षण, जो कोड कवरेज पर निर्भर करता है कि प्रोग्राम के कितने हिस्से का उपयोग किया गया है, इन मुद्दों का पता लगाने में विफल रहा क्योंकि त्रुटियां कोड की दृश्य संरचना में नहीं, बल्कि नियमों को लागू करने के सूक्ष्म तर्क (लॉजिक) में हुई थीं।
टीम ने यह भी पाया कि ये त्रुटियां केवल सॉफ्टवेयर के एक एकल संस्करण तक सीमित नहीं थीं। चूंकि मूल तर्क एथेरियम नेटवर्क के विभिन्न अपडेट्स में साझा किया जाता है, इसलिए प्रोटोकॉल के नए संस्करण पर परीक्षण चलाने पर भी वही सत्ताईस त्रुटियां लगातार दिखाई दीं। यह सुझाव देता है कि अंतर्निहित विनिर्देश (स्पेसिफिकेशन) को ठीक करने का एक एकल प्रयास नेटवर्क के भविष्य के सभी संस्करणों में इन समस्याओं को रोक सकता है। शोधकर्ताओं ने सभी सत्ताईस निष्कर्षों की रिपोर्ट एथेरियम सुरक्षा टीम को दी है, जहां वर्तमान में उनकी समीक्षा की जा रही है। यह कार्य यह प्रदर्शित करता है कि अस्पष्ट, अंतर्निहित नियमों को स्पष्ट, परीक्षण योग्य स्थितियों में बदलकर, महत्वपूर्ण सॉफ्टवेयर में गहरी अस्थिरताओं को वास्तविक दुनिया के नुकसान होने से पहले ढूंढना और ठीक करना संभव है, जिससे यह सुनिश्चित होता है कि डिजिटल नेटवर्क स्थिर और विश्वसनीय बना रहे।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।