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

इथेरियम पर प्रमाणीकरण

यदि आप पारंपरिक वेब डेवलपमेंट से आ रहे हैं, तो आप यूज़रनेम/पासवर्ड लॉगिन, OAuth फ़्लो और सेशन कुकीज़ के अभ्यस्त होंगे। इथेरियम पर प्रमाणीकरण अलग तरीके से काम करता है—और कई मायनों में, अधिक सरलता से।

इथेरियम पर, एक उपयोगकर्ता अपने वॉलेट से एक संदेश पर हस्ताक्षर करके अपनी पहचान साबित करता है। स्टोर करने के लिए कोई पासवर्ड नहीं। लीक होने के लिए क्रेडेंशियल्स का कोई डेटाबेस नहीं। बस क्रिप्टोग्राफी।

यह वेब2 से कैसे अलग है?

वेब2इथेरियम
यूज़रनेम + पासवर्डवॉलेट पता + हस्ताक्षर
सर्वर क्रेडेंशियल्स स्टोर करता हैउपयोगकर्ता के पास निजी कुंजी होती है
कुकीज़ / JWT द्वारा प्रबंधित सेशनसेशन एक ऑफचेन वॉलेट हस्ताक्षर के साथ शुरू होते हैं
"Sign in with Google""Sign in with Ethereum"
पासवर्ड रीसेट फ़्लोबीज वाक्यांश रिकवरी

मूलभूत बदलाव: वेब2 में, एक केंद्रीकृत सर्वर आपको प्रमाणित करता है। इथेरियम पर, आप स्वयं को प्रमाणित करते हैं यह साबित करके कि आप एक विशिष्ट पते को नियंत्रित करते हैं—और कोई भी इसे स्वतंत्र रूप से सत्यापित कर सकता है।

पूर्वापेक्षाएँ

सुनिश्चित करें कि आप समझते हैं:

वॉलेट-आधारित प्रमाणीकरण कैसे काम करता है

मुख्य फ़्लो सरल है:

  1. आपका विकेंद्रीकृत एप्लिकेशन (dapp) उपयोगकर्ता को अपना वॉलेट कनेक्ट करने के लिए कहता है (मेटामास्क, Rainbow, WalletConnect आदि के माध्यम से)
  2. वॉलेट उपयोगकर्ता का इथेरियम पता साझा करता है - यह उनका सार्वजनिक पहचानकर्ता है
  3. आपका dapp एक अद्वितीय संदेश उत्पन्न करता है (एक नॉन्स या चुनौती)
  4. उपयोगकर्ता अपनी निजी कुंजी के साथ संदेश पर हस्ताक्षर करता है (यह वॉलेट के अंदर होता है)
  5. आपका बैकएंड दावा किए गए पते के विरुद्ध हस्ताक्षर को सत्यापित करता है
  6. यदि यह मान्य है, तो उपयोगकर्ता प्रमाणित हो जाता है

कोई पासवर्ड कभी टाइप, स्टोर या ट्रांसमिट नहीं किया गया।

इथेरियम के साथ साइन-इन (EIP-4361)

EIP-4361 (एक नए टैब में खुलता है) इथेरियम साइन-इन के लिए एक मानक संदेश प्रारूप को परिभाषित करता है, जिसे आमतौर पर SIWE (Sign-In with Ethereum) कहा जाता है। यह तदर्थ (ad-hoc) संदेश हस्ताक्षर करने की प्रक्रिया को एक संरचित, सुरक्षित मानक से बदल देता है।

एक SIWE संदेश इस तरह दिखता है:

SIWE की मुख्य विशेषताएं:

  • डोमेन बाइंडिंग - संदेश में डोमेन शामिल होता है, जो फ़िशिंग को रोकता है
  • चेन आईडी - निर्दिष्ट करता है कि हस्ताक्षर किस नेटवर्क के लिए मान्य है
  • नॉन्स - रीप्ले हमलों को रोकता है
  • समाप्ति (Expiration) - वैधता विंडो को सीमित करने वाला वैकल्पिक टाइमस्टैम्प
  • संसाधन (Resources) - स्कोप्ड एक्सेस के लिए वैकल्पिक URI

SIWE लाइब्रेरी

उदाहरण: siwe के साथ क्लाइंट-साइड साइन-इन

उदाहरण: सर्वर-साइड सत्यापन (Node.js)

वॉलेट कनेक्शन लाइब्रेरी

प्रमाणित करने से पहले, आपको उपयोगकर्ता को अपना वॉलेट कनेक्ट करने की आवश्यकता होती है। ये लाइब्रेरी इसे आसान बनाती हैं:

मैन्युअल रूप से हस्ताक्षर सत्यापित करना

यदि आप SIWE का उपयोग नहीं करना चाहते हैं, तो आप सीधे हस्ताक्षर सत्यापित कर सकते हैं:

महत्वपूर्ण सुरक्षा नोट्स

  • हमेशा एक नॉन्स का उपयोग करें - रीप्ले हमलों को रोकता है जहां एक पुराने हस्ताक्षर का पुन: उपयोग किया जाता है
  • डोमेन शामिल करें - हस्ताक्षरों को विभिन्न साइटों पर मान्य होने से रोकता है
  • समाप्ति की जांच करें - हस्ताक्षरों की एक सीमित वैधता विंडो होनी चाहिए
  • जब संभव हो SIWE (EIP-4361) का उपयोग करें - यह आपके लिए उपरोक्त सभी को संभालता है
  • निजी कुंजी को कभी उजागर न करें - हस्ताक्षर वॉलेट के अंदर होता है; आपका ऐप केवल परिणाम देखता है

सेशन प्रबंधन

एक बार प्रमाणित होने के बाद, आपको अभी भी सेशन की आवश्यकता होती है—बिल्कुल वेब2 की तरह। सामान्य पैटर्न:

  • JWT टोकन - हस्ताक्षर सत्यापित करने के बाद एक JWT जारी करें, API अनुरोधों के लिए उपयोग करें
  • सर्वर-साइड सेशन - सत्यापित पते को सेशन कुकी में स्टोर करें
  • संसाधनों के साथ SIWE - विशिष्ट URI से जुड़े स्कोप्ड एक्सेस टोकन परिभाषित करें

वेब2 से मुख्य अंतर: उपयोगकर्ता का इथेरियम पता उनकी स्थायी पहचान है। वे नया खाता बनाए बिना किसी भी dapp पर इसका उपयोग कर सकते हैं।

विकेंद्रीकृत पहचान

इथेरियम प्रमाणीकरण स्व-संप्रभु पहचान (self-sovereign identity) की दिशा में एक व्यापक आंदोलन का हिस्सा है। इस क्षेत्र में मानक और प्रोजेक्ट शामिल हैं:

आगे की पढ़ाई