रीएंट्रेंसी को समझें - यह स्मार्ट कॉन्ट्रैक्ट बग 2026 में भी करोड़ों डॉलर निकाल रहा है, और वह चेक्स-इफेक्ट्स-इंटरैक्शन्स पैटर्न जो इसे कोड में रोकता है
रीएंट्रेंसी जादू नहीं है। यह एक क्रम समस्या है: आपका कॉन्ट्रैक्ट बाहरी कॉल के बाद अपनी स्थिति को अपडेट करता है, न कि उससे पहले, और हमलावर उस अंतराल के दौरान वापस कॉल करता है। क्रम को सुधारें और बग गायब हो जाएगा।
17 जून, 2016 को, The DAO ने इसी गलती के कारण लगभग 3.6M ETH (लगभग $60M, तब के सभी ETH का लगभग 5%) खो दिया। इसके परिणामस्वरूप ईथेरियम ETH और ETC में विभाजित हो गया।
दस साल बाद, यह अभी भी धन निकाल रहा है। 5 मार्च, 2026 को Solv Protocol $2.73M को रीएंट्रेंसी से खोया, और मई 2026 में ऑनचेन प्रोटोकॉल्स पर लगभग $52M चोरी हुआ (DeFiLlama via CryptoTimes, 31 मई, 2026)।
वल्नरेबल पैटर्न: बैलेंस पढ़ें, कम-लेवल कॉल के साथ ETH भेजें, फिर बैलेंस को शून्य सेट करें। हमलावर का receive() फ़ंक्शन, उस शून्य के पहुँचने से पहले withdraw() में पुनः प्रवेश करता है, और कॉन्ट्रैक्ट खाली होने तक लूप करता है।
दो समाधान, साथ में प्रयोग करें:
चेक्स-इफेक्ट्स-इंटरैक्शन। पुष्टि करें, सभी स्थिति को अपडेट करें, फिर बाहरी कॉल को आखिरी में करें। balances[msg.sender] = 0 को कॉल से पहले स्थानांतरित करें, और पुनः प्रवेश करने वाला कॉल शून्य पढ़ता है और प्रतिक्रिया करता है।
OpenZeppelin का nonReentrant गार्ड। स्टोरेज म्यूटेक्स (NOT_ENTERED से ENTERED) जो पुनः प्रवेश पर प्रतिक्रिया करता है। इसे AND CEI के साथ प्रयोग करें, किसी एक के साथ नहीं।
दो चीजें जो अधिकांश डेवलपर्स अभी भी गलत करते हैं।
1. .transfer() अब सुरक्षा कवच नहीं है: EIP-1884 ने 2019 में SLOAD gas को बढ़ाया, जिससे 2300 gas स्टिपेंड सुरक्षित मानना सुरक्षित नहीं रहा। CEI के साथ .call{value:}("") का प्रयोग करें।
2. पढ़ने-योग्य (read-only) रीएंट्रेंसी मानक गार्ड को पार करती है, क्योंकि मध्य-अपडेट में view फ़ंक्शन पढ़ने पर भ्रष्ट स्थिति प्रदान करता है, और मूल्य oracle (dForce, $3.64M) को संक्रमित कर सकता है।
केवल शैक्षिक प्रयोजनों के लिए। वित्तीय सलाह नहीं।
दैनिक Insights के लिए Follow करें - जहाँ blockchain AI से मिलता है, हर संतुष्टि प्रदान करने वाली स्वाइप से।
#Solidity #SmartContractSecurity #Web3Security #Ethereum #DeFi #SmartContracts #BlockchainDeveloper #SolidityDev #EVM #OpenZeppelin #Reentrancy #Web3Dev #BlockchainSecurity #DeFiSecurity #SmartContractAudit #CodeSecurity #OnChain #BlockchainEducation