ما ERC-777؟
ERC-777 معيار توكنات Ethereum للأصول المشفرة القابلة للاستبدال، ويضيف خطافات للتحويل، وصلاحيات للمشغّلين، وبيانات للمعاملات، وعمليات تحقق أكثر أمانًا من العقود المستقبِلة إلى نموذج التوكن الأساسي.ومثل ERC-20، يمثّل وحدات قابلة للاستبدال، بحيث تكون قيمة وحدة التوكن وخصائصها مماثلة لقيمة وخصائص أي وحدة أخرى من التوكن نفسه.تحدد مواصفات ERC-777 الرسمية معيارًا نهائيًا ضمن طلبات Ethereum للتعليقات، أُنشئ لتحسين تفاعل التوكنات القابلة للاستبدال مع المحافظ والعقود الذكية.
تشمل ميزاته الرئيسية الدالة
هل ما زال ERC-777 معيارًا نشطًا؟
ما زال ERC-777 مدرجًا كمعيار نهائي في مستودع مقترحات تحسين Ethereum الرسمي.تعني الحالة النهائية أن المواصفات أكملت عملية توحيد EIP، لكنها لا تضمن انتشار اعتمادها، أو استمرار دعم المكتبات لها، أو ملاءمتها لكل توكن جديد.أوقفت مكتبة رئيسية للعقود الذكية إتاحة تنفيذ ERC-777 في الإصدار 4.9، وأزالت التنفيذ في الإصدار 5.0.يسجل سجل تغييرات OpenZeppelin Contracts الحالي انتهاء دعم التنفيذ، فيما تظل واجهات المعيار المرتبطة به متاحة.
لم يُلغِ قرار المكتبة معيار ERC-777 ولم يغيّر حالته النهائية.لكنه يعني أن على المطورين ألا يتوقعوا وجود تنفيذ مُصان لتوكن ERC-777 في الإصدارات الحالية من تلك المكتبة.يمكن أن تواصل عقود ERC-777 القائمة العمل وفقًا للتعليمات البرمجية المنشورة فيها، لكن ينبغي لعمليات التكامل الجديدة تقييم سلوك الاستدعاءات الراجعة والاعتماديات والتدقيقات ودعم المنظومة بعناية.لماذا أُنشئ ERC-777؟
أُنشئ ERC-777 لمعالجة عدد من قيود سهولة الاستخدام والسلامة المرتبطة بتحويلات ERC-20 الأساسية.لا يتطلب تحويل ERC-20 إلى عقد أن يقرّ العقد المستلم باستلام التوكنات أو يعالجها.قد يؤدي ذلك إلى احتجاز التوكنات عندما لا تتضمن وظيفة العقد وسيلة لاستعادتها أو تسجيلها محاسبيًا.تستخدم تطبيقات ERC-20 أيضًا عادةً سير عمل من خطوتين، يوافق فيه المستخدم أولًا على المنفق، ثم يستدعي المنفق
قدم ERC-777 الدالة
كيف يعمل ERC-777
يخزّن عقد ERC-777 أرصدة التوكنات وإجمالي المعروض، ويتيح دوال معيارية للإرسال والحرق وتفويض التحكم بالتوكنات.عند إرسال التوكنات، يتحقق العقد مما إذا كان المرسل قد سجّل خطافًا للمرسل عبر ERC-1820.إذا كان خطاف المرسل موجودًا، يستدعيه التوكن قبل تغيير الأرصدة.بعد ذلك، يخفض التوكن رصيد المرسل ويزيد رصيد المستلم.وبعد تحديث الأرصدة، يتحقق من تسجيل المستلم لخطاف خاص به، ويستدعيه عند اللزوم.يمكن للخطاف قبول الحركة أو تنفيذ منطق إضافي أو إلغاء المعاملة بالكامل.وبما أن العملية ذرية، فإن الإلغاء في خطاف مطلوب يؤدي عادةً إلى إلغاء حركة التوكن وكل تغييرات الحالة المرتبطة بها في تلك المعاملة.الدوال الأساسية في ERC-777
تتضمن واجهة ERC-777 دوالًا للبيانات الوصفية والأرصدة والحد الأدنى لوحدة التوكن والمشغّلين والتحويلات والحرق.توفر الدوال
تعرض الدالة
تعرض الدالة
تتحقق الدالة
تتيح الدالتان
تنقل الدالتان
دالة send
تتيح الدالة
دالة operatorSend
تتيح الدالة
يمكن إرفاق كل من
يتضمن حدث
ما مشغّل ERC-777؟
المشغّل عنوان مُصرح له بإرسال توكنات ERC-777 أو حرقها نيابةً عن حاملها.يُعد حامل التوكن مشغّلًا لرصيده الخاص دائمًا.يمكن للحامل تفويض حساب أو عقد ذكي آخر، ثم إلغاء ذلك التفويض لاحقًا.يمكن للمشغّلين دعم المدفوعات المؤتمتة، وإدارة الحسابات عبر العقود، والأنشطة المجدولة، وأنظمة الاسترداد، وغيرها من تدفقات العمل المفوضة للتوكنات.وعلى خلاف السماحية الرقمية في ERC-20، لا يقتصر تفويض المشغّل الاعتيادي على كمية محددة من التوكنات.قد تحسن هذه الصلاحية الأوسع سهولة الاستخدام، لكنها تزيد احتمال الخسارة إذا كان المشغّل خبيثًا أو تعرض للاختراق.ينبغي للمحفظة توضيح أن تفويض مشغّل قد يمنحه تحكمًا مستمرًا في رصيد الحامل.المشغّلون الافتراضيون
يمكن لتوكن ERC-777 تحديد مشغّلين افتراضيين يُصرح لهم مبدئيًا بالتصرف نيابةً عن كل حامل.يجب تحديد قائمة المشغّلين الافتراضيين عند إنشاء عقد التوكن، ولا يمكن توسيعها أو تقليصها لاحقًا بموجب المعيار.يجب أن يتمكن كل حامل من إلغاء تفويض مشغّل افتراضي عن توكناته الخاصة.ويجب أن يتمكن الحامل أيضًا من إعادة تفويض مشغّل افتراضي سبق أن ألغى تفويضه.يمكن للمشغّلين الافتراضيين دعم خدمات على مستوى النظام دون مطالبة كل حامل بإجراء معاملة تفويض أولية.لكنهم يشكلون أيضًا اعتبارًا مهمًا للثقة، لأن المشغّل الافتراضي يبدأ بصلاحيات واسعة على مستوى حاملي التوكن.ينبغي للمستخدمين مراجعة قائمة المشغّلين الافتراضيين وفهم الغرض من كل منهم قبل الاحتفاظ بكمية كبيرة من توكن ERC-777.خطافات المرسل
يُسمى خطاف المرسل في ERC-777
خطافات المستلم
يُسمى خطاف المستلم في ERC-777
ما ERC-1820؟
يعتمد ERC-777 على ERC-1820 لاكتشاف خطافات المرسل والمستلم والواجهات المدعومة.تحدد مواصفات ERC-1820 سجلًا عامًا يمكن فيه للعنوان الإعلان عن الواجهات التي يدعمها والعقد الذي يطبقها.
يمكن للسجل تمثيل واجهات الحسابات العادية والعقود الذكية على حد سواء.يمكن للحساب تسجيل نفسه بوصفه الجهة المنفذة أو تعيين عقد منفصل للتعامل مع واجهة نيابةً عنه.قبل استدعاء خطاف ERC-777، يستعلم التوكن من السجل عن تطبيق واجهة المرسل أو المستلم المعني.يضيف الاعتماد على السجل استعلامًا إلى عقد خارجي ضمن عمليات ERC-777.لكي يعمل التنفيذ المعياري على نحو صحيح، يجب أن تتضمن الشبكة المدعومة نشر سجل ERC-1820 المتوقع وسلوك التكامل المطلوب.أحداث ERC-777
يحدد ERC-777 أحداث
يسجل حدث
يسجل حدث
يسجل حدث
قد يصدر التوكن الذي يدعم ERC-20 أيضًا أحداث
دقة الوحدة وطريقة عرض الكسور العشرية
دقة الوحدة هي أصغر كمية داخلية من التوكن يسمح عقد ERC-777 بسكّها أو إرسالها أو حرقها.تُحدد القيمة عند إنشاء العقد ولا يمكن تغييرها بموجب المعيار.يجب أن يكون كل رصيد ومبلغ حركة من مضاعفات دقة التوكن.تستخدم معظم التوكنات دقة مقدارها واحد، ما يسمح بنقل كل وحدة داخلية كاملة.يحدد ERC-777 وحدة العرض بـ18 منزلة عشرية نسبةً إلى الوحدة الداخلية.إذا أتاح توكن ERC-777 أيضًا دالة ERC-20 الاختيارية
التوافق بين ERC-777 وERC-20
صُمم ERC-777 بحيث يستطيع التوكن تطبيق دوال ERC-20 إلى جانب واجهة ERC-777.يحدد معيار ERC-20 دوالًا مألوفة مثل
يجب إلغاء عملية
ERC-777 مقارنةً بسماحيات ERC-20
يمنح ERC-20 المنفق عادةً سماحية رقمية تحد من عدد التوكنات التي يمكنه تحويلها من المالك.أما ERC-777 فيمنح المشغّل صلاحية التصرف في رصيد الحامل حتى إلغاء ذلك التفويض.يوفر نموذج المشغّل دورًا مسمى أوضح، ويدعم إجراءات الإرسال والحرق المعيارية.قد يتيح نموذج السماحية حدًا أضيق للكمية، مع أن المستخدمين يوافقون أحيانًا على كميات أكبر بكثير من حاجتهم.قد يؤدي كلا النظامين إلى خسائر إذا فوض المستخدمون عقودًا خبيثة أو مخترقة.ينبغي للمحافظ توضيح ما إذا كان الإجراء ينشئ سماحية ثابتة أو غير محدودة أو صلاحية مشغّل في ERC-777.لا يؤدي إلغاء نوع واحد من الصلاحيات بالضرورة إلى إلغاء النوع الآخر إذا كان التوكن يدعم المعيارين.مخاطر إعادة الدخول في ERC-777
ينشأ أهم خطر لعمليات دمج ERC-777 من خطافاته.ينفذ خطاف المستلم تعليمات برمجية لعقد خارجي أثناء عملية تحويل التوكن.يمكن لهذه التعليمات البرمجية الخارجية استدعاء البروتوكول المرسل قبل اكتمال الدالة الأصلية فيه.يُسمى هذا السلوك إعادة الدخول.قد يحسب بروتوكول معرض للخطر رصيدًا، ثم يرسل توكنات ERC-777، ويتلقى استدعاءً راجعًا يسمح بتكرار إجراء اعتمادًا على محاسبة داخلية قديمة.قد تظهر المشكلة حتى عندما يستدعي البروتوكول دالة تشبه دوال ERC-20، لأن توكن ERC-777 المتوافق مع المعيارين قد يظل يستدعي الخطافات المسجلة.ينبغي للمطورين عدم افتراض خلو تحويل التوكنات القابلة للاستبدال من الاستدعاءات الراجعة لمجرد أن اسم الدالة يشبه دالة تحويل اعتيادية في ERC-20.تقليل مخاطر إعادة الدخول
ينبغي للبروتوكول تحديث محاسبته الأساسية قبل إجراء استدعاء خارجي للتوكن كلما سمح المنطق المقصود بهذا الترتيب.ينبغي استخدام مانع مناسب لإعادة الدخول حول نقاط الدخول الحساسة.يجب مراجعة الدوال المترابطة معًا، لأن منع إعادة الدخول إلى دالة واحدة قد يترك دالة أخرى معرضة للاستغلال.ينبغي التحقق من عقد التوكن بدلًا من قبول أصول عشوائية ذات سلوك استدعاءات راجعة غير معروف.ينبغي أن تشمل الاختبارات خطاف مرسل خبيثًا، وخطاف مستلم خبيثًا، وحركة توكنات متداخلة، واستدعاءً راجعًا ملغى، وإعادة دخول بين الدوال.ينبغي للمطورين أيضًا مراجعة مسارات السك والحرق، لأن خطافات ERC-777 لا تقتصر على الإرسال الاعتيادي.يمكن للتدقيق أن يقلل المخاطر، لكنه لا يضمن سلامة كل تفاعل مع الاستدعاءات الراجعة.حماية المستلم وحدودها
استهدفت عمليات التحقق من مستلم ERC-777 تقليل احتمال احتجاز التوكنات نهائيًا في عقود لا تستطيع معالجتها.يجب على العقد الذي يستقبل التوكنات عبر
مزايا ERC-777
يمكن لـ ERC-777 إخطار العقود عند استلامها توكنات قابلة للاستبدال.يمكنه الجمع بين التحويل ومعالجة المستلم في معاملة واحدة.يتيح للمرسلين والمستلمين رفض الحركات عبر خطافات قابلة للبرمجة.يدعم البيانات المرفقة التي يمكن للتطبيقات استخدامها لتفسير دفعة أو إجراء.يوفر نموذج المشغّلين فيه تحكمًا مفوضًا معياريًا وإمكانية واضحة لإلغاء التفويض.تحد عمليات الإرسال الأصلية في ERC-777 من التحويلات العرضية إلى العقود التي لا تسجل دعم استقبال التوكنات.قد يتيح التوافق مع الإصدارات السابقة لتوكن واحد العمل مع بنية ERC-20 التحتية، مع توفير سلوك أكثر تقدمًا للتطبيقات الداعمة لـ ERC-777.قيود ERC-777
تجعل الخطافات حركة التوكنات أصعب على العقود الذكية من حيث التحليل الآمن.يضيف استعلام ERC-1820 اعتمادًا خارجيًا وتعقيدًا إضافيًا للتكامل.قد تكون صلاحية المشغّل أوسع مما يتوقعه المستخدمون.تثير المشغّلات الافتراضية اعتبارات مهمة تتعلق بالثقة والصلاحيات.يؤدي التوافق المزدوج مع ERC-20 إلى اختلاف السلوك حسب واجهة التحويل المستخدمة.قد تحتسب التطبيقات التحويلات مرتين إذا عالجت أحداث ERC-777 وERC-20 على نحو غير صحيح.تركز كثير من أدوات التطوير والتطبيقات الحالية أساسًا على ERC-20، ما يقلل الفائدة العملية من تطبيق ERC-777.يزيد حذف تنفيذ ERC-777 المصان من مكتبة عقود مستخدمة على نطاق واسع من العمل اللازم لإنشاء عملية نشر جديدة وصيانتها بأمان.لماذا كان اعتماد ERC-777 محدودًا؟
كان ERC-20 قد حظي بدعم واسع في المحافظ والتطبيقات وأدوات التحليلات وأنظمة العقود الذكية عند تقديم ERC-777.وكان استبدال هذا التأثير الشبكي يتطلب فوائد كبيرة بما يكفي لتبرير منطق جديد للاستدعاءات الراجعة والسجل.بُنيت بروتوكولات كثيرة على سلوك متوقع لتحويلات ERC-20 وسماحياته.أدخلت خطافات ERC-777 استدعاءات خارجية غير متوقعة إلى عمليات افترضت بعض الجهات المدمجة أنها مجرد تحديثات بسيطة للأرصدة.يشير قسم الدوافع في ERC-2612 إلى أن ERC-777 أضاف وظائف كبيرة قد تؤدي إلى سلوك غير متوقع في العقود الشائعة.
اتجه المطورون أكثر إلى معالجة مشكلات سهولة الاستخدام الفردية عبر إضافات أضيق لـ ERC-20 بدلًا من اعتماد دورة تحويل مختلفة بالكامل.لذلك يظل ERC-777 مهمًا من الناحية التقنية، لكنه ليس الخيار الافتراضي للتوكنات القابلة للاستبدال في معظم مشاريع Ethereum الجديدة.هل ينبغي للمطورين إنشاء توكن جديد وفق ERC-777؟
ينبغي للمطور أولًا تحديد ميزة ERC-777 الضرورية للتوكن المقترح.إذا كان الهدف الأساسي هو الموافقات الموقعة، فقد توفر إضافة أضيق إلى ERC-20 هذه الميزة دون إدخال خطافات تحويل عامة.إذا كانت استدعاءات المستلم الراجعة ضرورية، فعلى المطور دراسة ما إذا كان عقد تطبيق مخصص يوفر سلوكًا أكثر أمانًا ووضوحًا.يتطلب تنفيذ ERC-777 جديد مراجعة دقيقة للمواصفات كاملةً، وتسجيل ERC-1820، والخطافات، والمشغّلين، والأحداث، والسك، والحرق، والتوافق مع ERC-20.لا يُعد إعادة استخدام تنفيذ قديم غير مصان دون مراجعة تغييرات المترجم والافتراضات الأمنية المعروفة أمرًا آمنًا.ينبغي إخضاع العقد لاختبارات وحدات مكثفة، واختبارات عشوائية، واختبارات الثوابت، واختبارات التكامل، ومراجعة أمنية مستقلة قبل أن يتحكم في أصول ذات قيمة.ينبغي للمطورين أيضًا التأكد من دعم المحافظ وأنظمة حفظ الأصول والجسور والتطبيقات اللامركزية المقصودة لسلوك الاستدعاءات الراجعة في التوكن.كيف يقيّم المستخدمون توكن ERC-777
تتمثل الخطوة الأولى في التحقق من عنوان عقد التوكن عبر مصدر موثوق.والخطوة الثانية هي التأكد مما إذا كان العقد يدعم ERC-777 فقط أو يتيح أيضًا دوال ERC-20.والخطوة الثالثة هي فحص المشغّلين الافتراضيين وتحديد الصلاحيات التي يمتلكونها.والخطوة الرابعة هي مراجعة صلاحيات السك والحرق والإيقاف والتجميد والترقية والإدارة.والخطوة الخامسة هي تحديد ما إذا كان العقد يستخدم وكيلًا يمكن تغيير منطقه بعد الشراء.والخطوة السادسة هي التحقق من التدقيقات، والتحقق من التعليمات البرمجية المصدرية، وتغطية الاختبارات، وسجل الحوادث.والخطوة السابعة هي مراجعة تفويضات المشغّلين وإلغاء الصلاحيات التي لم تعد مطلوبة.والخطوة الثامنة هي التحقق من أن التطبيق المستلم يدعم ERC-777 وخطافاته صراحةً.والخطوة التاسعة هي اختبار معاملة صغيرة قبل تحويل كمية كبيرة.والخطوة العاشرة هي تذكر أن الامتثال لواجهة توكن لا يثبت قيمته المالية أو ملاءته أو سلامة الاستثمار فيه.مثال على الدفع باستخدام ERC-777
لنفترض أن مستخدمًا يريد دفع رسوم اشتراك على السلسلة باستخدام توكن ERC-777.يسجل عقد الاشتراك تطبيقًا لـ
يستدعي المستخدم
ثم يستدعي خطاف
أخطاء شائعة في ERC-777
من الأخطاء الشائعة افتراض أن ERC-777 مجرد بديل أحدث لـ ERC-20.ومنها أيضًا التعامل مع تحويل التوكنات على أنه عملية لا تتضمن استدعاءات راجعة.والخطأ الثالث قبول استدعاءات
والخطأ السادس معالجة حدثي
الأسئلة الشائعة
ماذا يعني ERC-777؟
ERC-777 معيار نهائي لتوكنات Ethereum القابلة للاستبدال، ويحدد الخطافات والمشغّلين وحقول البيانات وإرسال التوكنات وحرقها.هل ERC-777 قابل للاستبدال أم غير قابل للاستبدال؟
ERC-777 معيار للتوكنات القابلة للاستبدال، حيث يمكن استبدال الوحدات التابعة للتوكن نفسه بعضها ببعض.هل ما زال ERC-777 ساريًا؟
نعم، ما زال المقترح الرسمي في الحالة النهائية، رغم محدودية اعتماده وإزالة مكتبة عقود رئيسية لتنفيذه.هل ERC-777 هو نفسه ERC-20؟
لا، يضيف ERC-777 الخطافات والمشغّلين والبيانات المرفقة والتحقق من المستلم، مع إمكانية دعم التوكن للمعيارين.ما الميزة الرئيسية في ERC-777؟
أشهر ميزاته هي القدرة على إخطار عقود المرسل والمستلم المسجلة أثناء حركة التوكنات.ما tokensReceived؟
ما tokensToSend؟
ما مشغّل ERC-777؟
المشغّل عنوان مُصرح له بإرسال التوكنات أو حرقها نيابةً عن حاملها.هل يستطيع مشغّل ERC-777 نقل جميع توكنات المستخدم؟
لا تقتصر صلاحية المشغّل الاعتيادية على سماحية رقمية، لذا قد يتمتع المشغّل المصرح له بتحكم واسع حتى يلغي الحامل تفويضه.ما المشغّل الافتراضي؟
المشغّل الافتراضي عنوان يُصرح له نيابةً عن كل حامل عند إنشاء التوكن، مع وجوب تمكين كل حامل من إلغاء تفويضه بنفسه.لماذا يستخدم ERC-777 معيار ERC-1820؟
يتيح ERC-1820 للتوكن اكتشاف العقود التي تطبق خطافات المرسل والمستلم وواجهات التوكن المدعومة.هل يمكن إرسال توكنات ERC-777 إلى عقد ذكي؟
نعم، لكن يجب إلغاء عملية الإرسال الأصلية في ERC-777 إذا لم يسجل العقد المستلم خطاف المستلم المطلوب.هل يمكن أن تعلق توكنات ERC-777 في عقد؟
تقلل عمليات التحقق من المستلم هذا الخطر في عمليات الإرسال الأصلية، لكن التحويلات المتوافقة مع ERC-20 ومنطق المستلم المعيب قد يؤديان إلى أرصدة يتعذر الوصول إليها.هل يتضمن ERC-777 منازل عشرية؟
يستخدم المعيار وحدة عرض من 18 منزلة عشرية، ويجب أن تعيد دالة
ما دقة الوحدة في ERC-777؟
دقة الوحدة هي أصغر كمية داخلية يمكن سكّها أو إرسالها أو حرقها.لماذا قد يؤدي ERC-777 إلى إعادة الدخول؟
تنفذ خطافاته تعليمات برمجية لعقود خارجية أثناء عمليات التوكن، ما يسمح لتطبيق المستلم أو المرسل باستدعاء دوال أخرى قبل اكتمال الاستدعاء الأصلي.هل كل توكنات ERC-777 غير آمنة؟
لا، لكن يجب أن تتعامل كل عملية تكامل عن قصد مع الاستدعاءات الراجعة وصلاحيات المشغّلين واستعلامات ERC-1820 ومنطق العقد الخاص بالتوكن.لماذا أزيل تنفيذ ERC-777 من OpenZeppelin Contracts؟
كان اعتماد التنفيذ محدودًا، كما صَعُب دعم سلوك الخطافات المعقد بأمان بوصفه مكوّنًا عامًا متعدد الاستخدامات.هل يمكن لتوكن ERC-777 قائم أن يواصل العمل؟
نعم، تواصل العقود المنشورة العمل وفق تعليماتها البرمجية ما لم تغيرها آلية الترقية أو الإدارة الخاصة بها.هل ينبغي استخدام ERC-777 لتوكن جديد؟
يعتمد القرار على ما إذا كانت الخطافات والمشغّلون يقدمون فوائد أساسية تبرر زيادة التعقيد الأمني وتعقيد التكامل والصيانة.الخاتمة
ERC-777 معيار نهائي لتوكنات Ethereum القابلة للاستبدال، صُمم لتحسين تفاعلات التوكنات عبر الخطافات والمشغّلين وبيانات المعاملات والتحقق من العقود المستقبِلة.يمكن لدالة
تتيح الخطافات
قد يعجبك أيضاً
WhatsMiner M30S++
نطاقات Web3
مشاريع Web3
رائج
العملات المشفرة الرائجة حاليًا والتي تحظى باهتمام كبير في السوق
الأعلى حجماً
العملات المشفرة ذات أعلى حجم تداول
مضاف حديثا
العملات المشفرة المدرجة مؤخرًا والمتاحة للتداول

