در دنیای بلاکچین و قراردادهای هوشمند، استانداردهای توکن نقش بسیار مهمی در رشد و توسعه برنامههای غیرمتمرکز (dApps) ایفا میکنند. از زمان معرفی استاندارد ERC-20 در سال 2015، این استاندارد بهعنوان یکی از پرکاربردترین و پایهایترین استانداردهای توکن در بلاکچین اتریوم شناخته شده است. اما با گذر زمان، نیاز به ویژگیهای جدید و قابلیتهای بیشتر در تعامل با توکنها و قراردادهای هوشمند احساس شد. در نتیجه، استانداردهای جدیدتری مانند ERC-223، ERC-677 و ERC-777 مطرح شدند که به منظور رفع مشکلات و افزودن قابلیتهای جدید معرفی شدند. در این مقاله، به بررسی این استانداردها و تفاوتها و چالشهای آنها خواهیم پرداخت.
استاندارد ERC-20: استاندارد اصلی توکنهای اتریوم
ERC-20 یکی از شناختهشدهترین و پراستفادهترین استانداردها برای ایجاد توکنهای غیرقابل تغییر (fungible tokens) در شبکه اتریوم است. این استاندارد چهار عملکرد اصلی را برای توکنها فراهم میآورد: totalSupply()
, balanceOf()
, transfer()
, و approve/transferFrom()
. علیرغم سادگی و محبوبیت ERC-20، مشکلات امنیتی و طراحی در آن وجود دارد که میتواند منجر به از دست رفتن توکنها یا سوءاستفادهها شود. برای مثال، در مکانیزم approve/transferFrom()
، در صورتی که تراکنشها به درستی ترتیب داده نشوند، ممکن است توکنها به اشتباه منتقل شوند.
مشکلات امنیتی و عدم وجود رویداد در ERC-20
یکی از مشکلات عمده در ERC-20، عدم وجود مکانیزم رویداد (Event) مناسب است که در نتیجه نمیتوان به راحتی تراکنشها و تغییرات موجودی توکنها را پیگیری کرد. علاوه بر این، در مکانیزم approve/transferFrom()
خطرات امنیتی مانند سوءاستفاده از توکنها در تراکنشها وجود دارد که میتواند منجر به از دست رفتن آنها شود. این مشکلات باعث شدهاند که برخی از توسعهدهندگان به دنبال راهحلهایی برای رفع این مشکلات باشند.
ERC-223: بهبود امنیت و عملکرد
ERC-223 یک تلاش برای بهبود امنیت ERC-20 است. این استاندارد از تراکنشهای امنتری برخوردار است، بهویژه در زمان انتقال توکنها به قراردادهای هوشمند. یکی از ویژگیهای بارز ERC-223 این است که از خطای بازگشت توکنها جلوگیری میکند و در صورتی که توکنی به قرارداد هوشمندی ارسال شود که از آن پشتیبانی نمیکند، به طور خودکار از ارسال آن جلوگیری میشود. این استاندارد در تلاش است تا مشکلات امنیتی موجود در ERC-20 را برطرف کند و امنیت بیشتری را برای توسعهدهندگان فراهم کند.
ERC-677: گامی به سوی بهبود تعاملات مالی
ERC-677 در واقع ترکیبی از ERC-20 و ERC-223 است که به منظور حل مشکل “از دست رفتن توکنها” در هنگام تعامل با قراردادهای هوشمند طراحی شده است. این استاندارد به توسعهدهندگان این امکان را میدهد که توکنها را با استفاده از یک تراکنش واحد هم انتقال دهند و هم به یک قرارداد هوشمند فراخوانی کنند. این ویژگی موجب کاهش پیچیدگیهای طراحی قرارداد و بهبود تجربه کاربر میشود. با این حال، ERC-677 به اندازه کافی نوآوری ندارد که بتواند بهعنوان یک استاندارد پیشرفته جایگزین ERC-20 شود.
ERC-777: جانشین شایسته ERC-20
ERC-777 بهعنوان یک استاندارد پیشرفتهتر برای توکنها در اتریوم معرفی شده است. این استاندارد نه تنها ویژگیهای امنیتی و کارایی بالاتری نسبت به ERC-20 و ERC-223 دارد، بلکه قابلیتهای جدیدی مانند “اپراتورهای سفید” (white-listed operators) را معرفی میکند که به توسعهدهندگان این امکان را میدهد تا کنترل بیشتری روی تعاملات توکنها داشته باشند. علاوه بر این، ERC-777 بهگونهای طراحی شده که قابلیت گسترشپذیری بیشتری داشته باشد و به راحتی بتوان آن را برای نیازهای خاص تطبیق داد. از طرف دیگر، پیچیدگی زیاد این استاندارد و وابستگی به استانداردهای دیگر ممکن است باعث شود که پذیرش آن در شبکههای اصلی اتریوم زمانبر باشد.
نتیجهگیری:
در حالی که ERC-20 همچنان استاندارد اصلی توکنهای اتریوم است، مشکلات امنیتی و عدم وجود رویدادهای مناسب موجب ایجاد ضرورت برای بهبود آن شد. استانداردهایی مانند ERC-223 و ERC-677 در تلاشند تا این مشکلات را حل کنند، اما ERC-777 به عنوان یک جانشین واقعی برای ERC-20، امکانات جدید و نوآورانهای را ارائه میدهد که میتواند آینده توکنهای اتریوم را دگرگون کند. با این حال، به دلیل پیچیدگی و نیاز به تطبیق با استانداردهای جدیدتر، ممکن است پذیرش ERC-777 زمانبر باشد.
منبع: teach yourself crypto