स्मार्ट कॉन्ट्रैक्ट की सुरक्षा सामान्य सॉफ़्टवेयर सुरक्षा से अलग क्यों है?
स्मार्ट कॉन्ट्रैक्ट की सुरक्षा अलग होती है, क्योंकि उसका कोड सार्वजनिक होता है, उसमें अक्सर सीधे धन रखा होता है और उसे लागू करने के बाद आम तौर पर बदला नहीं जा सकता। वेब ऐप की किसी खामी को रातोंरात ठीक किया जा सकता है; लेकिन कॉन्ट्रैक्ट की खामी को कोड पढ़ने वाला कोई भी व्यक्ति ढूँढ़ सकता है और टीम के जागने से पहले उसका फ़ायदा उठा सकता है। Ethereum.org का अनुमान है कि स्मार्ट कॉन्ट्रैक्ट की खामियों से एक अरब डॉलर से अधिक का नुकसान हुआ है, और वह शुरुआती उदाहरण के तौर पर 2016 के DAO हैक का उल्लेख करता है।
चार लोगों वाले एक काल्पनिक स्टूडियो, लार्कस्पर लैब्स, का उदाहरण लें। यह साझा बचत की एक सरल व्यवस्था बना रहा है जिसमें सदस्य पैसा जमा करते हैं और अपना हिस्सा निकालते हैं। डेवलपर कोफ़ी इसे लागू करने से पहले समीक्षा के लिए नोट्स छोड़ते हैं: 'withdraw पहले पैसा भेजता है, फिर शेष राशि 0 करता है। setFee सार्वजनिक है, बाद में पहुँच सीमित करूँगा। ट्यूटोरियल वाला पुराना कंपाइलर संस्करण इस्तेमाल कर रहे हैं। रिवॉर्ड टोकन की कीमत एक्सचेंज के एक छोटे पूल से ली जाती है। परीक्षण: एक बार हाथ से जमा + निकासी करके देखा, काम करता है'। हर पंक्ति सुरक्षा कमज़ोरियों की एक जानी-पहचानी श्रेणी का उदाहरण है।
स्मार्ट कॉन्ट्रैक्ट में सबसे आम सुरक्षा कमज़ोरियाँ कौन-सी हैं?
स्मार्ट कॉन्ट्रैक्ट की सबसे आम कमज़ोरियाँ हैं पहुँच नियंत्रण की खामियाँ, मूल्य ऑरेकल में हेरफेर, तर्क संबंधी त्रुटियाँ, इनपुट की जाँच न होना और पुनःप्रवेश। ये 2025 की OWASP Smart Contract Top 10 सूची में सबसे ऊपर हैं। Ethereum.org भी इन्हीं मुख्य श्रेणियों को शामिल करता है।
पुनःप्रवेश
कोई कॉन्ट्रैक्ट अपने रिकॉर्ड अपडेट करने से पहले धन भेजता है या किसी दूसरे कॉन्ट्रैक्ट को कॉल करता है। दुर्भावनापूर्ण प्राप्तकर्ता उस समय दोबारा कॉल करता है जब पुरानी शेष राशि अभी भी दिखाई दे रही होती है, और फिर से धन निकाल लेता है। कोफ़ी का निकासी फ़ंक्शन, जो शेष राशि शून्य करने से पहले भुगतान करता है, इसका एक सामान्य उदाहरण है। इसका आम समाधान है पहले स्थिति अपडेट करना और दूसरे कॉन्ट्रैक्टों से अंत में संपर्क करना। इसे अक्सर जाँच, प्रभाव, संपर्क का क्रम कहा जाता है।
पहुँच नियंत्रण
संवेदनशील फ़ंक्शन जिन्हें कोई भी कॉल कर सकता है। कोफ़ी का सार्वजनिक setFee फ़ंक्शन किसी भी अजनबी को शुल्क बदलने देता है। Ethereum.org मालिक की भूमिका, भूमिका-आधारित पहुँच और एक से अधिक हस्ताक्षरों से मंज़ूरी जैसे तरीकों का वर्णन करता है।
पूर्णांक ओवरफ़्लो और अंडरफ़्लो
ऐसी गणना जिसमें मान अपनी सीमा पार करके दूसरे छोर पर पहुँच जाता है, जिससे शून्य से नीचे का बैलेंस बहुत बड़ी संख्या बन जाता है। Ethereum.org के अनुसार Solidity 0.8.0 और उसके बाद के संस्करण इसे डिफ़ॉल्ट रूप से अस्वीकार करते हैं, जबकि पुराने कोड में इसके लिए स्पष्ट जाँच ज़रूरी है। इसीलिए कोफ़ी का पुराना कंपाइलर मायने रखता है।
ओरेकल में हेरफेर
ऐसे एक ही बाज़ार से कीमत लेना जहाँ बहुत कम लेन-देन होता है और जिसकी कीमत हमलावर बदल सकता है। इसके लिए अक्सर फ़्लैश लोन का उपयोग होता है, यानी ऐसा ऋण जो एक ही लेन-देन में लिया और चुकाया जाता है। मज़बूत प्रणालियाँ विकेंद्रीकृत ओरेकल या समय के आधार पर औसत कीमतों का उपयोग करती हैं।
तर्क और सत्यापन की त्रुटियाँ
ऐसे नियम जो तय डिज़ाइन से मेल नहीं खाते, या ऐसे इनपुट जिनकी कभी जाँच नहीं होती, जैसे शून्य राशि या कोई अप्रत्याशित पता।
टीमें स्मार्ट कॉन्ट्रैक्ट की जाँच और ऑडिट कैसे करती हैं?
टीमें स्मार्ट अनुबंधों का परीक्षण और लेखापरीक्षण कई स्तरों पर करती हैं, क्योंकि कोई एक तरीका सब कुछ नहीं पकड़ सकता: स्वचालित परीक्षण, विश्लेषण टूल, परीक्षण नेटवर्क पर तैनाती, स्वतंत्र समीक्षा और, बड़ी धनराशि रखने वाले अनुबंधों के लिए, बाहरी लेखापरीक्षण तथा खामी खोजने पर इनाम का कार्यक्रम।
1. इकाई और गुणधर्म परीक्षण
हर फ़ंक्शन के लिए परीक्षण लिखें। इनमें ऐसे मामले भी शामिल करें जो उसे विफल कर सकते हैं, जैसे ऐसा रिसीवर जो वापस उसी फ़ंक्शन को कॉल कर दे। फ़ज़िंग अपने-आप हज़ारों बेतरतीब इनपुट आज़माती है।
2. स्थैतिक विश्लेषण
Ethereum.org पर Slither, Mythril और Aderyn जैसे टूल बताए गए हैं, जो कोड में जोखिम वाले ज्ञात पैटर्न खोजते हैं।
3. नेटवर्क का परीक्षण करें
मुख्य नेटवर्क से पहले सार्वजनिक परीक्षण नेटवर्क पर तैनात करें। Ethereum.org, ऐप्लिकेशन और कॉन्ट्रैक्ट के विकास के लिए Sepolia की सिफ़ारिश करता है; परीक्षण नेटवर्क के ईथर का कोई वास्तविक मूल्य नहीं होना चाहिए, इसलिए गलतियों से कोई आर्थिक नुकसान नहीं होता।
4. सहकर्मी समीक्षा और लेखापरीक्षित लाइब्रेरी
संस्करण नियंत्रण अपनाएँ, हर बदलाव की स्वतंत्र समीक्षकों से जाँच कराएँ और पहुँच नियंत्रण शुरू से लिखने के बजाय OpenZeppelin Contracts जैसी अच्छी तरह समीक्षा की गई लाइब्रेरी का उपयोग करें।
5. लेखापरीक्षा, खामी खोजने पर इनाम और निगरानी
स्वतंत्र ऑडिट से जाँच अधिक गहरी होती है, लेकिन ethereum.org के अनुसार वे हर बग नहीं पकड़ पाते। बाकी जोखिमों के लिए बग खोजने पर इनाम, आपातकाल में रोकने की सुविधाएँ और घटनाओं की निगरानी काम आती हैं।
कमजोर और बेहतर सुरक्षा समीक्षा कैसी होती है?
कमज़ोर समीक्षा: 'जमा करने और निकालने की मैन्युअल जाँच की गई, सब ठीक है, तैनाती के लिए तैयार है।' सिर्फ़ अपेक्षित सामान्य उपयोग की जाँच यह दिखाती है कि कॉन्ट्रैक्ट ईमानदार उपयोगकर्ताओं के लिए काम करता है, जबकि हमलावर ऐसे होते ही नहीं हैं।
सुधारी गई समीक्षा: पुनः प्रवेश: withdraw अब रकम भेजने से पहले शेष राशि शून्य कर देता है, और एक परीक्षण में दुर्भावनापूर्ण प्राप्तकर्ता कॉन्ट्रैक्ट से दोबारा कॉल करने की कोशिश की जाती है। पहुँच नियंत्रण: setFee को ऑडिट की गई लाइब्रेरी की मालिक वाली भूमिका तक सीमित किया गया है। एक परीक्षण यह जाँचता है कि किसी अनधिकृत व्यक्ति की कॉल विफल हो। कंपाइलर: इसे मौजूदा 0.8 संस्करण में अपग्रेड किया गया है, ताकि ओवरफ़्लो जाँच चालू रहे। ओरैकल: एक ही पूल की कीमत की जगह विकेंद्रीकृत मूल्य फ़ीड लगाई गई है, साथ ही अचानक उतार-चढ़ाव के लिए स्वीकार्य सीमा तय की गई है। परीक्षण: यूनिट टेस्ट, फ़ज़िंग का एक दौर और स्थिर विश्लेषण किया गया है, जिसमें हर निष्कर्ष समझाया गया है। इसके बाद Sepolia पर दो सप्ताह तक एक सहकर्मी ने इसे तोड़ने की कोशिश की। कोई वास्तविक धन स्वीकार करने से पहले बाहरी ऑडिट तय किया गया है।
स्मार्ट कॉन्ट्रैक्ट की सुरक्षा में आम तौर पर कौन-सी गलतियाँ होती हैं?
सबसे आम गलती केवल उसी स्थिति की जाँच करना है जिसमें सब कुछ सही होता है, मानो हर कॉल करने वाला ईमानदार हो। अन्य गलतियाँ हैं: व्यवस्थापक के कार्यों को बाद में सीमित करने के लिए अभी खुला छोड़ना, पुराने कंपाइलर वाले ट्यूटोरियल का कोड कॉपी करना, कीमत के एक ही स्रोत पर भरोसा करना, ऑडिट को गारंटी मानना, परीक्षण नेटवर्क का चरण छोड़ देना, और रोकने या उन्नत करने की योजना के बिना तैनात करना।
Tosheo.ai में इस पाठ की क्या जगह है?
यह ब्लॉकचेन श्रेणी और ब्लॉकचेन पाठ्यक्रम का कोड पाठ है। यह मुफ़्त पेज हर चरण को लिखित रूप में समझाता है; इसका पूरा व्यावहारिक संस्करण, जिसमें आप असली अनुबंध कोड की समीक्षा करके उसे ठीक करते हैं और परीक्षण नेटवर्क पर जाँच चलाते हैं, साइन-अप के बाद वैकल्पिक कोड अध्ययन-पथ में मिलता है। अगर बुनियादी बातें आपके लिए नई हैं, तो स्मार्ट अनुबंधों की व्याख्या वाले पाठ से शुरू करें। Tosheo.ai कोई पूर्णकालिक गहन प्रशिक्षण कार्यक्रम या पेशेवर लेखा-परीक्षक योग्यता नहीं है, और यहाँ कुछ भी निवेश की सलाह नहीं है; जिन अनुबंधों में वास्तविक मूल्य की संपत्ति रखी जाती है, उनकी विशेषज्ञ से सुरक्षा जाँच कराना ज़रूरी है।
स्रोत और दायरा
ethereum.org, स्मार्ट कॉन्ट्रैक्ट की सुरक्षा (जाँच की तारीख: 19 October 2026) ↗
OWASP स्मार्ट कॉन्ट्रैक्ट के शीर्ष 10 जोखिम, 2025 (जाँच की तारीख: 19 October 2026) ↗
ethereum.org, नेटवर्क और टेस्टनेट (जाँच की तारीख: 19 October 2026) ↗