الانتقال إلى المحتوى

توقيع المحفظة

يثبت توقيع المحفظة أن مفتاحًا أو حساب عقد وافق على بيانات محددة وفق قواعد تحقق معينة. تعرّف إلى الفروق بين الرسائل والمعاملات والتصاريح وإعادة الاستخدام والتصيد.

آخر تحديث

لأغراض تعليمية فقط؛ وليس نصيحة استثمارية أو أمنية. قد يؤدي طلب توقيع خبيث إلى خسارة لا يمكن عكسها.

الإجابة المباشرة

توقيع المحفظة دليل مشفر على أن مفتاحًا خاصًا، أو سياسة حساب ذكي، وافق على رسالة محددة بعد ترميزها. يحدد التحقق الحساب الموقّع لهذه البايتات والقواعد بالضبط؛ لكنه لا يثبت الهوية القانونية أو فهم الموقّع أو صدق وصف الموقع للعملية.

التوقيع ليس عملية واحدة موحدة. فتوقيع المعاملة يجيز معاملة على الشبكة مباشرة. أما الرسالة خارج السلسلة فقد تكون تحدي دخول بلا صلاحية على الأصول، أو أمرًا أو تصريح توكن أو تعليمات حوكمة أو تفويضًا آخر يستطيع مرحّل إرساله لاحقًا. عدم ظهور تكلفة gas لا يعني انعدام الخطر.

قبل التوقيع، حدد نوع الطلب والإجراء المقروء والنطاق أو جهة التحقق المقصودة والسلسلة وعقد التحقق والعناوين والمبالغ وnonce وموعد الانتهاء. ارفض أي hash غير مفسر أو بايتات غير مقروءة أو حقول غير متوقعة أو طلب لا تعرضه المحفظة بما يكفي للتحقق المستقل.

توقيع المحفظة
0 / 5
0 العناصر التي تمت مراجعتها; 5 العناصر لا تزال دون حل

إن استكمال هذه المراجعة لا يثبت أن الأصل أو المعاملة أو النظام آمن.

آلية العمل

  1. يرمّز التطبيق معاملة أو رسالة عادية أو كائن بيانات مهيكلة. حتى التغيير الصغير في البيانات ينتج ملخصًا مختلفًا.
  2. تعرض المحفظة ما تستطيع فك ترميزه وتطلب الموافقة. يبقى المفتاح الخاص داخل المحفظة أو جهاز التوقيع؛ وتوقّع المحفظة الملخص وتعيد التوقيع.
  3. يعيد المدقق بناء الملخص نفسه. في الحساب الخارجي يستعيد العنوان أو يتحقق منه عادة؛ ويمكن لحساب العقد تطبيق سياسته الحالية عبر ERC-1271.
  4. يفسر المدقق النتيجة وفق قواعد التطبيق. قد ينشئ الخادم جلسة، وقد يستهلك العقد permit أو ينفذ أمرًا أو يغير حالة الحوكمة أو يجري استدعاءً مفوضًا آخر.
  5. تعتمد الحماية من إعادة الاستخدام على التطبيق. يوفر EIP-712 الترميز المهيكل وفصل النطاق، لكنه لا يوفر حماية من الإعادة؛ ويجب على التطبيق فرض nonce وdeadline وجهة التحقق المقصودة والسلسلة أو حد آخر للاستخدام مرة واحدة.

يفصل ERC-191 البيانات الموقعة عن ترميز معاملات Ethereum العادية ويحدد صيغًا منها personal_sign. ويربط EIP-712 الحقول المهيكلة بنطاق قد يتضمن name وversion وchainId وverifyingContract. تضيف رسائل دخول ERC-4361 النطاق وURI ومعرّف السلسلة وnonce ووقت الإصدار، لكن على الخدمة نفسها التحقق منها.

مثال

تزور Leah الخدمة الرسمية وتتلقى طلب دخول ERC-4361 بالنطاق وURI المتوقعين، مع nonce جديد وأوقات قصيرة الصلاحية. تطلب الرسالة المصادقة فقط. بعد التحقق من النطاق والحساب توقّع؛ فيتحقق الخادم وينشئ جلسة. لا تنشئ هذه الرسالة بذاتها allowance للتوكن أو معاملة على السلسلة.

في موقع مقلد، يظل الزر يقول «تسجيل الدخول»، لكن المحفظة تعرض بيانات EIP-712 Permit فيها التوكن وspender والمبلغ وnonce وdeadline. قد يسمح التوقيع لمرحّل بإنشاء صلاحية إنفاق وفق قواعد عقد التوكن. على Leah الرفض: نص الزر لا يغير البايتات الموقعة.

المخاطر والضوابط

  • معنى مضلل: قد يسمي الموقع permit أو أمرًا عملية دخول. اعتمد على الحمولة المفكوكة والعقد المتحقق منه، لا على الزر.
  • التوقيع الأعمى: تمنع قيم hash الخام والبايتات المبهمة المراجعة الواعية. ألغِ الطلب إن تعذر إعادة بناء الرسالة الدقيقة ومسار تنفيذها بأداة موثوقة.
  • نطاق خاطئ: لا يوثق اسم علامة مألوفة chainId أو verifyingContract أو نطاق الويب أو URI. تحقق من كل حقل ومن العنوان الكامل بصورة مستقلة.
  • إعادة الاستخدام أو التنفيذ المتأخر: قد يستخدم حامل التوقيع الصالح التوقيع حتى استهلاك nonce أو انقضاء deadline. استخدم nonce جديدًا ومهلًا قصيرة ولا تنشر التوقيع.
  • صلاحية واسعة: قد تسمح permits والأوامر ومفاتيح الجلسات وعمليات الحساب الذكي بإجراءات لاحقة دون مطالبة جديدة. تحقق من الأصل وspender والمستلم والمبلغ والنطاق والإلغاء.
  • اختراق الموقّع: تحمي المحفظة المادية من استخراج المفتاح، لا من الرسالة الخبيثة. إذا انكشفت عبارة الاسترداد أو المفتاح الخاص، فتعامل مع الحساب كله على أنه مخترق.

إذا وقعت طلبًا مشبوهًا، فاحفظ الحمولة المفكوكة والتوقيع دون نشرهما، وافصل الموقع وحدد مخطط التوقيع. في حال approval أو معاملة على السلسلة، تحقق من الحالة على السلسلة الصحيحة واستخدم الإلغاء أو إبطال nonce أو نقل الأصول الموثق. لا توجد وسيلة عامة لإلغاء كل التوقيعات خارج السلسلة، وفصل الموقع لا يبطلها.

مفاهيم خاطئة شائعة

  • «كل توقيع ينقل الأموال». كثير من التوقيعات للمصادقة أو التعبير عن النية فقط؛ وبعضها يجيز إجراءً قد ينقل الأموال لاحقًا.
  • «لا gas يعني لا خطر». يستطيع المرحّل دفع gas وإرسال permit أو أمر أو تفويض آخر موقّع.
  • «يضمن EIP-712 الأمان». يحسن العرض المهيكل وفصل النطاق، لكنه لا يمنع الإعادة ولا يتحقق من ادعاءات التطبيق.
  • «العنوان المستعاد يثبت الموافقة الواعية». هو يربط بيانات دقيقة بمفتاح وفق قاعدة، ولا يثبت الهوية أو الفهم أو الإرادة الحرة.
  • «توقيعات محافظ العقود مثل الحسابات العادية». قد تعتمد صلاحية ERC-1271 على حالة العقد وسياسته الحالية؛ لذا يجب على المدقق استدعاء العقد.

مواضيع ذات صلة

المصادر

التنقل

ابحث في الويكي...