मुख्य सामग्री पर जाएं
Change page

स्मार्ट अनुबंधों का नामकरण

स्मार्ट अनुबंध इथेरियम के विकेंद्रीकृत बुनियादी ढाँचे की आधारशिला हैं, जो स्वायत्त एप्लिकेशन और प्रोटोकॉल को सक्षम करते हैं। लेकिन अनुबंध की क्षमताओं के विकसित होने के बावजूद, उपयोगकर्ता और डेवलपर अभी भी इन अनुबंधों को पहचानने और संदर्भित करने के लिए कच्चे हेक्साडेसिमल पतों पर निर्भर हैं।

Ethereum Name Service (ENS) (opens in a new tab) के साथ स्मार्ट अनुबंधों का नामकरण हेक्साडेसिमल अनुबंध पतों को समाप्त करके उपयोगकर्ता अनुभव में सुधार करता है और एड्रेस पॉइज़निंग और स्पूफिंग हमलों जैसे हमलों से जोखिम को कम करता है। यह मार्गदर्शिका बताती है कि स्मार्ट अनुबंधों का नामकरण क्यों मायने रखता है, इसे कैसे लागू किया जा सकता है, और प्रक्रिया को सरल बनाने और डेवलपर्स को इस अभ्यास को अपनाने में मदद करने के लिए Enscribe (opens in a new tab) जैसे कौन से टूल उपलब्ध हैं।

स्मार्ट अनुबंधों का नामकरण क्यों करें?

मानव-पठनीय पहचानकर्ता

0x8f8e...f9e3 जैसे अपारदर्शी अनुबंध पतों के साथ इंटरैक्ट करने के बजाय, डेवलपर और उपयोगकर्ता v2.myapp.eth जैसे मानव-पठनीय नामों का उपयोग कर सकते हैं। यह स्मार्ट अनुबंध इंटरैक्शन को सरल बनाता है।

यह Ethereum Name Service (opens in a new tab) द्वारा संभव बनाया गया है जो इथेरियम पतों के लिए एक विकेंद्रीकृत नामकरण सेवा प्रदान करता है। यह इस बात के समान है कि कैसे डोमेन नेम सर्विस (DNS) इंटरनेट के उपयोगकर्ताओं को 104.18.176.152 जैसे IP पते के बजाय ethereum.org जैसे नाम का उपयोग करके नेटवर्क पतों तक पहुँचने में सक्षम बनाता है।

बेहतर सुरक्षा और विश्वास

नामित अनुबंध गलत पते पर होने वाले आकस्मिक लेनदेन को कम करने में मदद करते हैं। वे उपयोगकर्ताओं को विशिष्ट ऐप या ब्रांड से जुड़े अनुबंधों की पहचान करने में भी मदद करते हैं। यह प्रतिष्ठा आधारित विश्वास की एक परत जोड़ता है, खासकर जब नाम uniswap.eth जैसे प्रसिद्ध मूल डोमेन से जुड़े होते हैं।

इथेरियम पते की 42-वर्णों की लंबाई के कारण, उपयोगकर्ताओं के लिए पतों में छोटे बदलावों की पहचान करना बहुत कठिन होता है, जहाँ कुछ वर्णों को संशोधित किया गया हो। उदाहरण के लिए, 0x58068646C148E313CB414E85d2Fe89dDc3426870 जैसे पते को आमतौर पर वॉलेट जैसे उपयोगकर्ता-सामना करने वाले एप्लिकेशन द्वारा 0x580...870 तक छोटा कर दिया जाता है। एक उपयोगकर्ता द्वारा किसी दुर्भावनापूर्ण पते पर ध्यान देने की संभावना कम होती है जहाँ कुछ वर्णों को बदल दिया गया हो।

इस प्रकार की तकनीक का उपयोग एड्रेस स्पूफिंग और पॉइज़निंग हमलों द्वारा किया जाता है जहाँ उपयोगकर्ताओं को यह विश्वास दिलाया जाता है कि वे सही पते के साथ इंटरैक्ट कर रहे हैं या फंड भेज रहे हैं, जबकि वास्तव में पता केवल सही पते जैसा दिखता है, लेकिन समान नहीं होता है।

वॉलेट और अनुबंधों के लिए ENS नाम इस प्रकार के हमलों से बचाते हैं। DNS स्पूफिंग हमलों की तरह, ENS स्पूफिंग हमले भी किए जा सकते हैं, हालाँकि, एक उपयोगकर्ता द्वारा हेक्साडेसिमल पते में छोटे संशोधन की तुलना में ENS नाम में वर्तनी की गलती पर ध्यान देने की अधिक संभावना होती है।

वॉलेट और एक्सप्लोरर के लिए बेहतर UX

जब किसी स्मार्ट अनुबंध को ENS नाम के साथ कॉन्फ़िगर किया जाता है, तो वॉलेट और ब्लॉकचेन एक्सप्लोरर जैसे ऐप के लिए हेक्साडेसिमल पतों के बजाय स्मार्ट अनुबंधों के लिए ENS नाम प्रदर्शित करना संभव हो जाता है। यह उपयोगकर्ताओं के लिए एक महत्वपूर्ण उपयोगकर्ता अनुभव (UX) सुधार प्रदान करता है।

उदाहरण के लिए, यूनिस्वैप जैसे ऐप के साथ इंटरैक्ट करते समय, उपयोगकर्ता आमतौर पर देखेंगे कि जिस ऐप के साथ वे इंटरैक्ट कर रहे हैं वह वेबसाइट uniswap.org पर होस्ट किया गया है, लेकिन यदि यूनिस्वैप ने ENS के साथ अपने स्मार्ट अनुबंधों का नाम नहीं दिया है तो उन्हें एक हेक्साडेसिमल अनुबंध पता प्रस्तुत किया जाएगा। यदि अनुबंध का नाम दिया गया है, तो इसके बजाय वे v4.contracts.uniswap.eth देख सकते हैं जो कहीं अधिक उपयोगी है।

तैनाती के समय बनाम तैनाती के बाद नामकरण

ऐसे दो बिंदु हैं जिन पर स्मार्ट अनुबंधों का नामकरण किया जा सकता है:

  • तैनाती के समय: अनुबंध को तैनात करते समय उसे एक ENS नाम निर्दिष्ट करना।
  • तैनाती के बाद: मौजूदा अनुबंध पते को एक नए ENS नाम पर मैप करना।

दोनों दृष्टिकोण ENS डोमेन तक मालिक या प्रबंधक की पहुँच होने पर निर्भर करते हैं ताकि वे ENS रिकॉर्ड बना सकें और सेट कर सकें।

अनुबंधों के लिए ENS नामकरण कैसे काम करता है

ENS नाम ऑनचेन संग्रहीत किए जाते हैं और ENS रिज़ॉल्वर के माध्यम से इथेरियम पतों पर रिज़ॉल्व होते हैं। स्मार्ट अनुबंध का नामकरण करने के लिए:

  1. एक मूल ENS डोमेन पंजीकृत करें या नियंत्रित करें (उदा. myapp.eth)
  2. एक सबडोमेन बनाएँ (उदा. v1.myapp.eth)
  3. सबडोमेन के address रिकॉर्ड को अनुबंध पते पर सेट करें
  4. अनुबंध के रिवर्स रिकॉर्ड को ENS पर सेट करें ताकि पते के माध्यम से नाम खोजा जा सके

ENS नाम पदानुक्रमित होते हैं और असीमित उप-नामों का समर्थन करते हैं। इन रिकॉर्ड्स को सेट करने में आमतौर पर ENS रजिस्ट्री और सार्वजनिक रिज़ॉल्वर अनुबंधों के साथ इंटरैक्ट करना शामिल होता है।

अनुबंधों के नामकरण के लिए टूल

स्मार्ट अनुबंधों के नामकरण के दो दृष्टिकोण हैं। या तो कुछ मैन्युअल चरणों के साथ ENS App (opens in a new tab) का उपयोग करना, या Enscribe (opens in a new tab) का उपयोग करना। इन्हें नीचे रेखांकित किया गया है।

मैन्युअल ENS सेटअप

ENS App (opens in a new tab) का उपयोग करके, डेवलपर मैन्युअल रूप से उप-नाम बना सकते हैं और फॉरवर्ड एड्रेस रिकॉर्ड सेट कर सकते हैं। हालाँकि, वे ENS ऐप के माध्यम से नाम के लिए रिवर्स रिकॉर्ड सेट करके स्मार्ट अनुबंध के लिए प्राथमिक नाम सेट नहीं कर सकते हैं। मैन्युअल कदम उठाए जाने चाहिए जो ENS docs (opens in a new tab) में शामिल हैं।

Enscribe

Enscribe (opens in a new tab) ENS के साथ स्मार्ट अनुबंध नामकरण को सरल बनाता है, और स्मार्ट अनुबंधों में उपयोगकर्ता के विश्वास को बढ़ाता है। यह प्रदान करता है:

  • परमाणु तैनाती और नामकरण (Atomic deployment and naming): नया अनुबंध तैनात करते समय एक ENS नाम निर्दिष्ट करें
  • तैनाती के बाद नामकरण: पहले से तैनात अनुबंधों में नाम जोड़ें
  • मल्टी-चेन समर्थन: इथेरियम और लेयर 2 (l2) नेटवर्क पर काम करता है जहाँ ENS समर्थित है
  • अनुबंध सत्यापन डेटा: उपयोगकर्ताओं के लिए विश्वास बढ़ाने के लिए कई स्रोतों से प्राप्त अनुबंध सत्यापन डेटा शामिल है

Enscribe उपयोगकर्ताओं द्वारा प्रदान किए गए ENS नामों का समर्थन करता है, या यदि उपयोगकर्ता के पास ENS नाम नहीं है तो अपने स्वयं के डोमेन का समर्थन करता है।

आप स्मार्ट अनुबंधों का नामकरण और उन्हें देखना शुरू करने के लिए Enscribe App (opens in a new tab) तक पहुँच सकते हैं।

सर्वोत्तम अभ्यास

  • अनुबंध अपग्रेड को पारदर्शी बनाने के लिए v1.myapp.eth जैसे स्पष्ट, संस्करण वाले नामों का उपयोग करें
  • वॉलेट और ब्लॉकचेन एक्सप्लोरर जैसे ऐप में दृश्यता के लिए अनुबंधों को ENS नामों से जोड़ने के लिए रिवर्स रिकॉर्ड सेट करें
  • यदि आप स्वामित्व में आकस्मिक परिवर्तनों को रोकना चाहते हैं तो समाप्ति (expiries) की बारीकी से निगरानी करें
  • अनुबंध स्रोत को सत्यापित करें ताकि उपयोगकर्ता भरोसा कर सकें कि नामित अनुबंध अपेक्षा के अनुरूप व्यवहार करता है

जोखिम

स्मार्ट अनुबंधों का नामकरण इथेरियम के उपयोगकर्ताओं के लिए महत्वपूर्ण लाभ प्रदान करता है, हालाँकि, ENS डोमेन के मालिकों को उनके प्रबंधन के संबंध में सतर्क रहना चाहिए। उल्लेखनीय जोखिमों में शामिल हैं:

  • समाप्ति (Expiry): DNS नामों की तरह ही, ENS नाम पंजीकरण सीमित अवधि के होते हैं। इसलिए यह महत्वपूर्ण है कि मालिक अपने डोमेन की समाप्ति तिथियों की निगरानी करें और उनकी समाप्ति से काफी पहले उन्हें नवीनीकृत करें। ENS ऐप और Enscribe दोनों डोमेन मालिकों के लिए समाप्ति के करीब आने पर दृश्य संकेतक प्रदान करते हैं।
  • स्वामित्व में परिवर्तन: ENS रिकॉर्ड इथेरियम पर NFT के रूप में दर्शाए जाते हैं, जहाँ किसी विशिष्ट .eth डोमेन के मालिक के पास संबंधित NFT होता है। इसलिए यदि कोई भिन्न खाता इस NFT का स्वामित्व लेता है, तो नया मालिक किसी भी ENS रिकॉर्ड को अपनी इच्छानुसार संशोधित कर सकता है।

ऐसे जोखिमों को कम करने के लिए, .eth द्वितीय स्तर के डोमेन (2LD) के लिए मालिक खाते को एक मल्टी-सिग वॉलेट के माध्यम से सुरक्षित किया जाना चाहिए, जिसमें अनुबंध नामकरण को प्रबंधित करने के लिए सबडोमेन बनाए जाते हैं। इस तरह सबडोमेन स्तर पर स्वामित्व में किसी भी आकस्मिक या दुर्भावनापूर्ण परिवर्तन की स्थिति में, उन्हें 2LD मालिक द्वारा ओवरराइड किया जा सकता है।

अनुबंध नामकरण का भविष्य

अनुबंध नामकरण विकेंद्रीकृत एप्लिकेशन (dapp) विकास के लिए एक सर्वोत्तम अभ्यास बनता जा रहा है, ठीक उसी तरह जैसे डोमेन नामों ने वेब पर IP पतों की जगह ले ली है। जैसे-जैसे वॉलेट, एक्सप्लोरर और डैशबोर्ड जैसे अधिक बुनियादी ढाँचे अनुबंधों के लिए ENS रिज़ॉल्यूशन को एकीकृत करते हैं, नामित अनुबंध सुरक्षा में सुधार करेंगे और पूरे इकोसिस्टम में त्रुटियों को कम करेंगे।

स्मार्ट अनुबंधों को पहचानने और समझने में आसान बनाकर, नामकरण इथेरियम पर उपयोगकर्ताओं और ऐप के बीच की खाई को पाटने में मदद करता है, जिससे उपयोगकर्ताओं के लिए सुरक्षा और UX दोनों में सुधार होता है।

आगे की पढ़ाई