PSR2: A Phase-based Semantic Reasoning Framework for Atomicity Violation Detection via Contract Refinement
यह शोध पत्र PSR² प्रस्तुत करता है, जो एक नवीन सहयोगात्मक स्टेटिक एनालिसिस फ्रेमवर्क है जो स्ट्रक्चरल पाथ सर्चिंग को डिटरमिनिस्टिक सिमेंटिक रीजनिंग के साथ एकीकृत करता है ताकि स्मार्ट कॉन्ट्रैक्ट्स में एटोमिटी वायलेशन का पता लगाने में महत्वपूर्ण सुधार किया जा सके, जिससे जटिल ERC-721 परिदृश्यों पर 94.69% F1-स्कोर प्राप्त हुआ और मौजूदा टूल्स की तुलना में फॉल्स पॉजिटिव्स में भी काफी कमी आई।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक उच्च-जोखिम वाले बैंक के सुरक्षा प्रमुख हैं। आपका काम यह सुनिश्चित करना है कि जब कोई ग्राहक ऋण (loan) मांगता है, तो बैंक गलती से उनका क्रेडिट स्कोर चेक किए बिना ही उन्हें पैसे न दे दे, या इससे भी बुरा, यदि सिस्टम प्रक्रिया के बीच में भ्रमित हो जाए तो उन्हें दो बार पैसे न दे दे।
ब्लॉकचेन और "स्मार्ट कॉन्ट्रैक्ट्स" (जो कि केवल कोड में लिखे गए स्वचालित बैंक नियम हैं) की दुनिया में, इस विशिष्ट प्रकार के भ्रम को एटौमिसिटी वायलेशन (Atomicity Violation) कहा जाता है। यह तब होता है जब एक बहु-चरणीय प्रक्रिया बाधित हो जाती है, जिससे सिस्टम एक टूटी हुई और असुरक्षित स्थिति में रह जाता है।
आपके द्वारा प्रदान किया गया पेपर PSR2 पेश करता है, जो एक नया सुरक्षा उपकरण है जिसे इन गलतियों को वर्तमान में बाजार में मौजूद किसी भी उपकरण की तुलना में बेहतर तरीके से पकड़ने के लिए डिज़ाइन किया गया है। यह कैसे काम करता है, इसे सरल उपमाओं के माध्यम से समझाया गया है।
समस्या: "अंधा" और "मूर्ख"
वर्तमान में, इन कॉन्ट्रैक्ट्स की जांच करने के लिए उपयोग किए जाने वाले सुरक्षा उपकरण दो खराब श्रेणियों में आते हैं:
- "नियम का पालन करने वाला" (जैसे Slither): यह टूल एक ऐसे सुरक्षा गार्ड की तरह है जो केवल एक चेकलिस्ट देखता है। यदि वह देखता है कि कहीं "प्रवेश निषेध" का साइन लगा है, तो वह रुक जाता है। लेकिन यदि वह साइन किसी पर्दे के पीछे छिपा है, या यदि वह "प्रवेश निषेध" का साइन वास्तव में एक मजाक है, तो वह उसे मिस कर देता है। उसमें संदर्भ (context) की कमी है। वह एक खतरनाक पैटर्न देखता है लेकिन यह नहीं समझ पाता कि वह क्यों खतरनाक है या क्या वह वास्तव में घटित हो सकता है।
- "पैटर्न मैच करने वाला" (जैसे Semgrep): यह टूल एक ऐसे जासूस की तरह है जो केवल विशिष्ट उंगलियों के निशान ढूंढता है। यदि अपराधी अलग दस्ताने पहनता है, तो जासूस उसे मिस कर देता है। यह स्थानीय कोड (सिंटैक्स) को देखता है लेकिन वह यात्रा (journey) को नहीं समझता जो कोड तय करता है। यह एक हानिरहित कोड की लाइन को भी अपराध के रूप में चिह्नित कर सकता है क्योंकि वह संदिग्ध दिखती है, जिससे बहुत सारे झूठे अलार्म (false alarms) पैदा होते हैं।
परिणाम: असली हैकर्स दरारों से निकल जाते हैं, और सुरक्षा टीमें भूतों का पीछा करने में अपना समय बर्बाद करती हैं (झूठे अलार्म)।
समाधान: PSR2 (द "सुपर डिटेक्टिव")
लेखकों ने PSR2 बनाया है, जो एक प्रतिभाशाली जासूसी टीम की तरह कार्य करता है जो मामले को सुलझाने के लिए दो अलग-अलग तरह की सोच को जोड़ता है। वे इसे "फेज-बेस्ड सिमेंटिक रीजनिंग फ्रेमवर्क" कहते हैं।
PSR2 को तीन-चरणीय जांच प्रक्रिया के रूप में समझें:
चरण 1: मानचित्र निर्माता (GSAM)
सबसे पहले, टूल कोड का एक मानचित्र (map) बनाता है। कल्पना कीजिए कि कोड एक विशाल भूलभुलैया है।
- यह मॉड्यूल (GSAM) भूलभुलैया को देखता है और पूछता है: "क्या ऐसा कोई रास्ता है जहाँ एक चोर अंदर आ सके, पैसा चुरा सके और अलार्म बजने से पहले बाहर भाग सके?"
- यह उन सभी संदिग्ध मार्गों को खोजता है जहाँ एक "रीड" (बैलेंस चेक करना), एक "कॉल" (दूसरे कॉन्ट्रैक्ट से बात करना), और एक "राइट" (बैलेंस बदलना) एक खतरनाक क्रम में होते हैं।
- उपमा: यह एक ट्रैफिक पुलिसकर्मी की तरह है जो उन चौराहों की पहचान करता है जहाँ एक कार रेड लाइट तोड़ सकती है।
चरण 2: संदर्भ पाठक (SCAM)
इसके बाद, टूल मानचित्र के पीछे की कहानी को पढ़ता है।
- यह मॉड्यूल (SCAM) विशिष्ट विवरणों को देखता है। यह पूछता है: "ठीक है, हमने एक संदिग्ध मार्ग पाया, लेकिन क्या चोर के पास वास्तव में चाबियाँ हैं? क्या 'रीड' वास्तव में सही खाते की जांच कर रहा है? क्या 'कॉल' वास्तव में एक वास्तविक व्यक्ति से बात कर रहा है या सिर्फ एक डमी से?"
- यह स्थिति के "तथ्य" निकालता है।
- उपमा: यह एक निजी अन्वेषक की तरह है जो ड्राइविंग लाइसेंस की जांच कर रहा है। सिर्फ इसलिए कि एक कार रेड लाइट तोड़ सकती है, इसका मतलब यह नहीं है कि ड्राइवर तोड़ ही देगा। शायद ड्राइवर ड्यूटी पर तैनात एक पुलिस अधिकारी है (सौम्य अपडेट), न कि एक अपराधी।
चरण 3: न्यायाधीश (FDM)
अंत में, फ्यूजन डिसीजन मॉड्यूल (Fusion Decision Module) न्यायाधीश के रूप में कार्य करता है। यह "संभावित अपराधों" की मानचित्र निर्माता की सूची और "तथ्यों" की संदर्भ पाठक की सूची को लेता है।
- यह दोनों का मिलान करता है।
- फैसला: "हमारे पास अपराध तभी होगा जब पथ मौजूद हो और तथ्य साबित करें कि चोर के पास साधन और मंशा दोनों हैं।"
- यदि पथ मौजूद है लेकिन तथ्य कहते हैं कि यह सुरक्षित है, तो न्यायाधीश मामला खारिज कर देता है (कोई झूठा अलार्म नहीं)।
- यदि तथ्य कहते हैं कि यह खतरनाक है लेकिन मानचित्र द्वारा पथ मिस कर दिया गया था, तो न्यायाधीश उसे पकड़ लेता है (कोई छूटा हुआ अपराध नहीं)।
यह एक बड़ी बात क्यों है?
पेपर ने 1,600 अलग-अलग स्मार्ट कॉन्ट्रैक्ट्स (NFTs जैसे जटिल कॉन्ट्रैक्ट्स सहित, जो डिजिटल संग्रहणीय वस्तुएं हैं) पर PSR2 का परीक्षण किया।
- पुराने टूल्स: जटिल NFT परिदृश्यों में, मौजूदा सर्वोत्तम टूल्स भी केवल लगभग 52% उत्तर सही दे पाते थे। वे या तो वास्तविक बग्स को मिस कर रहे थे या बहुत अधिक शोर मचा रहे थे।
- PSR2: नए टूल ने 94.7% उत्तर सही दिए।
निष्कर्ष
PSR2 एक क्लिपबोर्ड लिए हुए सुरक्षा गार्ड से एक पूर्ण केस फाइल के साथ काम करने वाली जासूसी टीम में अपग्रेड करने जैसा है। स्ट्रक्चरल पाथ सर्चिंग (मानचित्र देखना) और सिमेंटिक रीजनिंग (कहानी समझना) को जोड़कर, यह उन "ब्लाइंड स्पॉट्स" को रोकता है जो हैकर्स को पैसा चुराने देते हैं और उस "शोर" को भी रोकता है जो सुरक्षा टीमों का समय बर्बाद करता है।
यह साबित करता है कि विकेंद्रीकृत वित्त (decentralized finance) को सुरक्षित करने के लिए, हमें ऐसे उपकरणों की आवश्यकता है जो केवल यह न देखें कि कोड क्या कहता है, बल्कि यह समझें कि कोड वास्तव में क्या कर रहा है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।