استاندارد ERC20 چیست؟ آشنایی با نحوه ساخت توکن ERC-20
حمید رضا عسگری | 2018.12.14

استاندارد ERC20 چیست؟ آشنایی با نحوه ساخت توکن ERC-20

یکی از شناخته‌شده‌ترین توکن‌های شبکه اتریوم توکن ERC-20 است که به عنوان یک استاندارد فنی مطرح شده است. این استاندارد برای تمام توکن‌های شبکه اتریوم استفاده می‌شود. برای پیاده‌سازی توکن‌ها و فراهم کردن فهرستی از قوانین که تمام توکن‌های مبتنی بر شبکه اتریوم باید برطبق آن عمل کنند، وجود یک استاندارد مشترک ضروری است و این مسئولیت در بلاک چین اتریوم برعهده استاندارد ERC20 است.

ERC-20 از جهاتی شبیه به بیت کوین، لایت کوین و دیگر رمز ارزهای موجود است. توکن‌های ERC-20 مبتنی بر شبکه بلاک چین هستند، دارای ارزش‌اند و می‌توانند مبادله شوند. تفاوت ERC-20 با دیگر رمز‌ارزها در اینجا است که رمز‌ ارزهای مذکور، شبکه بلاک چین مختص به خود را دارند و توکن‌های ERC20 مبتنی بر بلاک چین اتریوم است.

از اکتبر ۲۰۱۹ بیش از دویست هزار توکن ERC-20 در شبکه اتریوم وجود دارند. کد‌ها و دستورهای استاندارد ERC-20 در این روند اهمیت حیاتی دارند. این استاندارد دستورهایی را تعریف می‌کند که تمام توکن‌های موجود باید براساس آن عمل کنند. بعضی از این دستورها یا قوانین شامل چگونگی جابه‌جایی توکن‌ها (transferring) است؛ بعضی شامل چگونگی تایید مبادلات، چگونگی دسترسی کاربر به اطلاعات توکن موردنظر و اطلاع از کل ذخیره موجود توکن.

با این روش نیاز نیست تا ابداع‌کنندگان و توسعه‌دهندگان هر بار از نو شروع به طرح‌ریزی مبادلات کنند. مادامی که توکن از استاندارد مورد بحث پیروی می‌کند تمام مراحل طبق دستورات از پیش تعیین‌شده در شبکه اتریوم انجام می‌شود. این امر علاوه بر سهولت پیشروی یک طرح، امکان رقابت را نیز برای مجموعه توکن‌ها تضمین می‌کند؛ چراکه تمام توکن‌های مبتنی بر شبکه اتریوم از استاندارد یکسانی استفاده ‌می‌کنند.

پیشنهاد مطالعه: استاندارد توکن ERC-721 چیست و چگونه یک توکن ERC721 بسازیم؟

 

توکن ERC-20 چگونه ساخته می‌شود؟

برای اینکه یک توکن مبتنی بر استاندارد ERC-20 داشته باشید، داشتن شش پارامتر در قرارداد شما ضروری است. ذخیره کل (total supply)، بالانس یا باقیمانده حساب (balance of)، جابه‌جایی (transfer)، جابه‌جایی مداوم (transfer from)، تاییدیه انتقال (approve) و اجازه دسترسی (allowance). علاوه بر این شما می‌توانید از امکاناتی مثل تعیین نام و نشانه اختصاری نیز بهره‌مند شوید. در ادامه سعی می‌کنیم به‌طور خلاصه مفهوم هر یک از این عناصر شش‌گانه و کاربرد آن‌ها را توضیح دهیم.

ذخیره کل یا Tolal supply: هنگامی که کاربر از این دستور استفاده می‌کند میزان کل توکن‌های موجود در قرارداد هوشمند به شکل خودکار محاسبه و نمایش داده می‌شود.

باقیمانده حساب یا Balance of: در این قسمت کد دستوری یک آدرس را دریافت می‌کند و حجم توکن‌های موجود در آن را نمایش می‌دهد. این نکته را مدنظر داشته باشید که حساب‌های اتریوم پابلیک هستند و با داشتن آدرس حساب می‌توان به موجودی آن دسترسی داشت.

جابه‌جایی یا Transfer: این دستور توکن‌ها را از حساب یک فرد به فرد دیگر انتقال می‌دهد. شما با داشتن آدرس حساب و تعیین میزان مبادله می‌توانید انتقال توکن را انجام دهید.

جابه‌جایی مداوم یا Transfer From: این دستور هم در عمل همان جابه‌جایی توکن را انجام می‌دهد، با این تفاوت که برنامه‌ریزی‌پذیر است. به عنوان مثال فرض کنید که می‌خواهید به یک شخص یا یک قرارداد هوشمند دیگر به صورت هفتگی یا ماهانه توکن انتقال دهید. این دستور به شما کمک می‌کند که جابه‌جایی‌های منظم و مداوم خود را مدیریت کنید. استفاده از این دستور در پرداخت حق عضویت در بعضی از اپلیکیشن‌های غیرمتمرکز کاربرد دارد.

تاییدیه انتقال یا Approve: یکی دیگر از عملگر‌های مفید استاندارد ERC-20 است که به کاربر اجازه می‌دهد میزان توکن‌های خارج شده از حسابش توسط یک قرارداد هوشمند دیگر را محدود کند. بدون وجود این امکان شما متحمل ریسک بالایی می‌شوید و امکان دارد تمام سرمایه حساب‌تان مورد سرقت قرار گیرد.

اجازه دسترسی یا Allowance: این دستور در پیوند با دستور پیشین یعنی تاییدیه عمل می‌کند. با فعال کردن این امکان می‌توانید مطمئن شوید که هر میزان توکن اضافه‌ای که از حساب شما خارج شود بلافاصله توسط دستور Allowance به حساب‌تان برمی‌گردد.

این شش پارامتر ضروری هستند و داشتن آن جزو شرایط اولیه شکل‌گیری یک توکن مبتنی بر استاندارد ERC-20 است اما داشتن نام و نشانه اختصاری و… گزینه‌هایی انتخابی هستند که قطعا به شناخته‌شدن و زیبا‌تر بودن توکن شما کمک می‌کند.

مزایای توکن‌های مبتنی بر استاندارد ERC20

قابلیت تعویض: توکن‌های ERC-20 قابل تعویض‌اند؛ به این معنا که همانند پول نقد یا طلا، هر واحد از آن با واحد دیگر برابر است و می‌توان به راحتی آن را مبادله کرد. به عنوان مثال اگر مقداری از توکن‌های بایننس را داشته باشید هیچ تفاوتی نمی‌کند که توکن‌های متعلق به شما کدام توکن‌ها هستند و می‌توانید آن را برای دوست‌تان انتقال دهید. این قابلیت ایده‌آل است اگر هدف توکن شما تبدیل شدن به یکی از انواع ارز‌های مبادلاتی باشد. قابلیت تعویض جزو مشخصاتی است که ارزش یک توکن را ارتقا می‌دهد؛ چراکه این مشخصه فضا را برای تبدیل شدن آن به یک ارز دیجیتال معتبر فراهم می‌کند.

انعطاف‌پذیری: توکن‌های مبتنی بر استاندارد ERC-20 قابلیت انعطاف بالایی برای سازگاری با انواع اپلیکیشن‌ها دارند و به عبارتی با توجه به اهداف هر طرح، امکانات مناسب آن را در اختیار کاربر قرار می‌دهند. به طور مثال توکن‌های مبتنی بر ERC-20 می‌توانند به عنوان پول داخل بازی یا پاداش یک کار مثبت در شرکت‌ها یا حتی ارزش‌بخشی به یک اثر هنری به‌کار روند.

محبوبیت: پذیرش بالای استاندارد ERC20 در جامعه رمز ارز خود دلیل محکمی بر مرجعیت این استاندارد است. وجود بسیاری از مراکز مبادله رمز ارز، کیف پول‌های رمز ارزی و قراردادهای هوشمند فراوانی که مبتنی بر این استاندارد و تحت شبکه بلاک چین اتریوم فعال‌اند، خود نشان‌دهنده رضایت همه‌جانبه از این استاندارد است.

معایب توکن‌های مبتنی بر استاندارد ERC-20

توانایی در مقیاس بالا: مثل بسیاری دیگر از شبکه‌های رمز ارزی، اتریوم نیز توانایی نامحدود یا بسیار بالایی برای پردازش مبادلات را ندارد. اگر در زمان اوج ترافیک پردازش یک توکن با درخواست‌های بالایی از طرف کاربران مواجه شود، انجام درخواست‌ها با تاخیر و کارمزد بالا صورت می‌پذیرد که این امر می‌تواند کیفیت خدمات ارائه شده توسط یک توکن را به شکل جدی کاهش دهد.

سهولت ساخت یک توکن: شاید اگر وجه دیگر سادگی ساخت یک توکن مبتنی بر ERC-20 را درنظر بگیریم، متوجه نکته منفی آن شویم. این سادگی در ساخت یک توکن، نشان می‌دهد که هر شخصی با هر قصدی می‌تواند یک توکن برای خودش ثبت کند. به همین خاطر شما باید بسیار مراقب باشید که در کجا سرمایه‌گذاری می‌کنید. بسیاری از پروژه‌های کلاه‌برداری (ponzi) وجود دارند که طرح خود را تحت شبکه بلاک چین اجرا می‌کنند. بنابراین باید پیش از سرمایه‌گذاری در هر یک از توکن‌های مبتنی بر  ERC-20 تحقیقات خود را انجام داده و از اصالت پروژه مطمئن شوید.

علاوه بر این کوچکترین اشتباه در فرآیند کدینگ و طراحی پروتکل‌های اجرایی می‌تواند باعث ایجاد خسارت‌های بزرگ و جبران‌نا‌پذیر مالی شود. به عنوان نمونه Yam Finance، یک اپلیکیشن غیرمتمرکز تبادل رمز ارز در ۱۱ آگوست خبر از آغاز پروژه‌ای داد که پیش از آن مطرح نشده بود. یک روز پس از عملیاتی شدن پروژه ۴۰۰میلیون دلار مسدود شد! تنها در ساعت اول آغاز پروژه ۹۰میلیون دلار به این پروتکل واریز شده بود. در واقع این اپلیکیشن کنترل و نظارت بر اجرای تراکنش‌ها را به علت به‌وجود آمدن یک باگ در ۱۲ آگوست، از دست داده بود. با پیدا شدن این باگ، امکان هرگونه عملیات کنترل و نظارت را از بین برده بود و درنهایت سرمایه سرمایه‌گذاران مسدود شد. در پی این اتفاق تمام سرمایه‌گذاران خواستار خروج از Yam/yCRV شدند، اما همچنان مقداری رمز ارز به ارزش ۷۵۰ هزار دلار در صندوق صرافی مسدود است.

در ادامه قصد داریم که شما را با نحوه ساخت توکن ERC-20 و چگونگی کارکرد آن آشنا نماییم. پارامترها و توابع مورد استفاده برای تعریف توکن‌ها تشریح شده و نمونه کدها برای تعریف یک توکنِ پایه نیز ارائه می‌شود. لطفا برای نسخه کامل مقاله، PDF را مشاهده فرمایید. (با کلیک روی دکمه دانلود کاتالوگ در پایین صفحه می‌توانید نسخه کامل مقاله را دانلود نمایید.)

چنانچه PDF در این صفحه باز نشد لطفا صفحه را Refresh کنید.

 

 

منابع: ۱، ۲، ۳