ما هو معيار ERC-20؟ هو معيار الرموز الذي يدير اقتصاد إيثيريوم
أحتفظ بعملة USDT في محفظة MetaMask الخاصة بي. لديّ أيضًا بعض عملات LINK، وقليل من عملات UNI من عملية تبادل الأسبوع الماضي، ورمز مميز (Dog Tken) حصلت عليه مجانًا من شخص ما، ولكني أنسى بيعه باستمرار. هذه الرموز لها استخدامات مختلفة تمامًا. Tether عملة مستقرة مدعومة بالنقد والسندات الحكومية. Chainlink تدير شبكات أوراكل التي تغذي العقود الذكية ببيانات من العالم الحقيقي. Uniswap تدير أكبر منصة تداول لامركزية على إيثيريوم. أما الرمز المميز (Dog Tken) فلا فائدة منه. لكن محفظتي تعرضها جميعًا في قائمة واحدة، وتتيح لي إرسالها بنفس الزر، وكل بروتوكول تمويل لامركزي (DeFi) أستخدمه يقبلها دون أي إعدادات خاصة.
هذا ممكن فقط لأن جميعها الأربعة تتبع نفس القواعد. إنها رموز ERC-20. نفس الواجهة، نفس الوظائف، نفس آلية العمل. وفهم معنى ERC-20 هو الخطوة الأولى لفهم كيفية عمل إيثيريوم كنظام اقتصادي.
كتب فابيان فوغلستيلر الاقتراح في نوفمبر 2015، وأطلق عليه اسمًا عاديًا: طلب تعليق إيثيريوم رقم 20. شارك فيتاليك بوتيرين في كتابة النسخة النهائية. وبحلول عام 2017، تم اعتماده رسميًا، ثم انطلقت طفرة الاكتتابات الأولية للعملات الرقمية (ICO) بقوة هائلة. أطلقت آلاف المشاريع رموزًا بين عشية وضحاها لأن معيار ERC-20 جعلها شبه مجانية. وبعد نصف مليون عقد رمزي، لا يزال هذا المعيار هو السائد. هذا ما يفعله، وهذا هو سبب وجوب الاهتمام به حتى لو لم تكن تخطط لكتابة سطر واحد من لغة Solidity.
كيف يعمل معيار ERC-20
الاسم مُعقّد أكثر من اللازم. ERC تعني طلب تعليق على إيثيريوم. 20 هو رقم الاقتراح. هذا كل شيء. قال مطوّر يُدعى فابيان: "هذه هي القواعد التي يجب أن تتبعها كل عملة رقمية"، وأعطى اقتراحه الرقم 20 لأنه كان الخانة المتاحة التالية. ليس عشرين قاعدة، ولا عشرين عملة رقمية، بل مجرد الاقتراح رقم 20 في قائمة تحسينات إيثيريوم.
تنص هذه القواعد على أنه إذا كنت ترغب في إنشاء رمز قابل للاستبدال على إيثيريوم، فيجب أن يتضمن عقدك الذكي هذه الوظائف المحددة. "قابل للاستبدال" يعني أن كل وحدة رمز متطابقة. فمثلاً، كل رمز USDC هو نفسه كل رمز USDC آخر. لا يهمك أي رمز UNI محدد تمتلكه لأنها جميعًا قابلة للتبادل. أما الرموز غير القابلة للاستبدال (NFTs) فهي عكس ذلك تمامًا. كل رمز منها فريد، بمعيار مختلف، وبمواصفات مختلفة.
يحدد معيار ERC-20 ست وظائف وحدثين. كل عقد رمز متوافق، بدءًا من USDT بقيمته السوقية البالغة 140 مليار دولار وصولًا إلى عملة الميم التي أطلقها أحدهم قبل ثلاثين ثانية، ينفذ هذه الوظائف نفسها:
| وظيفة | نسخة باللغة الإنجليزية البسيطة |
|---|---|
| إجمالي العرض () | "كم عدد هذه الرموز الموجودة في العالم؟" |
| balanceOf(address) | "كم عدد القطع الموجودة في هذه المحفظة تحديداً؟" |
| تحويل (إلى، المبلغ) | "أرسل X من الرموز من محفظتي إلى هذا الشخص الآخر" |
| الموافقة (المنفق، المبلغ) | "دع بروتوكول التمويل اللامركزي هذا ينفق ما يصل إلى X من رموزي" |
| تحويل من (من، إلى، المبلغ) | "لدي إذن بنقل الرموز من المحفظة أ إلى المحفظة ب" |
| مخصص (مالك، مُنفق) | "كم من المبلغ المتبقي الذي يمكن لهذا الشخص المنفق استخدامه من المخصصات؟" |
يتم تسجيل حدثين على سلسلة الكتل عند حدوث أي شيء. يتم تفعيل حدث التحويل كلما تم نقل الرموز بين المحافظ. ويتم تفعيل حدث الموافقة عندما يمنح شخص ما إذنًا بالإنفاق. تستخدم مستكشفات سلسلة الكتل مثل Etherscan هذه الأحداث لبناء سجل المعاملات الذي تراه عند البحث عن رمز معين.
ثلاثة حقول اختيارية تضيف شخصية: الاسم يعطي الرمز تسمية قابلة للقراءة البشرية ("Chainlink")، والرمز هو المؤشر ("LINK")، والأرقام العشرية تحدد مدى دقة تقسيم الرمز (يستخدم الجميع تقريبًا 18 لمطابقة ETH، على الرغم من أن USDT يستخدم 6 وقد تسبب ذلك في المزيد من الأخطاء أكثر مما يريد أي شخص الاعتراف به).
ست وظائف. حدثان. ثلاثة حقول اختيارية. هذه هي المواصفات كاملةً حرفيًا. يمكنني طباعتها على منديل ورقي مع ترك مساحة لبقع القهوة. ومع ذلك، تدير هذه المواصفات الصغيرة اقتصادًا للرموز الرقمية بقيمة مئات المليارات من الدولارات. يقرأ MetaMask هذه الوظائف لعرض رصيدك. يستدعيها Uniswap لتنفيذ عمليات التبادل. يستخدمها Aave لإدارة الإقراض. كل بروتوكول تمويل لامركزي استخدمته من قبل يتواصل مع الرموز الرقمية عبر هذه الواجهة نفسها. البساطة هي جوهر الأمر.

لماذا غيّر معيار ERC-20 كل شيء في إيثيريوم؟
عملتُ في مجال العملات الرقمية عام ٢٠١٦، قبل وجود هذا المعيار. كانت فوضى عارمة. كل رمز كان مشروعًا مُخصصًا. كان أحدهم يُنشئ عقدًا خاصًا بالرمز بأسماء وظائفه الخاصة، ومنطق تحويله الخاص، وطريقته الخاصة في التحقق من الأرصدة. لم تكن منصة MetaMask على دراية بنصف هذه الرموز. كانت منصات التداول تستغرق شهورًا لإضافة دعم لرمز جديد لأن كل رمز يتطلب كود تكامل مُخصص. أما بناء منصة تداول لامركزية؟ فانسَ الأمر. ستحتاج إلى كتابة معالجات لكل تطبيق رمز على حدة.
أنهى معيار ERC-20 تلك الفوضى. فبعد اعتماده، ظهر رمز جديد في MetaMask فور لصق عنوان العقد. وأصبح بإمكان Uniswap إدراجه دون إذن. كما أصبح بإمكان Aave قبوله كضمان دون كتابة سطر واحد من التعليمات البرمجية المخصصة. معيار واحد، توافق عالمي.
كانت موجة الاكتتابات الأولية للعملات الرقمية عام ٢٠١٧ خير دليل. كان بإمكان أي شاب في سكن جامعي أن يُطلق رمز ERC-20 بعد الغداء، وينشئ موقعًا إلكترونيًا مع ورقة بيضاء، ويبدأ في قبول عملة الإيثيريوم من المستثمرين بحلول منتصف الليل. شاهدتُ ذلك يحدث أمام عيني. جمعت المشاريع مليارات الدولارات. بعضها كان مشروعًا حقيقيًا وقدّم منتجات فعلية. معظمها كان رديئًا. وقليل منها كان احتيالًا صريحًا. أما التكنولوجيا الكامنة وراء ذلك؟ فقد عملت بكفاءة تامة. حقق المعيار الغاية التي صُمم من أجلها: جعل إنشاء الرموز والتفاعل معها في غاية السهولة.
إن حجم السوق الآن هائل. يوجد أكثر من 500 ألف عقد من رموز ERC-20 على شبكة إيثيريوم. تصل القيمة السوقية الإجمالية لرموز ERC-20 إلى مئات المليارات. تجاوزت قيمة USDT وحدها 140 مليار دولار. أضف إليها USDC وLINK وUNI وDAI وSHIB وMKR وغيرها، وستجد أن غالبية القيمة الاقتصادية لإيثيريوم موجودة داخل عقود ERC-20.
| أفضل رموز ERC-20 | فئة | القيمة السوقية (تقريبًا) |
|---|---|---|
| USDT (تيثر) | عملة مستقرة | أكثر من 140 مليار دولار |
| عملة الدولار الأمريكي (دائرة) | عملة مستقرة | أكثر من 60 مليار دولار |
| LINK (سلسلة حلقية) | شبكة أوراكل | 8 مليارات دولار أمريكي |
| UNI (Uniswap) | حوكمة منصات التداول اللامركزية | أكثر من 4 مليارات دولار |
| داي (صانع) | عملة مستقرة لامركزية | أكثر من 5 مليارات دولار |
| اللغة الإنجليزية الأمريكية الأفريقية | بروتوكول الإقراض | ملياري دولار أمريكي |
| شيب (شيبا إينو) | ميمكوين | أكثر من 6 مليارات دولار |
| MKR (صانع) | الحوكمة | أكثر من 1.5 مليار دولار |
إنشاء رمز ERC-20: أسهل مما تظن
شاهدتُ ذات مرة شخصًا يُفعّل رمز ERC-20 مباشرةً على بث مباشر على يوتيوب. استغرق الأمر 14 دقيقة، بما في ذلك الوقت الذي قضاه في شرح ما كان يفعله للدردشة.
لا يتعلق الأمر هنا باستعراض ذكاء المُذيع، بل بتوضيح مدى سهولة استخدام OpenZeppelin. OpenZeppelin مكتبةٌ تضمّ أكواد Solidity مُدققة ومُختبرة، تتولى جميع العمليات المعقدة. ما عليك سوى اختيار اسم الرمز المميز ("MyToken")، ورمزه ("MTK")، وعدد المنازل العشرية (18، كما في ETH)، ومقدار العرض الأولي. تتولى المكتبة وظائف ERC-20 الست، والأحداث، والفحوصات الأمنية. انسخ القالب، وعدّل أربعة متغيرات، وانشره على Ethereum، وستحصل على رمز مميز حقيقي.
تتفاوت تكاليف الغاز اللازمة للنشر. في حالة الشبكة الهادئة، قد تتراوح التكلفة بين 20 و50 دولارًا. أما في أوقات الذروة، كما هو الحال في يوم سكّ رموز NFT، فقد تصل التكلفة إلى ما بين 200 و500 دولار. عند النشر على شبكة Arbitrum أو Base بدلًا من شبكة Ethereum الرئيسية، تنخفض التكلفة إلى بضعة دولارات. يصبح العائق المالي شبه معدوم.
هذا هو الجانب المظلم لهذه السهولة في الوصول. لا تتحقق سلسلة كتل إيثيريوم من شرعية عقود الرموز الرقمية. فهي لا تتحقق من فرق العمل، ولا تدقق في الشيفرة البرمجية، ولا تقيّم نماذج الأعمال. إذا كنت تستطيع دفع رسوم المعاملات، يمكنك نشر رمزك الرقمي. لهذا السبب، يُدرج موقع Etherscan مئات الآلاف من عقود الرموز الرقمية، ومعظمها إما تجارب مهجورة أو عمليات احتيال نشطة. يضمن معيار ERC-20 التوافق، لكنه لا يضمن شيئًا على الإطلاق بشأن جدوى الاحتفاظ بالرمز.
معيار ERC-20 مقابل معايير رموز إيثيريوم الأخرى
يسألني الناس: "هل معيار ERC-20 هو المعيار الوحيد للرموز؟" كلا، ليس كذلك على الإطلاق. لكنه كان أول معيار ناجح، والمعايير الأخرى التي تلته حلت المشاكل التي تركها معيار ERC-20 دون حل.
وصل معيار ERC-721 وقدّم لنا الرموز غير القابلة للاستبدال (NFTs). فبينما يمكن استبدال جميع رموز ERC-20 (عملة USDC الخاصة بك هي نفسها عملتي)، يحمل كل رمز ERC-721 معرّفًا فريدًا. يُعدّ Bored Ape #4293 أصلًا مختلفًا تمامًا عن Bored Ape #7810. تتشابه أسماء الوظائف في جوهرها، لكن المنطق يعمل على العناصر الفردية بدلًا من الكميات العامة. لا يمكنك إرسال نصف Bored Ape، إما أن ترسله كاملًا أو لا ترسله على الإطلاق.
نشأت تقنية ERC-1155 من مطوري الألعاب الذين سئموا من استخدام عقود منفصلة لكل نوع من العناصر. يتولى عقد واحد التعامل مع العملات الذهبية (قابلة للاستبدال، مثل ERC-20)، والسيوف الحديدية (شبه قابلة للاستبدال، 50 نسخة متطابقة)، وخوذة أسطورية فريدة (غير قابلة للاستبدال، نسخة واحدة فقط). توفر عمليات النقل المجمعة رسوم الغاز. إذ تنقل معاملة واحدة 100 عنصر مختلف بدلاً من 100 معاملة منفصلة.
يُطلق على إصدار Binance Smart Chain اسم BEP-20 . نفس الوظائف، نفس الأحداث، لكن بلوك تشين مختلف. إنه ببساطة نسخ ولصق ERC-20 على شبكة أقل تكلفة. يؤدي معيار SPL الخاص بـ Solana نفس المهمة ببنية مختلفة تمامًا، لأن Solana لم تُصمم لتكون متوافقة مع Ethereum.
| معيار | نوع الرمز المميز | قابل للاستبدال؟ | حالات الاستخدام | شبكة |
|---|---|---|---|---|
| ERC-20 | رمز قابل للاستبدال | نعم | العملات، والحوكمة، والمرافق | إيثيريوم |
| ERC-721 | رمز غير قابل للاستبدال | لا (معرفات فريدة) | الرموز غير القابلة للاستبدال، الفن الرقمي، المقتنيات | إيثيريوم |
| ERC-1155 | رموز متعددة | كلاهما | الألعاب، أنواع الأصول المختلطة | إيثيريوم |
| BEP-20 | رمز قابل للاستبدال | نعم | نفس معيار ERC-20 | سلسلة بي إن بي |
| مستوى ضغط الصوت | قابل للاستبدال + NFT | كلاهما | النظام البيئي سولانا | سولانا |
رموز ERC-20 في التمويل اللامركزي: لماذا يدعم هذا المعيار التمويل اللامركزي
إذا أُلغي معيار ERC-20، سينهار التمويل اللامركزي بين عشية وضحاها. ليس مجرد "صراعات"، بل انهيار تام. فكل جزء من النظام يفترض أن الرموز تتحدث لغة واحدة.
يُتيح لك Uniswap تبادل عملتين من نوع ERC-20 في مجمع سيولة. يعمل مع USDC، وSHIB، وحتى مع تلك العملة الرقمية التي أطلقها صديقك في الساعة الثانية صباحًا. لا يهمّ منصة التداول اللامركزية (DEX) وظيفة العملة الرقمية، بل يهمّها فقط أن يُنفّذ العقد وظيفتي transfer() وapprove(). أضف مجمع سيولة، وابدأ التداول فورًا. لا حاجة لطلب إدراج، ولا مراجعة من منصة تداول، ولا فترة انتظار.
تُقرض منصتا Aave وCompound رموز ERC-20. يستدعي البروتوكول الدالة balanceOf() لمعرفة رصيدك المودع، والدالة transfer() لنقل الرموز، ويستخدم الدالتين approve() وtransferFrom() عند سداد القروض. يمكن إنشاء سوق إقراض لرمز جديد تمامًا في يوم إطلاقه، نظرًا لأن واجهة البرنامج معروفة مسبقًا.
ثمّة مشكلة غريبة تتعلّق بالإيثيريوم (ETH). فقد وُجد الإيثيريوم قبل معيار ERC-20، لذا فهو لا يتبعه، مما يُخلّ بتوافقه مع المعايير الأخرى. والحلّ هو WETH. الإيثيريوم المُغلّف (Wrapped Ether) هو غلاف ERC-20 للإيثيريوم الأصلي. عند إيداع 1 إيثيريوم، تحصل على 1 WETH، وهو ما يُمكن لبروتوكولات التمويل اللامركزي (DeFi) التعامل معه بشكل طبيعي. يقوم WBTC بالشيء نفسه بالنسبة للبيتكوين، حيث يُدخل قيمة البيتكوين إلى نظام الإيثيريوم كرمز ERC-20 مدعوم بنسبة 1:1 ببيتكوين حقيقي مُودع في الحفظ.
النتيجة العملية: يُمكنني اليوم بناء بروتوكول تمويل لامركزي (DeFi) يعمل مع جميع رموز ERC-20 التي تم إنشاؤها على الإطلاق، بما في ذلك الرموز التي لم تُصدر بعد. لا يحتاج برنامجي إلى معرفة USDT تحديدًا، ولا يحتاج إلى تحديث عند إطلاق عملة مستقرة جديدة غدًا. تتولى الواجهة كل شيء. هذه المرونة هي السبب وراء امتلاك إيثيريوم لنشاط تمويل لامركزي أكبر، وقيمة إجمالية مقفلة (TVL) أعلى، وأدوات تطوير أكثر تنوعًا من أي سلسلة كتل أخرى. معيار ERC-20 هو الأساس الذي يقوم عليه كل شيء آخر.
المخاطر الأمنية والمشاكل الشائعة في معيار ERC-20
دعوني أخبركم عن ثغرة الموافقة التي كلفت مستخدمي التمويل اللامركزي ملايين الدولارات والتي لا يفهمها أحد تقريباً حتى تقع ضحيتها.
عند استبدال الرموز على منصة Uniswap أو إيداعها في Aave، يطلب منك التطبيق اللامركزي "الموافقة" على إنفاق رموزك. معظم التطبيقات اللامركزية تمنح موافقة غير محدودة افتراضيًا. قد يبدو الأمر غير ضار حتى تدرك معناه: يمكن لهذا العقد الذكي إنفاق كل رمز من هذا النوع في محفظتك، في أي وقت، وإلى الأبد، إلى أن تسحب الإذن صراحةً. إذا تم اختراق العقد بعد ستة أشهر، سيستخدم المهاجم موافقتك السابقة لسحب الرموز التي نسيت أنك منحتها حق الوصول إليها.
لقد حدث هذا، بل أكثر من مرة. الحل بسيط ولكنه مزعج: وافق فقط على المبلغ المطلوب لكل معاملة. أو استخدم Revoke.cash لحذف الموافقات القديمة التي نسيتها. أتحقق من موافقاتي كل بضعة أشهر، ودائمًا ما أجدها أسوأ مما أتوقع. معيار ERC-2612 هو معيار أحدث يستبدل الموافقات على سلسلة الكتل بتصاريح موقعة، مما يقلل من هذا الخطر. لكن معظم التطبيقات اللامركزية لا تزال تستخدم النمط القديم.
تُوقع العملات الرقمية المزيفة ضحاياها أسبوعيًا. يقوم المحتالون بنشر عقد ERC-20 باسم "Uniswap" أو "Chainlink" بعنوان مختلف قليلًا. تبحث عنه في منصات التداول اللامركزية، فتجد الاسم مألوفًا، فتشتري النسخة المزيفة. تذهب أموالك مباشرةً إلى محفظة المحتال. عنوان عقد LINK الحقيقي هو 0x514910771AF9Ca656af840dff83E8264EcF986CA. أما العنوان المزيف فقد يكون 0x514910... أو أي عنوان آخر. احرص دائمًا على نسخ العنوان من CoinGecko أو الموقع الرسمي للمشروع. لا تبحث أبدًا بالاسم فقط.
ثمّة رموزٌ تحمل حيلًا خفية. ظاهريًا، يبدو العقد كعقد ERC-20 قياسي. لكن في الخفاء، أضاف المُنشئ وظيفةً تُمكّنه من سكّ عددٍ غير محدود من الرموز الجديدة. أو ضريبة بيعٍ تستقطع 99% من رموزك عند محاولة استبدالها. أو قائمة سوداء تمنع أي شخصٍ من البيع باستثناء المُنشئ. لا يُحدّد معيار ERC-20 ما لا يُمكن للعقد فعله، بل يُحدّد فقط الحد الأدنى من الوظائف. أما الباقي، فهو متروكٌ للمُطوّر. وجود عمليات تدقيق الرموز، وDextScore، والعقود المُوثّقة على Etherscan، يعود إلى هذه الفجوة بين بساطة المعيار وإبداع المُحتالين.