در حالی که سرمایه گذاران حوزه رمز ارزها در زمان خرید توکن های یک شرکت تازه تاسیس با اصطلاح ERC20 در زمینه اتریوم مواجه می شوند، برایشان جای سوال است که ERC20 چیست؟

ERC20 چیست؟
اگر شما هم در حوزه رمزارزها فعالیت میکنید حتماً بارها نام توکنهای ERC20 را شنیدهاید. استاندارد ERC20 مخصوص توکنهایی است که از بلاک چین اتریوم بهعنوان بستر ارزی خود استفاده میکنند. ۹۹% از توکنهای اتریوم دارای استاندارد ERC20 هستند. این استاندارد مخصوص توسعه دهندگانی است که هنوز بلاکچین خود را ایجاد نکردهاند و با ایجاد یک توکن ECR20 بر روی بلاکچین اتریوم قصد دارند تا با انجام یک ICO پروژههای خود را تامین مالی کنند.
در نگارش این مقاله فرض شده که خواننده پیش از این حداقل با مفاهیمی همچون بلاکچینهای اتریوم، اپلیکیشنهای غیرمتمرکز (dapp)، اتر(ether)، قراردادهای هوشمند و ICOها آشنا شده است.
برای اینکه سریع به سراغ اصل مطلب برویم باید گفت، اتریوم یک پلتفرم محاسباتی توزیع شده متنباز (open-source) است که مبتنی بر بلاکچین میباشد. این پلتفرم محاسباتی، یعنی همان شبکه اتریوم، میزبان نرم افزارهای غیرمتمرکز (dapps) است که با هزاران خط کد اجرا می شوند؛ نام این کدها قراردادهای هوشمند است، تمام معاملات در شبکه اتریوم با ارز رمزنگاری شده اتریوم یعنی همان اتر انجام میشوند، و نیز هزینههای محاسباتی اجرای قراردادهای هوشمند نیز با اتر پرداخت میشوند.
بعضی از این نرم افزارهای غیرمتمرکز نیاز به یک ارز درون نرم افزاری (in-dapp) اضافی دارند. نرم افزارهای غیرمتمرکز جدید، ارز منحصربهفرد خود را با نام توکن (token) معرفی میکنند و از طریق ارائه و فروش اولیه سکه (ICO) منابع مالی را ایجاد میکنند. پلتفرم بلاکچین اتریوم به روشی ساخته شده است که تمام انواع نرم افزارهای های غیرمتمرکز را از جمله آنهایی که نیاز به ایجاد، نگهداری و انتقال داراییهای دیجیتال دارند، در درون خود پرورش میدهند.
این توکنهای ویژه و درون-نرم افزاری اتریوم، برای ایجاد یک شبکه از نرم افزارهای غیرمتمرکز به کار گرفته میشوند که این شبکه خود در پرداختهای در بستر مرورگر و کارتهای اعتباری برای ارزهای رمزنگاری شده به کار میآید. تمامی ایدههایی که در اینجا ذکر شدند، به تحقق پیوستهاند و همان توکنهای دروننرم افزاری غیرمتمرکز اتریوم هستند که از یک استاندارد برنامهنویسی بسیار معمول استفاده میکنند. در واقع، ۹۹% از تمام توکنهای اتریوم که به کار بسته شدهاند از همین استاندارد یعنی استاندارد ERC20 پیروی میکنند.
استاندارد توکن ERC20 که حروف اول کلمات Ethereum Requests for Comment (درخواستهای اتریوم برای نظرخواهی) را تشکیل میدهد، یک مجموعه استاندارد از قوانین برنامه نویسی است که انتظار میرود کلیه توکنهای مبتنی بر اتریوم آن را دنبال کنند. توسعهدهندگان در مورد شش تابع و دو رویداد توافق کردند که به عنوان حداقل توکن قابل قبول برای عادیسازی رفتارهای مورد انتظار، در هنگام برقراری ارتباط در شبکه اتریوم در نظر گرفته میشوند. با ایجاد این پروتکل، توسعه دهندگان اتریوم به راحتی قادر میشوند تا با قراردادهای هوشمند خارجی کار کنند.
همچنین بخوانید: هرجه باید از اتریوم دانست
کوینهای مستقل با توکنهای ERC20 چه تفاوتی با هم دارند؟
توکنها در بستر بلاکچین اتریوم، داراییهایی هستند که دارای ارزشند. آنها همانند بیتکوین، لایتکوین و اتریوم ارسال و دریافت میشوند.
تفاوت این توکنها با رمزارزهایی مانند بیتکوین که بلاچین جداگانه دارند، در این است که این توکنها از آدرسهای اتریوم جهت نقل و انتقال استفاده میکنند و تراکنشهای خود را روی بلاکچین اتریوم میفرستند؛ درحالی که کوینی مثل بیتکوین، بلاکچین مخصوص خودش را دارد و تراکنشهای آن روی بلاکچین بیتکوین ثبت و ضبط میشوند.
همچنین بخوانید: در بلاک چین بیت کوین، ساختار بلاک چیست؟
اما مسائلی وجود دارد که استاندارد ERC20 به آنها نپرداخته است. در این استاندارد گیرنده از دریافت توکن مطلع نمیشود و این امر میتواند منجر به از دست رفتن سرمایه کاربر شود. برای مثال اگر شما توکنهای خود را به آدرس قرارداد هوشمند یک توکن ERC20 دیگر ارسال کنید، توکنهای شما برای همیشه در آن آدرس گیر میافتد؛ درحالیکه چنین تراکنشهایی اصولاً نباید انجام بپذیرد و میبایست برگشت بخورند. تا آخر سال ۲۰۱۷ حدوداً ۳ میلیون دلار به این دلیل از دست رفته است.
برای حل این مشکل توسعهدهندگان اتریوم اکنون استاندارد جدیدی به نام ERC-223 معرفی کردهاند. این استاندارد اجازه نمیدهد که توکن به آدرسی که از دریافت آن توکن پشتیبانی نمیکند، ارسال شوند.
مشکل نرم افزاری batchOverflow مشکل دیگری است که این استاندارد محدودیتی برای آن در نظر نگرفته است. وجود این مشکل در یک توکن میتواند منجربه خرجکردن مبلغی بیش از موجودی، از یک آدرس شود. در ماه آوریل سال ۲۰۱۸ به دلیل این مشکل نرم افزاری، تعدادی از صرافیها امکان برداشت و واریز تعدادی از توکنهای ERC20 را موقتاً بستند. این مشکل، همان مشکل کلاسیک سرریزی نوع دادهای integer است که هکرها از طریق آن میتوانند مقداری زیادی توکن بدست آورند.
منبع: cointelegraph