ما هو ERC-20
ملاحظة: هذا المستند هو ترجمة آلية للنسخة الإنجليزية الأصلية.
ما هو ERC-20
ERC-20 هو معيار الـ token الأوسع تبنّيًا على بلوكتشين Ethereum. وهو يحدّد واجهة مشتركة — مجموعة من الدوال والأحداث — يجب أن يطبّقها العقد الذكي لإنشاء token قابل للاستبدال (fungible). وتعني "القابلية للاستبدال" أن كل وحدة من الـ token متطابقة وقابلة للتبادل مع غيرها، تمامًا كما تكافئ أي ورقة دولار أي ورقة دولار أخرى.
وتعني ERC الاختصار Ethereum Request for Comments، والرقم 20 هو رقم المقترح. وقد اقتُرح المعيار عام 2015 وأصبح المخطط الأساسي الفعلي لإنشاء العملات على Ethereum وعلى السلاسل المتوافقة مع EVM. وعندما يقول مشروع إن token الخاص به "ERC-20"، فهذا يعني أن عقد الـ token يتّبع هذه الواجهة المعيارية، ما يضمن التوافق مع المحافظ والبورصات اللامركزية ومتتبّعات المحافظ وغيرها من العقود الذكية عبر منظومة Ethereum.
باختصار: ERC-20 معيار تقني يحدّد كيف تعمل العملات القابلة للاستبدال على Ethereum — بما يكفل إمكان إرسال أي token من نوع ERC-20 واستلامه وإدارته بواسطة أي محفظة أو تطبيق يدعم المعيار.
كيف يعمل ERC-20
الواجهة المعيارية
في جوهره، يحدّد ERC-20 مجموعة من الدوال التي يجب أن يطبّقها كل عقد token متوافق. وتوفّر هذه الدوال لغة مشتركة يمكن للتطبيقات الخارجية (المحافظ، البورصات، العقود الأخرى) استخدامها للتفاعل مع الـ token دون الحاجة إلى معرفة أي شيء عن منطقه الداخلي.
الدوال الرئيسية هي:
| الدالة | ما تفعله |
|---|---|
totalSupply() |
تعيد إجمالي عدد العملات الموجودة |
balanceOf(address) |
تعيد عدد العملات التي يحتفظ بها عنوان معيّن |
transfer(to, amount) |
ترسل العملات من عنوان المُستدعي إلى عنوان آخر |
approve(spender, amount) |
تأذن لعنوان آخر (عقد ذكي أو مستخدم) بإنفاق قدر محدد من عملات المُستدعي |
transferFrom(from, to, amount) |
تتيح لمنفِق مُوافَق عليه مسبقًا تحويل العملات نيابةً عن مالك الـ token |
allowance(owner, spender) |
تعيد عدد العملات التي لا يزال مسموحًا للمنفِق بتحويلها نيابةً عن المالك |
كما يحدّد المعيار حدثين — Transfer وApproval — يُطلَقان عند انتقال العملات أو عند تغيّر أذونات الإنفاق. وتتيح هذه الأحداث للأنظمة الخارجية (مستكشفات الكتل، المفهرسات، أدوات التحليلات) تتبّع نشاط الـ token دون الاستعلام عن العقد مباشرةً.
لماذا يهم وجود معيار
قبل أن يصبح ERC-20 واسع التبنّي، كان كل مشروع token يُنشئ واجهته المخصصة الخاصة. وكان هذا يعني أن على المحافظ والبورصات والتطبيقات الأخرى كتابة شفرة مخصصة لكل token جديد. وقد حلّ ERC-20 هذه المشكلة بإنشاء واجهة عقد عالمية: فأي تطبيق يدعم ERC-20 يدعم تلقائيًا كل token من نوع ERC-20، سواء أُنشئ بالأمس أم قبل سنوات.
وهذه القابلية للتركيب من أسس منظومة Ethereum. فلا تحتاج البورصة اللامركزية إلى معرفة ما يمثّله token معيّن أو من أنشأه — فما دام الـ token يطبّق واجهة ERC-20، يمكن للبورصة إدراجه وتداوله وتسوية المعاملات به.
نشر token من نوع ERC-20
يتضمن إنشاء token من نوع ERC-20 نشر عقد ذكي على شبكة Ethereum (أو سلسلة متوافقة مع EVM) يطبّق الدوال المطلوبة. ويحدّد الناشر اسم الـ token ورمزه ودقته العشرية ومعروضه الأولي. وبمجرد النشر، يصبح العقد غير قابل للتعديل — فلا يمكن تغيير الواجهة الأساسية للـ token، وإن كانت بعض التطبيقات تتضمن ميزات إضافية كالسكّ أو الحرق أو الإيقاف عبر آليات حوكمة.
والحاجز التقني المنخفض لنشر token من نوع ERC-20 قوة ومخاطرة في آن. فهو يمكّن الابتكار والتجريب السريع، لكنه يعني أيضًا أن بإمكان أي شخص إنشاء token بأي اسم وأي غرض مُعلَن. ووجود token من نوع ERC-20 لا يعني الجودة أو المشروعية أو القيمة.
ERC-20 والسلاسل المتوافقة مع EVM
رغم أن ERC-20 أُنشئ لأجل Ethereum، فإن المعيار يعمل على أي بلوكتشين متوافق مع EVM. فسلاسل مثل BNB Smart Chain وPolygon وArbitrum One وBase وAvalanche جميعها تدعم عملات ERC-20 أصلاً لأنها تطبّق آلة Ethereum الافتراضية. وعلى بعض هذه السلاسل، قد يكون للمعيار اسم رسمي مختلف (BEP-20 على BNB Smart Chain مثلًا)، لكن الواجهة متطابقة وظيفيًا.
وهذا يعني أن token مشروع قد يُوصَف بأنه "ERC-20" حتى لو كان منشورًا على سلسلة غير Ethereum. فالمعيار واجهة تقنية، لا تسمية خاصة بسلسلة بعينها. وما يهم هو ما إذا كان عقد الـ token يطبّق مجموعة دوال ERC-20، لا الشبكة التي يعمل عليها.
ERC-20 مقارنةً بأنواع token أخرى
| البُعد | ERC-20 | ERC-721 (NFT) | ERC-1155 (متعدد الـ token) | token أصلي (ETH، SOL) |
|---|---|---|---|---|
| القابلية للاستبدال | قابل للاستبدال (كل الوحدات متطابقة) | غير قابل للاستبدال (كل token فريد) | قابل وغير قابل للاستبدال معًا | قابل للاستبدال |
| يُنشر بصفته | عقد ذكي | عقد ذكي | عقد ذكي | مُدمَج في البروتوكول |
| الواجهة المعيارية | transfer، approve، balanceOf |
ownerOf، safeTransferFrom |
عمليات دفعية | لا واجهة عقد معيارية |
| حالة الاستخدام | العملات، utility tokens، governance tokens | الفن الرقمي، الأصول الفريدة، الهوية | عناصر الألعاب، المجموعات المختلطة | رسوم الغاز، الـ staking، العملة الأساسية |
عملات ERC-20 متمايزة عن العملات الأصلية مثل ETH. فبينما يكون ETH مُدمجًا مباشرةً في بروتوكول Ethereum ويوجد دون عقد ذكي، تُنشأ عملات ERC-20 بنشر عقد يتّبع المعيار. ويمكن الاحتفاظ بكليهما وتحويلهما، لكن لهما خصائص تقنية مختلفة وأدوارًا مختلفة في الشبكة.
قيود ERC-20 وامتداداته
رغم أن ERC-20 هو معيار الـ token الأوسع استخدامًا، فإن له قيودًا معروفة أدّت إلى امتدادات وتحسينات:
- لا إشعار عند الاستلام. عندما تُرسَل العملات إلى عقد ذكي، لا يملك العقد المستلِم طريقة تلقائية للتفاعل. وقد أدّى هذا إلى قفل عملات نهائيًا في عقود لا تتعامل مع تحويلات ERC-20. وقد اقتُرح معيارا ERC-223 وERC-777 لمعالجة هذا، وإن ظل ERC-20 مهيمنًا.
- نمط الموافقة بخطوتين. يتطلب تحويل العملات نيابةً عن عنوان آخر معاملتين: أولًا
approve، ثمtransferFrom. وهذا يضيف احتكاكًا وكلفة غاز. ويتيح امتداد ERC-2612 (Permit) موافقات بلا غاز عبر تواقيع خارج السلسلة. - لا بيانات وصفية مُدمجة. لعملات ERC-20 اسم ورمز لكن لا توجد طريقة معيارية لتضمين بيانات وصفية إضافية (وصف، أيقونة، رابط توثيق). وتسدّ الامتدادات والسجلات خارج السلسلة هذه الفجوة.
ولا تنتقص هذه القيود من المنفعة العملية لـ ERC-20. فبساطة المعيار ودعمه العالمي يرجحان على عيوبه التقنية في الغالبية العظمى من حالات الاستخدام.
لماذا يهم ERC-20 لمشاريع الذكاء الاصطناعي المعتمدة على الكريبتو
تستخدم معظم مشاريع الذكاء الاصطناعي المعتمدة على الكريبتو التي تُصدِر token على Ethereum أو على سلسلة متوافقة مع EVM معيار ERC-20. وقد يعمل الـ token كـ utility token (دفع ثمن الحوسبة، الوصول إلى خدمات الذكاء الاصطناعي)، أو governance token (التصويت على معلمات البروتوكول)، أو آلية رسوم (دفع ثمن استخدام الشبكة). وبصرف النظر عن دوره المقصود، يضمن استخدام ERC-20 توافق الـ token مع المنظومة الأوسع: إذ يمكن للمستخدمين الاحتفاظ به في محافظ قياسية، وتداوله في البورصات اللامركزية، والتفاعل معه عبر واجهات معروفة.
وبالنسبة للقارئ الذي يقيّم مشروع ذكاء اصطناعي معتمدًا على الكريبتو، فإن معرفة أن token من نوع ERC-20 تخبره عن صيغته التقنية — لا عن منفعته أو ضرورته أو قيمته. فمعيار الـ token يجيب عن "كيف يعمل الـ token تقنيًا؟" لكنه لا يجيب عن "لماذا يحتاج المشروع إلى token؟" أو "هل يخدم الـ token غرضًا فعليًا في مسار الذكاء الاصطناعي؟".
أين يظهر في بطاقات مشاريع DecAIHub
في بطاقة مشروع DecAIHub، يظهر ERC-20 في حقل Token standard. وعندما تُظهر بطاقة Token standard: ERC-20، فهذا يعني أن token المشروع مُطبَّق كعقد ذكي من نوع ERC-20.
وحقل معيار الـ token وصفي بحت: فهو يخبر القارئ بالصيغة التقنية للـ token. وينبغي قراءته إلى جانب حقل Token model (الذي يصف دور الـ token: utility، governance، آلية رسوم) وحقل Main chain (الذي يخبر القارئ بالشبكة التي نُشر عليها الـ token).
وقد يكون لمشروع عملات على سلاسل متعددة — مثلًا token من نوع ERC-20 على Ethereum ونسخة مجسورة على L2 مثل Arbitrum. وعادةً ما يعكس حقل معيار الـ token النشر الأساسي.
ما الذي لا يثبته ERC-20 وحده
- ERC-20 لا يثبت منفعة الـ token. فأي عقد ذكي يمكنه تطبيق واجهة ERC-20. والمعيار يحدّد السلوك التقني للـ token، لا دوره الاقتصادي أو ضرورته. ويمكن أن يكون لمشروع token من نوع ERC-20 لا يخدم أي غرض في مسار الذكاء الاصطناعي أو التطبيق.
- ERC-20 لا يثبت المشروعية. فإنشاء token من نوع ERC-20 ونشره يتطلبان جهدًا وكلفة تقنية ضئيلين. ووجود الـ token ليس دليلًا على أن المشروع من ورائه حقيقي أو عامل أو جدير بالثقة.
- ERC-20 لا يثبت أن المشروع على Ethereum. فعملات ERC-20 موجودة على سلاسل كثيرة متوافقة مع EVM. ولا يدل معيار الـ token على السلسلة التي نُشر عليها — راجع حقل Main chain لتلك المعلومة.
- ERC-20 لا يثبت قدرة ذكاء اصطناعي. فلا صلة بين المعيار التقني للـ token وبين وجود مكوّن ذكاء اصطناعي حقيقي أو استدلال عامل أو نماذج قابلة للتحقق.
- ERC-20 لا يثبت اللامركزية. فقد يتضمن عقد الـ token نفسه ضوابط مركزية: مفاتيح إدارية للسكّ أو الحرق، أو دوال إيقاف، أو وكلاء ترقية يتحكم بهم عنوان واحد. والمعيار يحدّد الواجهة، لا نموذج الحوكمة.
لا تخلط بين
- معيار الـ token — المفهوم الجامع. فـ ERC-20 معيار token محدد واحد. وغيره يشمل ERC-721 (NFTs)، وERC-1155 (متعدد الـ token)، وBEP-20 (BNB Smart Chain)، وSPL (Solana)، والعملات الأصلية.
- الـ token الأصلي — ETH هو الـ token الأصلي لـ Ethereum، مُدمج في البروتوكول نفسه. أما عملات ERC-20 فتُنشأ بنشر عقود ذكية فوق البروتوكول. وهما يتعايشان لكنهما مختلفان تقنيًا.
- نموذج الـ token — يصف نموذج الـ token دور الـ token (utility، governance، آلية رسوم). أما معيار الـ token فيصف الصيغة التقنية. ويمكن أن يكون token من نوع ERC-20 (معيار) وutility token (نموذج) في آنٍ واحد.
- BEP-20 — معيار الـ token على BNB Smart Chain. وBEP-20 مطابق وظيفيًا لـ ERC-20 لكنه التسمية المتّبعة على سلسلة مختلفة.
- ERC-721 — معيار العملات غير القابلة للاستبدال (NFTs) على Ethereum. فعملات ERC-721 فريدة؛ وعملات ERC-20 قابلة للتبادل.
الأسئلة المتكررة
ماذا تعني "القابلية للاستبدال" في سياق ERC-20؟
تعني القابلية للاستبدال أن كل وحدة من الـ token متطابقة في القيمة والوظيفة مع كل وحدة أخرى. فإذا كنت تحتفظ بـ 100 وحدة من token من نوع ERC-20، فأي وحدة منها قابلة للتبادل مع أي وحدة أخرى من الـ token نفسه. وهذا المبدأ نفسه الذي يجعل ورقة دولار مكافئة لأي ورقة دولار أخرى. وفي المقابل، تكون العملات غير القابلة للاستبدال (ERC-721) فريدة كلٌّ منها — فلا يكون NFT واحد قابلًا للتبادل مع آخر.
هل يمكن إنشاء token من نوع ERC-20 على سلاسل غير Ethereum؟
نعم. أي بلوكتشين يطبّق آلة Ethereum الافتراضية (EVM) يدعم عملات ERC-20. ويشمل ذلك سلاسل مثل Polygon وArbitrum One وBase وBNB Smart Chain وAvalanche وغيرها كثير. وعلى BNB Smart Chain، يُسمى المعيار المكافئ BEP-20، لكنه يطبّق الواجهة نفسها. والـ token الذي يتّبع مجموعة دوال ERC-20 يعمل مع أي محفظة أو بورصة أو عقد ذكي متوافق مع EVM بصرف النظر عن السلسلة المحددة.
ما الفرق بين ERC-20 وtoken أصلي مثل ETH؟
ETH هو الـ token الأصلي لـ Ethereum — مُدمج في البروتوكول نفسه ويوجد دون عقد ذكي. ويُستخدم ETH لدفع رسوم الغاز وللمشاركة في الـ staking. أما عملات ERC-20، بالمقابل، فتُنشأ بنشر عقود ذكية فوق Ethereum. وهي تتطلب ETH لدفع رسوم الغاز للتحويلات والتفاعلات. ويمكن الاحتفاظ بنوعَي العملات في المحفظة نفسها، لكن تطبيقهما التقني مختلف جوهريًا.
هل يتطلب نشر token من نوع ERC-20 خبرة تقنية كبيرة؟
يتطلب نشر token أساسي من نوع ERC-20 معرفة متوسطة بتطوير العقود الذكية. وتوفّر مكتبات قياسية (مثل OpenZeppelin) تطبيقات ERC-20 مُراجَعة وجاهزة للاستخدام يمكن نشرها بأقل تخصيص. والحاجز المنخفض للنشر ميزة (إذ يمكّن التجريب والابتكار السريع) ومخاطرة (إذ يمكّن أي شخص من إنشاء token لأي غرض). ووجود token منشور ليس بذاته دليلًا على القدرة التقنية.
مراجع خارجية
- EIP-20: Token Standard — Ethereum Improvement Proposals — المواصفة الرسمية الأصلية لمعيار ERC-20، تحدّد الدوال والأحداث المطلوبة.
- OpenZeppelin — ERC-20 Documentation — تطبيق واسع الاستخدام لمعيار ERC-20 مع شروح وأفضل ممارسات للمطوّرين.
- Ethereum.org — ERC-20 Token Standard — التوثيق الرسمي لـ Ethereum الذي يشرح عملات ERC-20 للمطوّرين والقرّاء.
No comments to display
No comments to display