تخطي إلى المحتوى الرئيسي
Change page

المصادقة على إيثيريوم

إذا كنت قادمًا من تطوير الويب التقليدي، فأنت معتاد على تسجيل الدخول باستخدام اسم المستخدم/كلمة المرور، وتدفقات OAuth، وملفات تعريف ارتباط الجلسة. تعمل المصادقة على إيثيريوم بشكل مختلف — وبطرق عديدة، بشكل أبسط.

على إيثيريوم، يثبت المستخدم هويته من خلال توقيع رسالة باستخدام محفظته. لا توجد كلمة مرور لتخزينها. لا توجد قاعدة بيانات لبيانات الاعتماد يمكن تسريبها. فقط علم التشفير.

كيف تختلف عن ويب 2؟

ويب 2إيثيريوم
اسم المستخدم + كلمة المرورعنوان المحفظة + توقيع
الخادم يخزن بيانات الاعتمادالمستخدم يحتفظ بمفتاح خاص
تدار الجلسات بواسطة ملفات تعريف الارتباط / JWTتبدأ الجلسات بتوقيع محفظة خارج السلسلة
"تسجيل الدخول باستخدام Google""تسجيل الدخول باستخدام إيثيريوم"
تدفقات إعادة تعيين كلمة المروراستعادة عبارة الاسترداد

التحول الأساسي: في ويب 2، يقوم خادم مركزي بمصادقتك. على إيثيريوم، أنت تصادق نفسك من خلال إثبات أنك تتحكم في عنوان معين — ويمكن لأي شخص التحقق من ذلك بشكل مستقل.

المتطلبات الأساسية

تأكد من فهمك لما يلي:

كيف تعمل المصادقة القائمة على المحفظة

التدفق الأساسي بسيط:

  1. يطلب تطبيقك اللامركزي (dapp) من المستخدم توصيل محفظته (عبر ميتاماسك، Rainbow، WalletConnect، إلخ.)
  2. تشارك المحفظة عنوان إيثيريوم الخاص بالمستخدم - هذا هو معرفهم العام
  3. ينشئ تطبيقك اللامركزي رسالة فريدة (رقم فريد أو تحدي)
  4. يوقع المستخدم الرسالة باستخدام مفتاحه الخاص (يحدث داخل المحفظة)
  5. تتحقق الواجهة الخلفية الخاصة بك من التوقيع مقابل العنوان المطالب به
  6. إذا كان صالحًا، تتم مصادقة المستخدم

لم يتم كتابة أو تخزين أو نقل أي كلمة مرور على الإطلاق.

تسجيل الدخول باستخدام إيثيريوم (EIP-4361)

يحدد EIP-4361 (يفتح في علامة تبويب جديدة) تنسيق رسالة قياسي لتسجيل الدخول إلى إيثيريوم، والذي يُطلق عليه عادةً SIWE (تسجيل الدخول باستخدام إيثيريوم). إنه يستبدل توقيع الرسائل المخصص بمعيار منظم وآمن.

تبدو رسالة SIWE هكذا:

الميزات الرئيسية لـ SIWE:

  • ربط النطاق - تتضمن الرسالة النطاق، مما يمنع التصيد الاحتيالي
  • معرف السلسلة - يحدد الشبكة التي يكون التوقيع صالحًا لها
  • رقم فريد - يمنع هجمات إعادة التشغيل
  • انتهاء الصلاحية - طابع زمني اختياري يحد من نافذة الصلاحية
  • الموارد - معرفات موارد موحدة (URIs) اختيارية للوصول المحدد النطاق

مكتبات SIWE

مثال: تسجيل الدخول من جانب العميل باستخدام siwe

مثال: التحقق من جانب الخادم (Node.js)

مكتبات توصيل المحفظة

قبل المصادقة، تحتاج إلى أن يقوم المستخدم بتوصيل محفظته. هذه المكتبات تجعل الأمر سهلاً:

التحقق من التوقيعات يدويًا

إذا كنت تفضل عدم استخدام SIWE، يمكنك التحقق من التوقيعات مباشرة:

ملاحظات أمنية هامة

  • استخدم دائمًا رقم فريد - يمنع هجمات إعادة التشغيل حيث يتم إعادة استخدام توقيع قديم
  • قم بتضمين النطاق - يمنع التوقيعات من أن تكون صالحة عبر مواقع مختلفة
  • تحقق من انتهاء الصلاحية - يجب أن يكون للتوقيعات نافذة صلاحية محدودة
  • استخدم SIWE (EIP-4361) كلما أمكن ذلك - فهو يتعامل مع كل ما سبق نيابة عنك
  • لا تكشف أبدًا عن المفاتيح الخاصة - يحدث التوقيع داخل المحفظة؛ تطبيقك يرى النتيجة فقط

إدارة الجلسات

بمجرد المصادقة، لا تزال بحاجة إلى جلسات — تمامًا مثل ويب 2. الأنماط الشائعة:

  • رموز JWT - إصدار JWT بعد التحقق من التوقيع، واستخدامه لطلبات API
  • جلسات من جانب الخادم - تخزين العنوان الذي تم التحقق منه في ملف تعريف ارتباط الجلسة
  • SIWE مع الموارد - تحديد رموز وصول محددة النطاق مرتبطة بمعرفات موارد موحدة (URIs) محددة

الاختلاف الرئيسي عن ويب 2: عنوان إيثيريوم الخاص بالمستخدم هو هويته الدائمة. يمكنهم استخدامه عبر أي تطبيق لامركزي (dapp) دون إنشاء حساب جديد.

هوية لامركزية

تعد مصادقة إيثيريوم جزءًا من حركة أوسع نحو الهوية السيادية الذاتية. تشمل المعايير والمشاريع في هذا المجال:

قراءة إضافية