محتويات
مقدمة
ما هو معيار ERC-20؟
تذكير موجز حول رموز Ethereum
كيف يتم إنشاء رموز ERC-20؟
ما الذي يمكن أن تفعله رموز ERC-20؟
العملات المستقرة
الممولين الرموز
رموز المنفعة
هل يمكنك تعدين رموز ERC-20؟
مزايا وعيوب رموز ERC-20
مزايا رموز ERC-20
عيوب رموز ERC-20
ERC-20، ERC-1155، ERC-223، ERC-721، ما هي الاختلافات؟
ليستنتج
مقدمة
تأسست شركة Ethereum على يد Vitalik Buterin في عام 2014، حيث وضعت نفسها كمنصة مفتوحة المصدر لإطلاق التطبيقات اللامركزية (DApps). يعتمد دافع بوتيرين لإنشاء blockchain جديد على افتقار Bitcoin إلى المرونة.
منذ إطلاقها، جذبت سلسلة كتل إيثريوم المطورين والشركات ورواد الأعمال، مما أدى إلى نشوء صناعة متنامية من المستخدمين الذين يطلقون العقود الذكية والتطبيقات الموزعة.
في هذه المقالة، سنلقي نظرة على معيار ERC-20، وهو إطار مهم لإنشاء الرموز. وعلى الرغم من أنه خاص بشبكة إيثريوم، فقد ألهم الإطار أيضًا معايير بلوكتشين أخرى، مثل معيار Binance Chain، BEP-2.
ما هي معايير ERC-20؟
على إيثريوم، تعني ERC اختصار Ethereum Request for Comments. وهي وثائق تقنية تحدد معايير البرمجة على إيثريوم. ولا ينبغي الخلط بينها وبين مقترحات تحسين إيثريوم (EIP)، التي، مثل BIP في بيتكوين، تقترح تحسينات على البروتوكول نفسه. وتهدف ERC بدلًا من ذلك إلى وضع أعراف تسهّل التفاعل بين التطبيقات والعقود.
تم تعريف ERC-20 بواسطة فيتاليك بوتيرين وفابيان فوغلستيلر في عام 2015، ويقترح تنسيقًا بسيطًا نسبيًا للرموز المبنية على إيثريوم. وباتباع مخططه، لا يحتاج المطورون إلى إعادة اختراع العجلة. وبدلًا من ذلك، يمكنهم البناء على أساس مستخدم بالفعل في القطاع.
بمجرد إنشاء الرموز الجديدة ERC-20، تصبح قابلة للتشغيل البيني تلقائيًا مع الخدمات والبرامج التي تدعم معيار ERC-20 (المحافظ البرمجية، المحافظ المادية، منصات التداول، إلخ).
يجدر التنبيه إلى أن معيار ERC-20 تم تطويره بواسطة EIP (وتحديدًا EIP-20). وقد حدث ذلك بعد سنوات قليلة من الاقتراح الأولي، بسبب استخدامه الواسع. ومع ذلك، حتى بعد مرور سنوات، ظل اسم «ERC-20» هو المستخدم.
تذكير سريع حول رموز إيثريوم
على عكس ETH (العملة المشفرة الأصلية لإيثريوم)، لا تُحتفظ رموز ERC-20 داخل الحسابات. فهذه الرموز لا توجد إلا داخل عقد، يشبه قاعدة بيانات مستقلة. وهو يحدد قواعد الرموز (الاسم، الرمز، قابلية التجزئة) ويحافظ على قائمة تربط أرصدة المستخدمين بعناوينهم على إيثريوم.
لنقل الرموز، يجب على المستخدمين إرسال معاملة إلى العقد يطلبون فيها تخصيص جزء من رصيدهم إلى مكان آخر. على سبيل المثال، إذا أرادت أليس إرسال 5 000 من BinanceAcademyTokens إلى بوب، فإنها تستدعي دالة داخل العقد الذكي BinanceAcademyToken لطلب تنفيذ ذلك.

ويكون استدعاؤها ضمن ما يبدو كأنه معاملة إيثريوم عادية تدفع 0 ETH إلى عقد الرمز. ويُدرج الاستدعاء في حقل إضافي من المعاملة، يحدد ما الذي تريد أليس فعله. وفي حالتنا، نقل الرموز إلى بوب.
حتى وإن كانت لا ترسل أي إيثير، فلا يزال عليها دفع رسوم حتى تُدرج معاملتها في كتلة. وإذا لم يكن لديها ETH، فعليها الحصول على بعض منه قبل نقل الرموز.
إليك مثالًا عمليًا على ما سبق على Etherscan: يقوم شخص ما باستدعاء عقد BUSD. يمكنك أن ترى أنه تم نقل رموز، وأنه تم دفع رسوم، حتى لو أظهر حقل القيمة أنه تم إرسال 0 ETH.
الآن بعد أن فهمنا الأساسيات، فلننظر تحت الغطاء لفهم بنية عقد ERC-20 نموذجي بشكل أفضل.
كيف تُنشأ رموز ERC-20؟

لكي يكون عقدك متوافقًا مع معيار ERC-20، يجب أن يتضمن ست دوال إلزامية: totalSupply، balanceOf، transfer، transferFrom، approve و allowance. بالإضافة إلى ذلك، يمكنك تحديد دوال اختيارية مثل name و symbol و decimal. قد توحي لك أسماء هذه الدوال بما تفعله. وإذا لم يكن الأمر كذلك، فلا تقلق، سنشرح ذلك أدناه.
فيما يلي الدوال كما تظهر في لغة Solidity المصممة خصيصًا لإيثريوم.
totalSupply
function totalSupply() public view returns (uint256)عندما يستدعيها المستخدم، تُرجع الدالة أعلاه إجمالي المعروض من الرموز الذي يحتفظ به العقد.
balanceOf
function balanceOf(address _owner) public view returns (uint256 balance)على عكس totalSupply، فإن balanceOf تأخذ وسيطًا (عنوانًا). وعند استدعائها، تُرجع رصيد الرموز التي يحتفظ بها ذلك العنوان. وتذكّر أن الحسابات على شبكة إيثريوم عامة، لذا يمكنك الاستعلام عن رصيد أي مستخدم ما دمت تعرف عنوانه.
transfer
function transfer(address _to, uint256 _value) public returns (bool success)تنقل transfer الرموز من مستخدم إلى آخر. هنا، تحدد العنوان الذي تريد إرسال المال إليه والمبلغ المراد نقله.
عند استدعائها، تُفعّل transfer ما يُسمى حدثًا (حدث النقل، في هذه الحالة)، والذي يخبر سلسلة الكتل أساسًا بإدراج مرجع إليه.
transferFrom
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)تعد الدالة transferFrom بديلًا عمليًا للدالة transfer، وتتيح قدرًا أكبر قليلًا من قابلية البرمجة في التطبيقات اللامركزية. ومثل transfer، تُستخدم لنقل الرموز، لكن هذه الرموز لا يلزم أن تكون مملوكة بالضرورة للشخص الذي يستدعي العقد.
بعبارة أخرى، يمكنك تفويض شخص ما، أو عقدًا آخر، لنقل الأموال نيابةً عنك. ومن حالات الاستخدام الممكنة الاشتراك في الخدمات الدورية، حيث لا ترغب في إرسال دفعة يدويًا كل يوم/أسبوع/شهر. بدلًا من ذلك، تترك برنامجًا يقوم بذلك عنك.
وتُفعّل هذه الدالة الحدث نفسه الذي تُفعّله transfer.
approve
function approve(address _spender, uint256 _value) public returns (bool success)approve هي دالة مفيدة أخرى من ناحية قابلية البرمجة. وبفضل هذه الدالة، يمكنك تحديد الحد الأقصى لعدد الرموز التي يمكن لعقد ذكي سحبها من رصيدك. وبدونها، قد يتعطل العقد (أو يصبح خبيثًا)، وقد يؤدي ذلك إلى خسارة جميع أموالك.
لنعد إلى مثال الاشتراك الخاص بنا. افترض أن لديك كمية كبيرة من BinanceAcademyTokens وتريد إعداد دفعات أسبوعية متكررة لتطبيق لامركزي للبث. أنت مشغول بقراءة محتوى Binance Academy ليلًا ونهارًا، لذا لا ترغب في تخصيص وقت كل أسبوع لإنشاء معاملة يدويًا.
لديك رصيد ضخم من BinanceAcademyTokens، يفوق بكثير ما هو مطلوب لدفع الاشتراك. ولمنع التطبيق اللامركزي من سحبها كلها، يمكنك وضع حد باستخدام approve. لنفترض أن اشتراكك يكلف BinanceAcademyToken واحدًا في الأسبوع. وإذا حدّدت القيمة المعتمدة بعشرين رمزًا، فيمكنك حينها دفع الاشتراك تلقائيًا لمدة خمسة أشهر.
وفي أسوأ الأحوال، إذا حاول التطبيق اللامركزي سحب جميع أموالك أو إذا تم اكتشاف خطأ، فلن تخسر سوى عشرين رمزًا. قد لا يكون هذا هو الحل المثالي، لكنه بالتأكيد أفضل من خسارة جميع أموالك.
عند استدعائها، تُفعّل approve الحدث approval. وكما هو الحال مع حدث transfer، فهي تكتب بيانات على سلسلة الكتل.
allowance
function allowance(address _owner, address _spender) public view returns (uint256 remaining)يمكن استخدام allowance بالاقتران مع approve. وعندما تكون قد منحت عقدًا إذنًا لإدارة رموزك، يمكنك استخدامها للتحقق من المبلغ الذي لا يزال بإمكانه سحبه. على سبيل المثال، إذا استهلك اشتراكك اثني عشر رمزًا من أصل عشرين رمزًا معتمدًا، فيجب أن يُرجع استدعاء الدالة allowance إجمالي ثمانية.
الدوال الاختيارية
الدوال التي عرضناها سابقًا إلزامية. لكن الدوال name و symbol و decimal لا يلزم تضمينها، إلا أنها قد تجعل عقد ERC-20 الخاص بك أجمل قليلًا. وبالتحديد، تتيح لك إضافة اسم مفهوم للبشر، وتحديد رمز (مثل ETH و BTC و BNB)، وتحديد عدد الخانات العشرية التي يمكن تجزئة الرموز إليها. على سبيل المثال، قد تكون الرموز المستخدمة كعملات أكثر قابلية للتجزئة من رمز يمثل ملكية أصل.
اطّلع على هذا المثال على GitHub لرؤية هذه العناصر في عقد حقيقي.
ماذا يمكن أن تفعل رموز ERC-20؟

ومن خلال جمع جميع الدوال المذكورة أعلاه، نحصل على عقد ERC-20. ويمكننا الاستعلام عن إجمالي المعروض، والتحقق من الأرصدة، ونقل الأموال، ومنح الأذونات لتطبيقات لامركزية أخرى لإدارة الرموز.
يكمن جزء كبير من جاذبية رموز ERC-20 في مرونتها. فالأعراف المحددة لا تقيد التطوير، لذلك يمكن للأطراف تنفيذ وظائف إضافية وتحديد معلمات خاصة لتلبية احتياجاتها.
العملات المستقرة
غالبًا ما تستخدم العملات المستقرة (الرموز المرتبطة بالعملات الورقية) معيار الرموز ERC-20. ومعاملة عقد BUSD التي ذكرناها سابقًا مثال على ذلك، كما أن معظم العملات المستقرة الرئيسية متاحة أيضًا بهذا الشكل.
في العملة المستقرة التقليدية المدعومة بالعملة الورقية، يحتفظ المُصدِر باحتياطيات من اليورو والدولار وما إلى ذلك. ثم، مقابل كل وحدة في الاحتياطي، يصدرون رمزًا. وهذا يعني أنه إذا تم تجميد 10 000 دولار في خزنة، فيمكن للمُصدِر إنشاء 10 000 رمز، كل منها قابل للاستبدال مقابل 1 دولار.
وهذا سهل التنفيذ إلى حدٍّ ما على إيثريوم من الناحية التقنية. فالمُصدِر يطلق ببساطة عقدًا مع 10 000 رمز. ثم يوزعها على المستخدمين واعدًا إياهم بأنهم سيتمكنون لاحقًا من استبدال الرموز بمبلغٍ مكافئ من العملة الورقية.
يمكن للمستخدمين فعل عدد من الأشياء برموزهم: يمكنهم شراء السلع والخدمات أو استخدامها في التطبيقات اللامركزية. كما يمكنهم أيضًا طلب استبدالها فورًا لدى المُصدِر. في هذه الحالة، يقوم المُصدِر بحرق الرموز المعادة (ما يجعلها غير قابلة للاستخدام) ويسحب المبلغ المقابل من العملة الورقية من احتياطياته.
العقد الذي يحكم هذا النظام، كما ذُكر سابقًا، بسيط نسبيًا. ومع ذلك، فإن إطلاق عملة مستقرة يتطلب الكثير من العمل على عوامل خارجية مثل اللوجستيات والامتثال التنظيمي، إلخ.
الرموز المالية
الرموز المالية تشبه العملات المستقرة. وعلى مستوى العقد، قد تكون الاثنتان متطابقتين لأنهما تعملان بالطريقة نفسها. ويحدث التمييز على مستوى المُصدِر. فالرموز المالية تمثل أوراقًا مالية، مثل الأسهم أو السندات أو الأصول المادية. وغالبًا ما تمثل، وإن لم يكن ذلك دائمًا، حصة حاملها في شركة أو أصل.
الرموز المنفعة
الرموز المنفعة ربما تكون من أكثر أنواع الرموز شيوعًا اليوم. وعلى عكس النوعين السابقين، فهي غير مدعومة بأصل آخر. وإذا كانت الرموز المدعومة بأصول تشبه أسهم شركة طيران، فإن الرموز المنفعة تشبه برامج الولاء: فهي تؤدي وظيفة ما، لكنها لا تملك قيمة خارجية. ويمكن للرموز المنفعة أن تلبي عددًا هائلًا من حالات الاستخدام، فتعمل كعملة داخل الألعاب، ووقود للتطبيقات اللامركزية، ونقاط ولاء، وغير ذلك الكثير.
➟ هل تريد الدخول إلى عالم العملات المشفرة؟ اشترِ بيتكوين على Binance!
هل يمكنك تعدين رموز ERC-20؟
يمكنك تعدين Ether (ETH)، لكن الرموز لا يمكن تعدينها، بل نقول إنها تُصدر عندما تُنشأ رموز جديدة. وعند إطلاق عقد، يوزع المطورون المعروض وفقًا لخططهم وخارطة الطريق الخاصة بهم.
ويتم ذلك عادةً عبر عرض أولي للعملة (ICO)، أو عرض أولي على منصة تداول (IEO)، أو عرض رموز مالية (STO). قد تصادف بعض الاختلافات لهذه الاختصارات، لكن هذه المفاهيم متشابهة إلى حد كبير. يرسل المستثمرون إيثير إلى عنوان العقد، وفي المقابل يتلقون رموزًا جديدة. وتُستخدم الأموال المجموعة لتمويل استمرار تطوير المشروع. ويتوقع المستخدمون أن يتمكنوا من استخدام رموزهم (فورًا أو في وقت لاحق) أو إعادة بيعها لتحقيق ربح مع نمو المشروع.
لا يلزم أن يكون توزيع الرموز آليًا. فالكثير من فعاليات التمويل الجماعي تتيح للمستخدمين الدفع بعملات رقمية مختلفة (مثل BNB و BTC و ETH و USDT). ثم تُسند الأرصدة المقابلة إلى العناوين التي يقدمها المستخدمون.
مزايا وعيوب رموز ERC-20
مزايا رموز ERC-20
قابلة للاستبدال
رموز ERC-20 قابلة للاستبدال، فكل وحدة يمكن مبادلتها بوحدة أخرى. إذا كنت تملك BinanceAcademyToken، فإن الرمز المحدد الذي تملكه لا يهم. يمكنك استبداله برمز يملكه شخص آخر، وسيظلان متطابقين، مثل النقود أو الذهب.
هذا مثالي إذا كان هدف رمزك أن يصبح نوعًا من العملات. فلن ترغب في وحدات فردية ذات سمات مميزة تجعلها غير قابلة للاستبدال. عندها قد تكون قيمة بعض الرموز أعلى أو أقل من غيرها، مما يضر بجدواها.
المرونة
كما رأينا في القسم السابق، فإن رموز ERC-20 قابلة للتخصيص بدرجة عالية ويمكن تكييفها مع العديد من التطبيقات المختلفة. على سبيل المثال، يمكن استخدامها كعملة داخل اللعبة، أو في برامج الولاء، أو كأشياء رقمية قابلة للجمع، أو حتى لتمثيل حقوق الملكية والأعمال الفنية.
شائعة
إن شعبية ERC-20 في قطاع العملات المشفرة سبب قوي جدًا لاستخدامه كنموذج. فهناك وفرة من منصات التداول والمحافظ والعقود الذكية المتوافقة بالفعل مع الرموز التي أُطلقت حديثًا. بالإضافة إلى ذلك، فإن دعم المطورين والوثائق متوفران بكثرة.
عيوب رموز ERC-20
قابلية التوسع
كما هو الحال مع العديد من شبكات العملات المشفرة، فإن إيثريوم ليست بمنأى عن مشكلات الازدحام المتزايدة. ففي شكلها الحالي، ليست قابلة للتوسع بدرجة كبيرة: فمحاولة إرسال معاملة في أوقات الذروة تؤدي إلى رسوم مرتفعة وتأخيرات. وإذا أطلقت رمز ERC-20 وكانت الشبكة مزدحمة، فقد يتأثر استخدامه.
وهذا ليس مشكلة حصرية لإيثريوم. بل هو بالأحرى مفاضلة ضرورية لجميع الأنظمة الآمنة والموزعة. وتخطط المجتمع لحل هذه المشكلات عند الانتقال إلى إيثريوم 2.0، التي ستنفذ ترقيات مثل Ethereum Plasma و Ethereum Casper.
لمعرفة المزيد عن مشكلات قابلية التوسع، راجع قابلية توسع سلسلة الكتل: السلاسل الجانبية وبوابات الدفع.
الاحتيالات
على الرغم من أن هذه ليست مشكلة في التكنولوجيا نفسها، فإن سهولة إطلاق رمز ما يمكن اعتبارها عيبًا من بعض النواحي. فالأمر لا يتطلب سوى جهد ضئيل جدًا لإنشاء رمز ERC-20 بسيط، ما يعني أن أي شخص يمكنه فعل ذلك، سواء بنية حسنة أو سيئة.
لذلك يجب أن تكون حذرًا فيما تستثمر فيه. فهناك عدد من المخططات الهرمية ومخططات بونزي متنكرة في صورة مشاريع بلوكتشين. قم بإجراء بحثك الخاص قبل الاستثمار حتى تكوّن رأيك بشأن مدى شرعية الفرصة.
ERC-20، ERC-1155، ERC-223، ERC-721، ما هي الفروق؟
كانت ERC-20 أول معيار رموز على إيثريوم (وحتى اليوم، الأكثر شعبية)، لكنها ليست الوحيدة إطلاقًا. وعلى مر السنين، ظهرت معايير كثيرة أخرى، إما بتقديم تحسينات على ERC-20 أو بمحاولة تحقيق أهداف مختلفة.
بعض المعايير الأقل شيوعًا هي تلك المستخدمة في الرموز غير القابلة للاستبدال (NFT). أحيانًا يكون من المفيد في حالة الاستخدام الخاصة بك أن تمتلك رموزًا فريدة ذات سمات مختلفة. وإذا أردت تمثيل عمل فني فريد، أو أصل داخل لعبة، إلخ، فقد يكون أحد هذه الأنواع من العقود أكثر فائدة.
استُخدم معيار ERC-721، على سبيل المثال، في التطبيق اللامركزي شديد الشهرة CryptoKitties. ويوفر هذا النوع من العقود واجهة برمجية تسمح للمستخدمين بإصدار رموزهم غير القابلة للاستبدال الخاصة بهم وترميز البيانات الوصفية (الصور، الأوصاف، إلخ).
يمكن اعتبار معيار ERC-1155 تحسينًا على معياري ERC-721 و ERC-20. فهو يقدم معيارًا يدعم الرموز القابلة للاستبدال وغير القابلة للاستبدال في العقد نفسه.
تهدف خيارات أخرى مثل ERC-223 أو ERC-621 إلى تحسين سهولة الاستخدام. فالأول يطبق تدابير حماية لمنع التحويلات غير المقصودة للرموز. أما الثاني فيضيف دوال إضافية لزيادة معروض الرموز وخفضه.
لمعرفة المزيد عن NFTs، راجع موقع دليل المقتنيات المشفرة والرموز غير القابلة للاستبدال (NFT).
ختامًا
لسنوات، هيمن معيار ERC-20 على مجال الأصول المشفرة، وليس من الصعب فهم السبب. فبسهولة نسبية، يمكن لأي شخص نشر عقد بسيط يناسب مجموعة واسعة من حالات الاستخدام (الرموز المنفعة، العملات المستقرة، إلخ). ومع ذلك، تفتقر ERC-20 إلى بعض الميزات التي تنفذها المعايير الأخرى. ولا يزال من غير الواضح ما إذا كانت أنواع العقود اللاحقة ستُعتمد.
