← नवीनतम पेपर
💻 computer science

Towards Automated Formal Verification of zkEVMs Using LLM-Guided Constraint Synthesis

यह शोध पत्र VeriSynth को प्रस्तुत करता है, जो एक अभिनव ढांचा है जो Rust zkEVM कोड से निष्पादन योग्य सत्यापन मॉडल (executable verification models) को स्वचालित रूप से संश्लेषित करने के लिए एक हाइब्रिड LLM-SMT पाइपलाइन का लाभ उठाता है, जो मैनुअल स्पेसिफिकेशन और LLM मतिभ्रम (hallucinations) की सीमाओं को पार करते हुए 90% से अधिक बग डिटेक्शन दर प्राप्त करता है।

मूल लेखक: Shichen Huang, Zhenghe Jiang, Yi Jiang, Ling-I Wu, Jingyang Li, Guoqiang Li

प्रकाशित 2026-07-23
📖 7 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Shichen Huang, Zhenghe Jiang, Yi Jiang, Ling-I Wu, Jingyang Li, Guoqiang Li

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि इंटरनेट एक विशाल, वैश्विक डिजिटल लेजर (बहीखाता) है जहाँ हर कोई हर लेनदेन को देख सकता है, लेकिन कोई भी एक व्यक्ति इसे नियंत्रित नहीं करता है। यह ब्लॉकचेन की दुनिया है, और इसका सबसे प्रसिद्ध निवासी एथेरियम (Ethereum) है। इस सिस्टम को तेज़ और सस्ता बनाने के लिए, डेवलपर्स ने "लेयर-2" नेटवर्क बनाए हैं जो पर्दे के पीछे सारा भारी काम करते हैं, और मुख्य नेटवर्क को केवल अंतिम परिणाम दिखाते हैं। यह साबित करने के लिए कि ये ऑफ-स्क्रीन परिणाम ईमानदार हैं, वे गुप्त विवरणों को प्रकट किए बिना एक जादुई ट्रिक का उपयोग करते हैं जिसे "जीरो-नॉलेज प्रूफ" (Zero-Knowledge Proof) कहा जाता है। इसे ऐसे समझें जैसे एक जादूगर आपको एक बंद डिब्बा दिखाता है और यह साबित करता है, बिना उसे खोले, कि उसके अंदर का खजाना बिल्कुल वैसा ही है जैसा उसने वादा किया था।

लेकिन यहाँ एक पेंच है: जादू के काम करने के लिए, जादूगर की मंत्रों की किताब (कंप्यूटर कोड) का पूर्ण होना आवश्यक है। यदि जादूगर मंत्र में एक छोटी सी गलती करता है—जैसे सोने की गलत मात्रा गिनना या नक्शे को अपडेट करना भूल जाना—तो डिब्बा अभी भी बंद और वैध दिख सकता है, भले ही वह खाली हो या नकली सिक्कों से भरा हो। यह सुरक्षा के लिए एक बुरा सपना है। इसे रोकने के लिए, विशेषज्ञ "फॉर्मल वेरिफिकेशन" (formal verification) का उपयोग करते हैं, जो एक ऐसी विधि है जहाँ एक अत्यंत सख्त रोबोट गणितज्ञ लाइन-दर-लाइन मंत्रों की जाँच करता है ताकि यह सुनिश्चित हो सके कि तर्क त्रुटिहीन है। हालाँकि, इस रोबोट के लिए निर्देश लिखना अविश्वसनीय रूप से कठिन है, जैसे किसी गुप्त भाषा में लिखे गए जटिल वीडियो गेम मैनुअल को एक गणित की पाठ्यपुस्तक में अनुवाद करने की कोशिश करना जिसे रोबोट पढ़ सके।

यहीं पर वेरीसिंथ (VeriSynth) नामक एक नया टूल आता है। इसके पीछे के शोधकर्ताओं ने महसूस किया कि जबकि आर्टिफिशियल इंटेलिजेंस (AI) कोड लिखने में बहुत अच्छा है, यह "हैलुसिनेशन" (hallucinating) का भी शिकार हो सकता है—यानी ऐसी बातें बनाना जो सच लगती हैं लेकिन गलत होती हैं। इसलिए, उन्होंने केवल AI से बग्स (गलतियाँ) खोजने के लिए नहीं कहा। इसके बजाय, उन्होंने एक ऐसी टीम बनाई जहाँ AI एक रचनात्मक अनुवादक के रूप में कार्य करता है, जो जटिल कोड को रोबोट गणितज्ञ के लिए एक ड्राफ्ट में बदल देता है, और रोबोट एक सख्त जज के रूप में कार्य करता है जो कहता है, "हाँ, यह सही है," या "नहीं, यह बकवास है, फिर से प्रयास करें।"

समस्या: द साइलेंट बग (द साइलेंट बग)

जीरो-नॉलेज एथेरियम वर्चुअल मशीन (zkEVMs) की दुनिया में, जो कोड मुख्य भूमिका निभाता है वह 'रस्ट' (Rust) नामक भाषा में लिखा जाता है। यह शक्तिशाली है लेकिन पेचीदा है। कभी-कभी, एक डेवलपर अनजाने में कोड की एक ऐसी लाइन लिख सकता है जो गैस (लेनदेन के लिए शुल्क) को गलत गिनती है, या मेमोरी स्लॉट को अपडेट करना भूल जाती है। यदि ऐसा होता है, तो सिस्टम वास्तव में टूटे हुए लेनदेन के लिए एक "वैध" प्रमाण उत्पन्न कर सकता है। यह एक बैंक क्लर्क की तरह है जो गलती से आपको 10केबजाय10 के बजाय 100 दे देता है, लेकिन रसीद कहती है कि सब कुछ ठीक है। क्योंकि प्रमाण वैध दिखता है, गलती का पता नहीं चलता, जिससे पूरे सिस्टम की सुरक्षा चुपचाप टूट जाती है।

इसे ठीक करने का सामान्य तरीका विस्तृत टेस्ट केस लिखना है, इस उम्मीद में कि वे हर संभावित गलती को पकड़ लेंगे। लेकिन इंसान थक जाते हैं, और वे हर उस अजीब परिदृश्य की कल्पना नहीं कर सकते जिसका सामना एक कंप्यूटर कर सकता है। दूसरा दृष्टिकोण बड़े भाषा मॉडल (LLMs) का उपयोग करना है—वही AI जो निबंध या कोड लिखता है—बग्स खोजने के लिए। लेकिन यह पेपर तर्क देता है कि AI से केवल "बग्स खोजने के लिए" कहना अविश्वसनीय है। AI अनुमान लगा सकता है कि बग वहाँ है जबकि वह नहीं है, या वह इसे पूरी तरह से मिस कर सकता है, क्योंकि उसमें सुरक्षा के लिए आवश्यक सख्त, गणितीय निश्चितता की कमी होती है।

समाधान: अनुवादक और जज की एक टीम

इस पेपर के लेखकों, शिचैन हुआंग (Shichen Huang) और उनकी टीम ने वेरीसिंथ (VeriSynth) नामक एक फ्रेमवर्क बनाया। वे इस समस्या को "टेलीफोन" के एक उच्च-दांव वाले खेल की तरह देखते हैं जहाँ संदेश का एकदम सटीक होना आवश्यक है।

  1. अनुवादक (The LLM): सबसे पहले, सिस्टम जटिल रस्ट कोड को छोटे, प्रबंधनीय टुकड़ों में तोड़ देता है, जैसे एक विशाल पहेली को अलग-अलग टुकड़ों में विभाजित करना। फिर यह एक AI से प्रत्येक टुकड़े को "वेरिफिकेशन मॉडल" में अनुवाद करने के लिए कहता है। यह केवल एक विवरण नहीं है; यह गणितीय नियमों का एक सेट है (जो पायथन/Z3 भाषा में लिखा गया है) जो रोबोट गणितज्ञ को ठीक से बताता है कि कोड को वास्तव में कैसा व्यवहार करना चाहिए
  2. संदर्भ पुस्तकालय (The Reference Library): AI को मनगढ़ंत बातें बनाने से रोकने के लिए, वेरीसिंथ इसे पहले से सत्यापित उदाहरणों का एक "चीट शीट" देता है। यह AI को एक सही ढंग से असेंबल किए गए लेगो (Lego) सेट की तस्वीर दिखाने जैसा है, इससे पहले कि उससे एक नया लेगो बनाने के लिए कहा जाए, ताकि वह जान सके कि टुकड़ों को कैसा दिखना चाहिए।
  3. जज (The SMT Solver): यह सबसे महत्वपूर्ण हिस्सा है। AI के अनुवाद पर तुरंत भरोसा नहीं किया जाता है। इसे एक अत्यंत सख्त रोबोट गणितज्ञ (एक SMT सॉल्वर) को सौंपा जाता है। रोबोट अनुवाद की नियमों के विरुद्ध जाँच करता है। यदि अनुवाद में सिंटैक्स एरर, कोई छूटा हुआ हिस्सा या तार्किक विरोधाभास है, तो रोबोट उसे खारिज कर देता है।
  4. ऑटो-रिपेयर (The Auto-Repair): यदि रोबोट अनुवाद को खारिज कर देता है, तो वह केवल "फेल" नहीं कहता। वह AI को एक विशिष्ट त्रुटि संदेश भेजता है: "आपने इस नंबर के लिए गलत आकार का उपयोग किया है," या "आप मेमोरी को अपडेट करना भूल गए।" AI फिर गलती को ठीक करने का प्रयास करता है और इसे वापस भेजता है। यह लूप तब तक चलता रहता है जब तक कि रोबोध संतुष्ट न हो जाए।

उन्होंने क्या पाया

टीम ने अपने द्वारा बनाए गए एक कस्टम "बग्गी" (buggy) डेटासेट पर वेरीसिंथ का परीक्षण किया, जिसमें छिपी हुई गलतियों वाले 95 अलग-अलग कोड उदाहरण शामिल थे। ये गलतियाँ साधारण गणितीय त्रुटियों से लेकर प्रोग्रामों के बीच कॉल को संभालने के जटिल मुद्दों तक फैली हुई थीं।

परिणाम चौंकाने वाले थे:

  • वेरीसिंथ ने 95 में से 87 बग्स को खोज निकाला, जिससे 91.6% की डिटेक्शन दर प्राप्त हुई।
  • इसके विपरीत, यदि उन्होंने बिना सख्त रोबोट जज के केवल AI से बग्स खोजने के लिए कहा, तो उसने केवल 44 बग्स (46.3%) खोजे।
  • यहाँ तक कि यदि वे AI को रोबोट के साथ चैट करने और फिर से प्रयास करने देते (एक "कन्वर्सेशनल" दृष्टिकोण), तो इसने केवल 58 बग्स (61.1%) खोजे।

पेपर ने एक प्रमुख प्रोजेक्ट, 'स्क्रॉल' (Scroll) द्वारा उपयोग की जाने वाली वास्तविक दुनिया की परीक्षण विधियों के साथ भी तुलना की। स्क्रॉल की विशेषज्ञों की टीम ने बग्स को पकड़ने के लिए अपने स्वयं के परीक्षण लिखे थे। उनके परीक्षणों ने 95 में से 55 बग्स पकड़े। वेरीसिंथ ने 87 पकड़े, जिसका अर्थ है कि इसने 32 अतिरिक्त बग्स खोज निकाले जिन्हें मानव-लिखित परीक्षणों ने मिस कर दिया था।

यह क्यों मायने रखता है

शोधकर्ता इस बात पर जोर देते हैं कि यह मानव डेवलपर्स को बदलने या यह कहने के बारे में नहीं है कि AI पूर्ण है। इसके बजाय, यह AI का उपयोग अनुवाद के भारी काम को करने के लिए एक शक्तिशाली उपकरण के रूप में करने के बारे में है, जबकि एक सख्त, बिना पलक झपकाए देखने वाले रोबोट को अंतिम अधिकार के रूप में रखा गया है। "ऑटो-रिपेयर" फीचर सबसे महत्वपूर्ण हिस्सा था; इसके बिना, सिस्टम की सफलता दर गिरकर 66.3% हो गई, जो यह साबित करता है कि अपनी गलतियों को सुधारने की क्षमता ही इस सिस्टम को सफल बनाती है।

यह अध्ययन सुझाव देता है कि AI की रचनात्मकता को गणितीय सॉल्वर के सख्त तर्क के साथ जोड़कर, हम ब्लॉकचेन के भविष्य के लिए एक ऐसा सुरक्षा जाल बना सकते हैं जो मनुष्यों द्वारा अकेले बनाए जाने वाले जाल से कहीं अधिक मजबूत है। यह एक अनुस्मारक है कि डिजिटल सुरक्षा की दुनिया में, सबसे अच्छा बचाव एक ऐसी टीम है जहाँ रचनात्मक मन प्रस्ताव रखता है, और सख्त तर्क निर्णय लेता है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →