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

تسمية العقود الذكية

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

تؤدي تسمية العقود الذكية باستخدام خدمة أسماء إيثيريوم (ENS) (opens in a new tab) إلى تحسين تجربة المستخدم من خلال التخلص من عناوين العقود السداسية العشرية وتقليل المخاطر الناجمة عن الهجمات مثل تسميم العناوين وهجمات الانتحال. يشرح هذا الدليل أهمية تسمية العقود الذكية، وكيفية تنفيذها، والأدوات المتاحة مثل Enscribe (opens in a new tab) لتبسيط العملية ومساعدة المطورين على تبني هذه الممارسة.

لماذا يجب تسمية العقود الذكية؟

معرفات قابلة للقراءة من قبل البشر

بدلاً من التفاعل مع عناوين عقود مبهمة مثل 0x8f8e...f9e3، يمكن للمطورين والمستخدمين استخدام أسماء قابلة للقراءة من قبل البشر مثل v2.myapp.eth. هذا يبسط التفاعلات مع العقود الذكية.

أصبح هذا ممكنًا بفضل خدمة أسماء إيثيريوم (opens in a new tab) التي توفر خدمة تسمية لامركزية لعناوين إيثيريوم. هذا مشابه لكيفية تمكين نظام أسماء النطاقات (DNS) لمستخدمي الإنترنت من الوصول إلى عناوين الشبكة باستخدام اسم مثل ethereum.org بدلاً من عنوان IP مثل 104.18.176.152.

تحسين الأمان والثقة

تساعد العقود المسماة في تقليل المعاملات العرضية إلى العنوان الخاطئ. كما أنها تساعد المستخدمين في تحديد العقود المرتبطة بتطبيقات أو علامات تجارية معينة. يضيف هذا طبقة من الثقة المبنية على السمعة، خاصة عندما تكون الأسماء مرتبطة بنطاقات أصلية معروفة مثل uniswap.eth.

نظرًا لأن طول عنوان إيثيريوم يبلغ 42 حرفًا، فمن الصعب جدًا على المستخدمين تحديد التغييرات الصغيرة في العناوين، حيث يتم تعديل بضعة أحرف. على سبيل المثال، عادةً ما يتم اقتطاع عنوان مثل 0x58068646C148E313CB414E85d2Fe89dDc3426870 إلى 0x580...870 بواسطة التطبيقات التي تواجه المستخدم مثل المحافظ. من غير المرجح أن يلاحظ المستخدم عنوانًا ضارًا تم فيه تغيير بضعة أحرف.

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

تحمي أسماء ENS للمحافظ والعقود من هذه الأنواع من الهجمات. ومثل هجمات انتحال DNS، يمكن أيضًا إيواء هجمات انتحال ENS، ومع ذلك، فمن المرجح أن يلاحظ المستخدم خطأ إملائيًا في اسم ENS أكثر من ملاحظته لتعديل صغير في عنوان سداسي عشري.

تجربة مستخدم أفضل للمحافظ والمستكشفات

عندما يتم تكوين عقد ذكي باسم 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 (opens in a new tab) مع بعض الخطوات اليدوية، أو باستخدام Enscribe (opens in a new tab). تم توضيح هذه الأساليب أدناه.

إعداد ENS اليدوي

باستخدام تطبيق ENS (opens in a new tab)، يمكن للمطورين إنشاء أسماء فرعية يدويًا وتعيين سجلات العناوين الأمامية. ومع ذلك، لا يمكنهم تعيين اسم أساسي لعقد ذكي عن طريق تعيين السجل العكسي للاسم عبر تطبيق ENS. يجب اتخاذ خطوات يدوية والتي يتم تغطيتها في مستندات ENS (opens in a new tab).

Enscribe

يبسط Enscribe (opens in a new tab) تسمية العقود الذكية باستخدام ENS، ويعزز ثقة المستخدم في العقود الذكية. وهو يوفر:

  • النشر والتسمية الذرية: تعيين اسم ENS عند نشر عقد جديد
  • التسمية بعد النشر: إرفاق أسماء بالعقود المنشورة بالفعل
  • دعم السلاسل المتعددة: يعمل عبر شبكات إيثيريوم وطبقة 2 (L2) حيث يتم دعم ENS
  • بيانات التحقق من العقد: يتضمن بيانات التحقق من العقد المسحوبة من مصادر متعددة لزيادة الثقة للمستخدمين

يدعم Enscribe أسماء ENS المقدمة من قبل المستخدمين، أو نطاقاته الخاصة إذا لم يكن لدى المستخدم اسم ENS.

يمكنك الوصول إلى تطبيق Enscribe (opens in a new tab) للبدء في تسمية العقود الذكية وعرضها.

أفضل الممارسات

  • استخدم أسماء واضحة ومحددة الإصدار مثل v1.myapp.eth لجعل ترقيات العقد شفافة
  • قم بتعيين السجلات العكسية لربط العقود بأسماء ENS للرؤية في التطبيقات مثل المحافظ ومستكشفات سلسلة الكتل.
  • راقب تواريخ انتهاء الصلاحية عن كثب إذا كنت ترغب في منع التغييرات العرضية في الملكية
  • تحقق من مصدر العقد حتى يتمكن المستخدمون من الوثوق بأن العقد المسمى يتصرف كما هو متوقع

المخاطر

توفر تسمية العقود الذكية فوائد كبيرة لمستخدمي إيثيريوم، ومع ذلك، يجب أن يكون مالكو نطاقات ENS يقظين فيما يتعلق بإدارتها. تشمل المخاطر البارزة ما يلي:

  • انتهاء الصلاحية: تمامًا مثل أسماء DNS، تكون تسجيلات أسماء ENS ذات مدة محدودة. ومن ثم فمن الضروري أن يراقب المالكون تواريخ انتهاء صلاحية نطاقاتهم وتجديدها قبل وقت طويل من انتهائها. يوفر كل من تطبيق ENS و Enscribe مؤشرات مرئية لمالكي النطاقات عند اقتراب انتهاء الصلاحية.
  • تغيير الملكية: يتم تمثيل سجلات ENS كرموز غير قابلة للاستبدال (NFTs) على إيثيريوم، حيث يمتلك مالك نطاق .eth المحدد الرمز غير القابل للاستبدال المرتبط به. ومن ثم، إذا تولى حساب مختلف ملكية هذا الرمز، يمكن للمالك الجديد تعديل أي سجلات ENS كما يراه مناسبًا.

للتخفيف من هذه المخاطر، يجب تأمين حساب المالك لنطاقات المستوى الثاني (2LD) .eth عبر محفظة متعددة التوقيعات مع إنشاء نطاقات فرعية لإدارة تسمية العقود. بهذه الطريقة، في حالة حدوث أي تغييرات عرضية أو ضارة في الملكية على مستوى النطاق الفرعي، يمكن تجاوزها من قبل مالك 2LD.

مستقبل تسمية العقود

أصبحت تسمية العقود من أفضل الممارسات لتطوير التطبيقات اللامركزية (dapp)، على غرار الطريقة التي حلت بها أسماء النطاقات محل عناوين IP على الويب. مع قيام المزيد من البنية التحتية مثل المحافظ والمستكشفات ولوحات المعلومات بدمج تحليل ENS للعقود، ستعمل العقود المسماة على تحسين الأمان وتقليل الأخطاء عبر النظام البيئي.

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

قراءة إضافية