स्मार्ट कॉन्ट्रैक्ट क्या है?
स्मार्ट कॉन्ट्रैक्ट क्या है? जानें कि ब्लॉकचेन पर अपने-आप चलने वाले प्रोग्राम कैसे काम करते हैं, किन चीज़ों को चलाते हैं, उनकी सीमाएँ और जोखिम क्या हैं, और इस्तेमाल से पहले किसी कॉन्ट्रैक्ट की जाँच कैसे करें।
स्मार्ट कॉन्ट्रैक्ट ब्लॉकचेन पर संग्रहीत एक प्रोग्राम है, जो पहले से तय शर्तें पूरी होने पर अपने-आप चलता है। यह अपने कोड के अनुसार फ़ंड रख और भेज सकता है, बिना किसी बैंक, ब्रोकर या दूसरे बिचौलिये के यह तय किए कि हर कदम पूरा किया जाए या नहीं।
क्रिप्टो में साधारण भुगतान से आगे की लगभग हर चीज़ स्मार्ट कॉन्ट्रैक्ट से चलती है: टोकन, विकेंद्रीकृत एक्सचेंज, लेंडिंग प्रोटोकॉल, NFT और DAO। ये क्या कर सकते हैं और क्या नहीं, यह समझने से आपको इनके इस्तेमाल के अवसरों और जोखिमों, दोनों का आकलन करने में मदद मिलती है।
स्मार्ट कॉन्ट्रैक्ट कैसे काम करते हैं
कोड द्वारा लागू होने वाले अनुबंधों का विचार कंप्यूटर वैज्ञानिक Nick Szabo ने 1990 के दशक में वेंडिंग मशीन की मिसाल देकर समझाया था: सही सिक्के डालिए, कोई प्रोडक्ट चुनिए, और मशीन बिना किसी दुकानदार के उसे दे देती है।
ब्लॉकचेन पर यह प्रक्रिया कुछ इस तरह होती है:
- 1डेवलपर कोड लिखता है, उदाहरण के लिए Ethereum के लिए Solidity में या कुछ दूसरे नेटवर्क के लिए Rust में।
- 2कोड डिप्लॉय किया जाता है एक ट्रांज़ैक्शन के ज़रिए, और उसे अपना एक पता मिलता है।
- 3यूज़र कॉन्ट्रैक्ट को कॉल करते हैं उस पते पर ट्रांज़ैक्शन भेजकर, अक्सर साथ में टोकन भी जोड़कर।
- 4हर नोड कोड चलाता है और नतीजे पर सहमति बनाता है, इसलिए परिणाम सबके लिए एक जैसा होता है।
- 5कॉन्ट्रैक्ट की स्थिति अपडेट होती है — बैलेंस, स्वामित्व रिकॉर्ड या सेटिंग्स ऑन-चेन बदल जाती हैं।
हर कदम पर नेटवर्क फ़ीस लगती है। Ethereum पर इस फ़ीस को गैस कहते हैं; यह कैसे काम करती है, जानने के लिए देखें Ethereum में गैस क्या है।
स्मार्ट कॉन्ट्रैक्ट किन कामों में आते हैं
| उपयोग | कॉन्ट्रैक्ट क्या करता है | उदाहरण |
|---|---|---|
| टोकन | बैलेंस और ट्रांसफ़र का हिसाब रखता है | एक ERC-20 टोकन कॉन्ट्रैक्ट |
| विकेंद्रीकृत एक्सचेंज | टोकन के पूल रखता है और एक फ़ॉर्मूले से ट्रेड की कीमत तय करता है | एक ऑटोमेटेड मार्केट मेकर (AMM) |
| लेंडिंग | कोलैटरल लेता है, लोन देता है, जोखिम भरी पोज़िशन लिक्विडेट करता है | एक DeFi मनी मार्केट |
| NFT | अनोखी वस्तुओं के स्वामित्व का रिकॉर्ड रखता है | किसी कलेक्शन का NFT कॉन्ट्रैक्ट |
| DAO | वोट गिनता है और मंज़ूर प्रस्तावों को लागू करता है | एक ऑन-चेन गवर्नेंस कॉन्ट्रैक्ट |
| मल्टीसिग वॉलेट | फ़ंड भेजने के लिए कई मंज़ूरियाँ ज़रूरी करता है | किसी प्रोजेक्ट का ट्रेज़री |
इनमें से कई कॉन्ट्रैक्ट एक-दूसरे को कॉल करते हैं, इसीलिए DeFi को कभी-कभी “मनी लेगो” कहा जाता है। हमारी DeFi गाइड बताती है कि ये हिस्से आपस में कैसे जुड़ते हैं।
स्मार्ट कॉन्ट्रैक्ट बनाम पारंपरिक अनुबंध
स्मार्ट कॉन्ट्रैक्ट की तुलना उन कागज़ी समझौतों से करना मददगार है जिन्हें ज़्यादातर लोग जानते हैं।
| पारंपरिक अनुबंध | स्मार्ट कॉन्ट्रैक्ट | |
|---|---|---|
| किसमें लिखा जाता है | मानवीय भाषा | प्रोग्रामिंग कोड |
| कौन लागू करता है | अदालतें, संस्थाएँ, पक्षों की सद्भावना | कोड चलाने वाला ब्लॉकचेन नेटवर्क |
| लचीलापन | दोबारा बातचीत या व्याख्या हो सकती है | ठीक वैसे ही चलता है जैसा लिखा है, जब तक अपग्रेड के लिए न बनाया गया हो |
| पारदर्शिता | आमतौर पर निजी | कोड और गतिविधि अक्सर ऑन-चेन सार्वजनिक होती है |
| विवाद निपटारा | जज, मध्यस्थ, वकील | कोड के अलावा विवाद सुलझाने का कोई अंतर्निहित तरीका नहीं |
| गति | सेटलमेंट में दिनों से महीनों तक | नेटवर्क के अनुसार सेकंडों से मिनटों तक |
इनकी ताकत है गति, पारदर्शिता और बिचौलियों का हट जाना। कमज़ोरी है कठोरता: कोड न्याय या संदर्भ को नहीं तौल सकता। अगर कुछ ऐसा अप्रत्याशित हो जाए जिसकी डेवलपर्स ने योजना नहीं बनाई थी, तो कॉन्ट्रैक्ट बस अपने नियमों का पालन करता है — तब भी जब नतीजा साफ़ तौर पर वह न हो जो किसी ने चाहा था। इस पर हम टेस्टनेट और मेननेट क्या हैं? में और विस्तार से बात करते हैं।
स्मार्ट कॉन्ट्रैक्ट कौन लिखता और नियंत्रित करता है
कोई भी स्मार्ट कॉन्ट्रैक्ट डिप्लॉय कर सकता है; सार्वजनिक ब्लॉकचेन पर कोई मंज़ूरी प्रक्रिया नहीं होती। यह खुलापन तेज़ नवाचार को संभव बनाता है, लेकिन इसका मतलब यह भी है कि धोखाधड़ी वाले कॉन्ट्रैक्ट उतनी ही आसानी से डिप्लॉय हो सकते हैं जितने वैध कॉन्ट्रैक्ट। डिप्लॉय होने के बाद नियंत्रण इस पर निर्भर करता है कि कॉन्ट्रैक्ट कैसे लिखा गया था: कुछ का कोई मालिक ही नहीं होता, कुछ एक अकेले वॉलेट से नियंत्रित होते हैं, और कुछ मल्टीसिग या समय-विलंब वाले DAO वोट से। कौन-सा मॉडल लागू है, यह जानना किसी भी ऐप के जोखिम को आँकने का अहम हिस्सा है। संबंधित लेख: स्मार्ट कॉन्ट्रैक्ट एक्सप्लॉइट।
स्मार्ट कॉन्ट्रैक्ट क्या नहीं कर सकते
स्मार्ट कॉन्ट्रैक्ट शक्तिशाली हैं, लेकिन उनका दायरा सीमित है।
- वे केवल ऑन-चेन डेटा जानते हैं। कीमतों या खेल के नतीजों जैसी असल दुनिया की जानकारी इस्तेमाल करने के लिए वे ओरेकल पर निर्भर रहते हैं, जो बाहरी डेटा को ऑन-चेन लाते हैं और विफल हो सकते हैं या उनमें हेरफेर हो सकती है।
- वे इरादा नहीं समझते। अगर आप गलत फ़ंक्शन पर फ़ंड भेज दें या किसी दुर्भावनापूर्ण अप्रूवल पर साइन कर दें, तो कॉन्ट्रैक्ट वही करेगा जो कोड कहता है।
- वे अपने-आप कानूनी अनुबंध नहीं होते। कोड का चलना और कानूनी प्रवर्तनीयता दो अलग सवाल हैं।
- वे गलतियाँ पलट नहीं सकते। पूरा हो चुका ट्रांज़ैक्शन सामान्यतः पूरा ही रहता है।
स्मार्ट कॉन्ट्रैक्ट इस्तेमाल करने के जोखिम
बग और एक्सप्लॉइट
कोड इंसान लिखते हैं, और गलतियाँ होती हैं। हमलावर खामियाँ ढूँढते हैं और एक ही ट्रांज़ैक्शन में फ़ंड निकाल सकते हैं। ऑडिट मदद करते हैं, लेकिन सुरक्षा की गारंटी नहीं दे सकते — देखें स्मार्ट कॉन्ट्रैक्ट ऑडिट रिपोर्ट का मूल्यांकन कैसे करें।
एडमिन कुंजियाँ और अपग्रेड
कई कॉन्ट्रैक्ट अपग्रेड किए जा सकते हैं या उनमें ओनर फ़ंक्शन होते हैं जो ट्रेडिंग रोक सकते हैं, फ़ीस बदल सकते हैं या नए टोकन मिंट कर सकते हैं। ये आपात स्थिति में यूज़र्स की रक्षा कर सकते हैं, लेकिन दुरुपयोग या एडमिन कुंजी चोरी होने की आशंका भी पैदा करते हैं। संबंधित लेख: अकाउंट एब्स्ट्रैक्शन की आसान व्याख्या।
दुर्भावनापूर्ण कॉन्ट्रैक्ट
धोखाधड़ी वाले टोकन में छिपे नियम हो सकते हैं, जैसे बिक्री रोक देना या भारी ट्रांसफ़र टैक्स वसूलना। कोई कॉन्ट्रैक्ट टोकन पेज पर सामान्य दिख सकता है, जबकि असल में बिल्कुल अलग तरह से काम करता हो। यह भी देखें: ICO vs IEO vs IDO।
अप्रूवल
DeFi इस्तेमाल करने के लिए अक्सर किसी कॉन्ट्रैक्ट को अपने टोकन खर्च करने की मंज़ूरी देनी पड़ती है। बग वाले या दुर्भावनापूर्ण कॉन्ट्रैक्ट को दी गई असीमित मंज़ूरी का बाद में इस्तेमाल उन टोकन को ले जाने के लिए किया जा सकता है। अगर आप और गहराई में जाना चाहते हैं, तो पढ़ें मेमपूल क्या है?
इस्तेमाल से पहले स्मार्ट कॉन्ट्रैक्ट की जाँच कैसे करें
- 1पते की पुष्टि करें प्रोजेक्ट की आधिकारिक साइट और किसी स्वतंत्र स्रोत से।
- 2ब्लॉक एक्सप्लोरर पर खोजें ताकि बनने की तारीख, गतिविधि और यह दिखे कि सोर्स कोड वेरिफ़ाइड है या नहीं।
- 3ऑडिट जाँचें जाने-माने फ़र्मों के, और पढ़ें कि पाई गई समस्याएँ ठीक की गईं या नहीं।
- 4पता करें कि एडमिन फ़ंक्शन किसके नियंत्रण में हैं — मल्टीसिग, टाइमलॉक या एक अकेला वॉलेट।
- 5छोटी रकम से शुरुआत करें और टोकन अप्रूवल को उतनी ही रकम तक सीमित रखें जितनी ज़रूरत है।
किसी टोकन के आधिकारिक कॉन्ट्रैक्ट पते को वेरिफ़ाई कैसे करें पर हमारी गाइड पहले दो कदमों को विस्तार से समझाती है।
निष्कर्ष
स्मार्ट कॉन्ट्रैक्ट ब्लॉकचेन पर अपने-आप चलने वाला कोड है, जो बिना बिचौलिये के मूल्य रख और भेज सकता है। इससे खुली, प्रोग्राम करने योग्य वित्तीय व्यवस्था संभव होती है, लेकिन इसका मतलब यह भी है कि बग, छिपे एडमिन अधिकार और दुर्भावनापूर्ण कोड तुरंत और अपरिवर्तनीय रूप से असर करते हैं। पते की पुष्टि करें, समझें कि कॉन्ट्रैक्ट किसके नियंत्रण में है, और केवल उतनी ही मंज़ूरी दें जितनी ज़रूरत है।
अक्सर पूछे जाने वाले सवाल
क्या स्मार्ट कॉन्ट्रैक्ट कानूनी रूप से बाध्यकारी होते हैं?
अपने-आप नहीं। स्मार्ट कॉन्ट्रैक्ट एक सॉफ़्टवेयर है जो ब्लॉकचेन पर चलता है, अपने आप में कोई कानूनी समझौता नहीं। कुछ कानूनी व्यवस्थाएँ कोड से दर्ज या लागू किए गए समझौतों को मान्यता दे सकती हैं, लेकिन यह देश और परिस्थितियों पर निर्भर करता है। अगर कानूनी प्रवर्तनीयता मायने रखती है, तो स्थानीय कानून देखें या किसी योग्य पेशेवर से सलाह लें।
क्या डिप्लॉय होने के बाद स्मार्ट कॉन्ट्रैक्ट बदला जा सकता है?
डिप्लॉय किया गया कोड आमतौर पर एडिट नहीं किया जा सकता। हालाँकि कई प्रोजेक्ट अपग्रेड किए जा सकने वाले डिज़ाइन, जैसे प्रॉक्सी कॉन्ट्रैक्ट, इस्तेमाल करते हैं, जिनसे एडमिन यूज़र्स को नए कोड की ओर भेज सकता है। यह लचीलापन बग ठीक करने में मदद करता है, लेकिन इसका मतलब यह भी है कि किसी के पास नियम बदलने की शक्ति है। जाँचें कि अपग्रेड या एडमिन कुंजियाँ किसके नियंत्रण में हैं।
कौन-से ब्लॉकचेन स्मार्ट कॉन्ट्रैक्ट को सपोर्ट करते हैं?
Ethereum ने सामान्य-उद्देश्य वाले स्मार्ट कॉन्ट्रैक्ट को लोकप्रिय बनाया, और कई दूसरे नेटवर्क भी इन्हें सपोर्ट करते हैं, जैसे BNB Chain, Solana, Avalanche, Cardano और Ethereum के लेयर-2 नेटवर्क। Bitcoin अपनी बनावट के अनुसार केवल सीमित स्क्रिप्टिंग सपोर्ट करता है। हर प्लेटफ़ॉर्म अपनी भाषाएँ और टूल इस्तेमाल करता है, इसलिए कॉन्ट्रैक्ट अपने-आप एक से दूसरे प्लेटफ़ॉर्म पर नहीं ले जाए जा सकते।
अगर स्मार्ट कॉन्ट्रैक्ट में बग हो तो क्या होता है?
कोड ठीक वैसे ही चलता है जैसा लिखा गया है, बग समेत। हमलावर इसका फ़ायदा उठाकर फ़ंड निकाल सकते हैं, और ट्रांज़ैक्शन आमतौर पर वापस नहीं लिए जा सकते। कुछ प्रोजेक्ट नुकसान सीमित करने के लिए कॉन्ट्रैक्ट को रोक या अपग्रेड कर सकते हैं, जबकि अपरिवर्तनीय कॉन्ट्रैक्ट को बिल्कुल ठीक नहीं किया जा सकता। ऑडिट और बग बाउंटी इस जोखिम को कम करते हैं, लेकिन खत्म नहीं करते।
