شبکه اتریوم یکی از محبوبترین شبکههای بلاکچین است. شبکه اتریوم استانداردهای مختلفی دارد که استاندارد ERC-20 یکی از مشهورترین آنهاست. ERC کوتاه شده عبارت Ethereum Request for Comments و به معنای درخواست اتریوم برای نظرات است. در واقع ERC سندی است که برنامهنویسان قراردادهای هوشمند (Smart Contract) اتریوم از آن برای ایجاد توکنهای مختلف بر بستر بلاکچین اتریوم استفاده میکنند. این اسناد قوانینی را شرح میدهند که توکنهای مبتنی بر اتریوم باید از آنها پیروی کنند. در این مقاله به این میپردازیم که استانداردهای توکن در شبکه اتریوم چیست، این استانداردها چه تفاوتی باهم دارند، هریک از آنها چه ویژگیهای داشته و موارد استفاده آنها کجاست. با میهن بلاکچین همراه باشید.
آشنایی با استانداردهای اتریوم
اتریوم دومین شبکه محبوب دنیای ارزهای دیجیتال است و رمزارز بومی آن ETH نام دارد. شبکه اتریوم سرویسها و خدمات بسیاری را در اختیار کاربران و توسعهدهندگان قرار میدهد. یکی از این سرویسها قابلیت نوشتن توکن روی شبکه اتریوم است. برای ایجاد انواع توکنها بر بستر شبکه اتریوم، از قالبهایی به نام استانداردهای ERC استفاده میشود.
استانداردهای ERC مخفف عبارت Ethereum Request for Comments هستند. برای ایجاد یک استاندارد ERC، جامعه اتریوم پیشنهادات و اسناد خود را از طریق فرایندی به نام پروپوزال بهبود اتریوم (Ethereum Improvement Proposal) ثبت میکنند. در این پروسه ابتدا اعضای جامعه نظراتشان را در مورد اسناد ارائه میکنند و سپس سند توسط توسعهدهنده مربوطه اصلاح میشود.
برخی از این سندها پس از انجام فرایند EIP مورد قبول جامعه اتریوم قرار میگیرند و نهایی میشوند. در نهایت توسعهدهندگان این اسناد را اجرا و پیادهسازی میکنند. به عبارت دیگر منشا و مبدا استانداردهای ERC از پروپزالهای بهبود اتریوم (EIP) نشات میگیرد و ممکن است حوزههای مختلفی مانند توکنها، ثبت نام دامنه و غیره را شامل شود.
به عبارت سادهتر استانداردهای ERC شامل دستورالعملها و الگوریتمهای مختلفی برای ساخت توکن در شبکه اتریوم هستند. این دستورالعملها توسط توسعهدهندگان Ethereum نوشته میشود، به صورت پروپوزال یا EIP در جامعه اتریوم به رای گذاشته میشود و در نهایت در صورتی که EIP توسط جامعه پذیرفته و نهایی شود، تبدیل به یک ERC میشود.
ساختار استانداردهای ERC شبکه اتریوم
همانطور که گفته شد، EIPهای نهاییشده مجموعهای از استانداردهای قابل پیادهسازی را برای توسعهدهندگان اتریوم فراهم میکند. قراردادهای هوشمندی که با استفاده از یک استاندارد ERC ساخته شوند، یک رابط مشترک دارند و ارتباط گرفتن با تمامی این قراردادها میتواند با یک روش مشخص انجام شود.
برای نمایش هر استاندارد، عددی نیز در کنار عبارت ERC نمایش داده میشود. این عدد نشاندهنده شماره طرح پیشنهادی و پروپوزالی است که توسط افراد پیشنهاد شده است. برای مثال ERC-721 هفتصد و بیست و یکمین پیشنهاد در میان پیشنهادهای بهبود اتریوم بوده که پذیرفته شده و در قالب یک استاندارد معرفی شده است.
استاندارد ERC-20 یکی از مشهورترین استانداردها در بازار رمزارزها است که بیشتر توکنهای ایجادشده بر بستر پلتفرم اتریوم از آن استفاده کردهاند. استفاده از استانداردها در نوشتن Smart Contract یک توکن اجباری نیست؛ ولی استفاده از آنها این اطمینان را به صاحبان پروژه میدهد که توکن آنها به راحتی میتواند با انواع کیف پولها، صرافیها و قراردادهای هوشمند دیگر بدون مشکل کار کند. اگرچه استانداردهای ERC مختلفی وجود دارد، اما استانداردهای زیر شناختهشده و رایجترین استانداردهای مورداستفاده در شبکه اتریوم هستند:
- ERC-20
- ERC-223
- ERC-621
- ERC-721
- ERC-777
- ERC-1155
- ERC-827
- ERC-884
- ERC-1400
- ERC-865
در ادامه به معرفی این استانداردها میپردازیم.
استاندارد ERC-20 اتریوم
استاندارد ERC-20 در سال ۲۰۱۵ در جامعه اتریوم مطرح شد و به طور رسمی در سپتامبر سال ۲۰۱۷ (شهریور ۱۳۹۶) به تایید رسید. این استاندارد شروع خوبی برای استاندارد شدن توکنها در شبکه اتریوم بود. هرچند برخی از توسعهدهندگان متوجه وجود نقص و آسیبپذیری در این استاندارد شدند، استاندارد ERC-20 توانست بر اکوسیستم اتریوم تسلط پیدا کند. این استاندارد تاکنون محبوبترین استاندارد توکن در شبکه اتریوم است. توکنهای ERC-20 توسط پروژههای شناختهشدهای نظیر ایاس (EOS) و بنکور (Bancor) نیز استفاده شده است. این استاندارد دارای ۶ عملکرد است که عبارتند از:
- اجازه (Allowance)
این عملکرد بررسی میکند که آیا حساب کاربر دارای توکن کافی برای پرداخت تراکنش هست یا خیر. به طور خلاصه، از کلاهبرداری کاربران جلوگیری میکند.
- تایید (Approve)
این عملکرد، موجودی توکنهای تراکنش را در مقابل کل موجودی توکن بررسی میکند و اطمینان حاصل میکند که هیچکس نتواند توکنها را جعل کند.
- موجودی حساب (BalanceOf)
دارای عملکردی بسیار اساسی است که میگوید چه مقدار توکن در حساب وجود دارد.
- موجودی کل (TotalSupply)
این عملکرد فقط یکبار و در شروع پیدایش توکن اجرا میشود. این عملکرد تعداد کل توکنهای موجود را مشخص میکند به طوری که این تعداد را نمیتوان تغییر داد.
- انتقال (Transfer)
عملکرد Transfer ارسال توکنها از عرضه اولیه توکن به کیف پول کاربر را امکانپذیر میسازد و این عملکرد، آدرس گیرنده و تعداد توکنهایی که باید انتقال داده شوند را مشخص میکند.
- انتقال از حساب (TransferFrom)
این عملکرد همانند عملکرد انتقال است با این تفاوت که شامل هر انتقال بعد از عرضه اولین توکن است. برای مثال انتقال توکن کاربران به یکدیگر.
همچنین تمام توکنهایی که توابع زیر را پیادهسازی کنند، یک توکن ERC-20 محسوب میشوند:
کاربرد تابع تعداد توکنهای عرضه شده totalSupply() موجودی حساب _owner balanceOf(address _owner) مقدار _value را به آدرس _to منتقل میکند و رویداد transfer فراخوانی میشود transfer(address _to, uint۲۵۶ _value) مقدار _value را از آدرس _from به آدرس _to منتقل میکند و رویداد transfer فراخوانی میشود transferFrom(address _from, address _to, uint۲۵۶ _value) به آدرس _spender اجازه برداشت تا سقف _value را میدهد approve(address _spender, uint۲۵۶ _value) مقداری که هنوز آدرس _spender میتواند از آدرس _owner برداشت کند را برمیگرداند owner(address _spender, uint۲۵۶ _value)
رویدادهای زیر داخل توابع بالا فراخوانی میشوند:
کاربرد رویداد در زمان انتقال توکن ها فراخوانی میشود transfer(address indexed _from, address indexed _to, uint۲۵۶ _value) در زمان اجرای تابع approve فراخوانی میشود approval(address indexed _owner, address indexed _spender, uint۲۵۶ _value)
عملکردهای استاندارد ERC20 باعث میشود تبادل توکنها به آسانی انجام شود. به همین دلیل استاندارد ERC-20 به عنوان یک قدم انقلابی در توسعه ICOها شناخته میشوند. هزاران توکن ERC-20 تاکنون توسعه یافتهاند. این استاندارد فارغ از تمام مزیتهای خود، کامل و بینقص نیست. این استاندارد حاوی یک ایراد مهم است و به همین دلیل توسعهدهندگان متقاعد شدند که به دنبال بهبودهای بیشتر برای برطرف کردن ایرادات استاندارد ERC-20 باشند.
مشکل استاندارد ERC-20 اتریوم چه بود؟
مشکل توکنهای ERC-20 مرتبط با عملکرد انتقال توکنها بین حسابها است. همانطور که در عملکردهای این استاندارد مطالعه کردید، استاندارد ERC-20 از دو روش ارسال توکن پشتیبانی میکند که عبارتند از عملکردهای انتقال یا تایید بهعلاوه انتقال از حساب.
اگر میخواهید توکنها را به آدرس کیف پول شخص دیگری ارسال کنید، عملکرد یا فانکشن انتقال (Transfer) فراخوانده میشود. این عملکرد موجودی حساب شما و موجودی حساب شخص مقابل را برای تعداد توکنهای ارسالی، بررسی و تنظیم میکند. هرچند هنگامی که میخواهید توکنهای خود را به قرارداد هوشمند واریز کنید، این عملکرد کار نمیکند. یا بهتر است بگوییم کار میکند، اما نه آنطور که انتظار دارید.
به عبارت سادهتر اگر از عملکرد انتقال برای ارسال توکنها به قرارداد هوشمند استفاده کنید، تراکنش به نظر موفقیتآمیز خواهد بود؛ اما قرارداد هوشمند نمیتواند توکنهای دریافتشده در حساب شما را اعتبارسنجی کند. این مساله هنگامی بحرانی میشود که قرارداد هوشمند ویژگی برداشت اضطراری نداشته باشد. در این صورت نمیتوانید توکنهای خود را برگردانید. در این مورد توکنهای شما برای همیشه از دست خواهند رفت.
در خصوص توکنهای ERC-20 روش صحیح واریز به قراردادهای هوشمند، استفاده از عملکرد تایید به علاوه انتقال از حساب است. عملکرد تایید به قرارداد هوشمند اجازه میدهد تا از موجودی حساب شما کسر کند. سپس عملکرد انتقال از حساب، توکنها را از حساب شما به قرارداد هوشمند انتقال خواهد داد.
مشکل اصلی استاندارد ERC-20 این است که تمامی آدرسهای قراردادهای هوشمند در شبکه اتریوم، توکنهای ERC20 را میپذیرند. به همین دلیل اگر کاربران توکنهای خود را به این آدرسها انتقال دهند، دارایی آنها برای همیشه مسدود خواهند شد.
به همین دلیل تاکنون میلیونها دلار در واریز توکن به قراردادهای هوشمند با عملکرد انتقال از دست رفته است. در عین حال انجام دو تراکنش به جای یک تراکنش، هزینه تراکنش را دوبرابر میکند و زمان پردازش را افزایش میدهد. این مشکلی است که استاندارد ERC-223 در صدد حل آن برآمد. در ادامه این استاندارد را که با هدف رفع آسیبپذیریهای ERC-20 ارائه شد، بررسی میکنیم.
استاندارد ERC-223 اتریوم
به طور خلاصه مشکل اساسی استاندارد ERC-20 این است که در حال حاضر توکنهای ERC-20 را میتوان به آدرسهایی که از ERC-20 پشتیبانی نمیکنند نیز ارسال کرد. تمام قراردادهای هوشمند اتریوم، استاندارد ERC-20 را نمیپذیرند و این امر منجر به از دست رفتن تعداد بسیار زیادی توکن میشود.
مشکل اینجاست که هیچگونه مکانیسم بازدارنده برای جلوگیری کاربران از ارسال توکنهای ERC-20 به این آدرسها وجود ندارد. در نتیجه شبکه تراکنش را تایید میکند و توکنها نیز به آدرس مورد نظر ارسال خواهند شد؛ اما از آنجایی که مطابق استاندارد ERC-20 نیستند، به طور دائم مسدود شده و از دست میروند.
استاندارد ERC-223 برای جلوگیری از این شرایط و همچنین ارائه بهبودهای دیگر ایجاد شده است. این استاندارد عملکردهای انتقال و انتقال از حساب را در یک عملکرد واحد به اسم ذخیرهسازی توکن (TokenFallBack) ترکیب کرده است. این روش در نسخههای Solidity بالاتر از ۰.۶.۰ به TokenReceived تغییر نام پیدا کرده است.
این عملکرد فقط توسط قراردادهای هوشمندی قابل استفاده است که نحوه کار با توکن ارسال شده را مشخص کردهاند. هر دو عملکرد جدید، لایه حسابرسی را اضافه میکنند. این امر باعث میشود که از دست رفتن سرمایه متوقف شود. علاوه بر این با ترکیب دو عملکرد انتقال، در مصرف گس (Gas) در شبکه اتریوم صرفهجویی چشمگیری صورت میگیرد و هزینه کاربران کاهش پیدا میکند. شایان ذکر است ERC-223 هنوز به عنوان استاندارد توکن ERC نهایی نشده است، اما عملکردهای آن تا حدی تحت پوشش استاندارد ERC-777 قرار دارد.
این استاندارد در ماه مارس سال ۲۰۱۷ (اسفند ۱۳۹۵) ارائه شد. اساسا میتوان استاندارد ERC-20 را زیرمجموعه استاندارد ERC-223 دانست. زیرا این استاندارد شامل تمام عملکردهای ERC-20 است و علاوه بر آن عملکردهای دیگری را نیز اضافه کرده است. استاندارد ERC-223 دارای قابلیت پشتیبانی از توکنهایی با استاندارد ERC-20 نیز است، در نتیجه تمام پلتفرمهایی که با ERC-20 کار میکنند، با استاندارد ERC-223 نیز تطابق خواهند داشت.
هرچند تفاوت مهم آن با ERC-20 این است که در آن، عملکرد انتقال دارای یک پارامتر اضافی برای بررسی این موضوع است که آیا آدرس مقصد یک قرارداد هوشمند است یا خیر. اگر آدرس مقصد یک قرارداد هوشمند باشد، تراکنش عملکرد ذخیره توکن (TokenFallback) را در قرارداد هوشمند فعال میکند. این عملکرد میتواند توکنها را به حساب ارسالکننده برگرداند.
هرچند برای آنکه این روش به درستی کار کند، توسعهدهندگان قرارداد هوشمند باید عملکرد ذخیره توکن را پیادهسازی کنند. اگر این عملکرد در قرارداد هوشمند وجود داشته باشد، تراکنش موفقیتآمیز خواهد بود. در غیر این صورت تراکنش انجام نخواهد شد.
عملکرد استاندارد ERC-223 چگونه است؟
توکنهای ERC-20 با دو روش میتوانند تراکنش انجام دهند:
- تابع Transfer
- مکانیسم Approve + TransferFrom
موجودی توکن یک متغیر در قرارداد هوشمند استاندارد ERC-223 است. تراکنشهای یک توکن متغیرهای داخلی یک قرارداد را تغییر میدهند. در زمان اجرای یک تراکنش موجودی فرستنده کم شده و موجودی گیرنده افزایش مییابد.
در استاندارد ERC-20 امکان اطلاع از اجرای یک تراکنش برای گیرنده وجود ندارد. اگر شما بخواهید یک مقدار توکن را برای یک قرارداد ارسال کنید، باید ابتدا با استفاده از تابع Approve به قرارداد مربوطه اجازه برداشت از آدرس خودتان را بدهید و بعدا با صدا زدن آن قرارداد که TransferFrom را صدا میزند، توکنها را برداشت کنید.
حال اگر از تابع Transfer استفاده کنید و توکنها را به آدرس یک قرارداد ارسال کنید، قرارداد گیرنده تراکنش را تشخیص نمیدهد. امکان شناسایی و رسیدگی به تراکنشهای ورودی ERC-20 برای هیچکدام از قراردادها وجود ندارد و در صورت ارسال توکن به آنها، توکنها داخل قرارداد گیر میافتد و پول شما از دست میرود. در اصل چنین تراکنشهایی باید پیش از اجرا رد شوند.
همانطور که گفته شد، تابع Transfer پس از اتمام تراکنش به گیرنده اطلاع نمیدهد. یعنی گیرنده نمیتواند تراکنش ورودی را تشخیص دهد. بنابراین اگر گیرنده یک قرارداد باشد کاربر باید از مکانیزم Approve + TransferFrom استفاده کند و اگر گیرنده یک آدرس دیگر باشد، کاربر باید از تابع Transfer استفاده کند.
استاندارد ERC-223 مشابه استاندارد ERC-20 است؛ اما این مشکل را حل کرده است. در زمان ارسال توکن به یک قرارداد هوشمند دیگر، تابع TokenFallback از آن قرارداد فراخوانی میشود. این تابع به قرارداد گیرنده اجازه میدهد تا توکنهای دریافتی را نپذیرد و یا اقدامات دیگری انجام دهد. این تابع میتواند به عنوان جایگزینی برای تابع Approve به کار برود.
مزایای استاندارد ERC-223 اتریوم
استاندارد توکن ERC-223 انتظارات را برآورده کرده است و توانسته مشکل استاندارد ERC-20 را برطرف کند. به طور کل، مزایای استاندارد توکن ERC-223 را میتوان به اینصورت بیان کرد:
- هیچ توکنی از دست نمیرود
بواسط عملکرد استاندارد ERC-223 کاربران میتوانند همان مراحل انتقال توکن را برای کیف پولها و قراردادهای هوشمند انجام دهند و دیگر هیچ توکنی از دست نخواهد رفت.
- توسعهدهندگان قرارداد هوشمند میتوانند توکنهایی که پشتیبانی نمیشوند را نپذیرند
قبل از ایجاد این استاندارد، این توکنها از دست میرفتند؛ اما با پیادهسازی استاندارد ERC-223، این مشکل دیگر وجود ندارد.
- انجام تراکنشهای ارزانتر
از آنجایی که استاندارد ERC-223، ارسال توکنها به قراردادهای هوشمند را به جای دو تراکنش در یک تراکنش امکانپذیر میسازد، انتقال توکن به کارمزد کمتری نیاز دارد.
استاندارد ERC-621 اتریوم
این استاندارد شبکه اتریوم در ماه می سال ۲۰۱۷ (اردیبهشت ۱۳۹۶) معرفی شد. میتوان گفت استاندارد ERC-621 با توسعه استاندارد ERC-20 ایجاد شده است. دو تابع IncreaseSupply و DecreaseSupply به این استاندارد اضافه شده است. با استفاده از این توابع میتوان میزان کل توکنهای در حال گردش را کاهش یا افزایش داد.
در استاندارد ERC-20 تنها یکبار امکان مشخص کردن کل عرضه توکن و در زمان تولید توکنها وجود دارد. این استاندارد تنها همین مورد را امکانپذیر کرده و تمامی موارد دیگر آن مشابه استاندارد ERC-20 اتریوم است. از این رو میتوان الگوریتم استاندارد ERC-20 را مادر دیگر استانداردهای اتریوم دانست. طبق پروپوزال ERC-621 فقط مالک قرارداد یا کاربران قابل اعتماد میتوانند از این توابع استفاده کنند.
بر خلاف ارزهای فیات که اختیار افزایش یا کاهش عرضه آنها در دست بانکهای مرکزی است، ارزهای دیجیتال پولهای مبتنی بر ریاضیات هستند. بنابراین افزایش یا کاهش عرضه ارزهای دیجیتال از همین طریق و در قراردادهای هوشمند تعیین میشود.
عرضه کل توکن تنها یکی از عواملی است که ارزش توکن را تعیین میکند و بر اقتصاد توکن تاثیر میگذارد. این پروپوزال هنوز در مرحله پیشنویس است و باید منتظر ماند و دید با توجه به تاثیر گستردهای که دارد آیا جامعه اتریوم آن را اجرا میکند یا خیر. برای اطلاعات بیشتر در مورد EIP-621 میتوانید گیتهاب پروپوزال را مطالعه کنید.
استاندارد ERC-721 اتریوم
این استاندارد با دو استاندارد قبلی تفاوت زیادی دارد. در این استاندارد هر توکن با توکن دیگر متفاوت است و هر کدام از این توکنها برای کاربران مختلف ارزش متفاوتی دارد. حتما تابهحال نام توکنهای بیهمتا (NFT) را شنیدهاید. این استاندارد برای توکنهایNFT یعنی توکنهایی که مشابه یکدیگر نیستند، فرصتهای جدیدی ایجاد میکند.
برخلاف توکنهای ERC-20 که مشابه یکدیگر هستند و تفاوتی میان آنها نیست، در استاندارد ERC-721 هر یک از توکنها با توکن دیگر متفاوت بوده و ویژگیهای خاص خودش را دارد. هر کدام از توکنهایی که با این استاندارد ایجاد میشوند، با توکنهای دیگر تفاوت داشته و ارزش آنها براساس کمیاب بودن توکن، تعیین میشود.
مزایای بسیار زیادی در خصوص توکنهای بیهمتا وجود دارد. قبل از معرفی استاندارد ERC-721 تمام داراییهای کریپتو مشابه یکدیگر و قابل تعویض بودند. این ویژگی در موارد مالی نظیر بیت کوین بسیار حیاتی است؛ اما برای به کارگیری فناوری بلاک چین در سایر داراییها نظیر توکنهای NFT، اثرهای هنری یا آیتمهای مجازی بازیهای رایانهای، غیرقابل تعویض بودن ویژگی بسیار مهمی است.
توکنهای ERC-721 میتوانند مبادله شوند، ولی ارزش آنها بستگی به منحصربهفرد بودن و کمیاب بودن آنها دارد. استاندارد ERC-721، هفتصد و بیست و یکمین پیشنهاد در پیشنهادهای بهبود اتریوم است. این استاندارد در تاریخ ۲۱ ژوئن ۲۰۱۸ (۳۱ خرداد ۱۳۹۷) به صورت نهایی پذیرفته شد.
استاندارد ERC-777 اتریوم
استاندارد ERC-777 با معرفی دو مفهوم اپراتورها (Operators) و چنگکها (Hooks) عملکرد توکنهای ERC-20 و ERC-223 را بهبود میبخشد. اپراتورها، نهادهایی (آدرسها) هستند که توکنها را از جانب سایر آدرسها ارسال میکنند. جدا کردن اپراتورها از دارندگان توکن باعث میشود جابهجایی توکنها کارآمدتر شود. به طور مثال یک آدرس تاییدشده میتواند انتقال توکنها را از جانب کاربران انجام دهد. بهعلاوه استفاده از این مفهوم شرایط اتوماسیون در دیفای (DeFi) مانند ترکیبکنندههای خودکار (Auto-Compounders) را بهبود میبخشد.
فراتر از این مورد، همچنین ارسال اطلاعات تراکنش به همراه خود توکنها امکانپذیر میشود. در نتیجه میتوان توکنها را شخصیسازی کرد و به ترتیب مورد نظر ارسال کرد. با استفاده از عملکردی به اسم Hooks میتوانید قبل از دریافت توکن ERC-777، اعلان آن را دریافت کنید. به علاوه این عملکرد میتواند شرایط خاصی را در تراکنش اعمال کند. برای مثال، دریافتکننده را مجبور میکند تا مقدار مشخصی برای محصول یا سرویس خاص خرج کند.
همچنین استاندارد ERC-777 باعث کاهش تعداد تراکنشها میشود. در واقع هنگام فراخوانی یک قرارداد هوشمند، استاندارد ERC-20 بعد از اجرای اولین تراکنش برای بررسی و تایید معیارها به یک تراکنش دیگر نیاز دارد. قرارداد هوشمند تنها پس از اجرای این مرحله فراخوانی میشود. به همین علت تعداد تراکنشها بیشتر میشود.
استاندارد ERC-777 دارای تابعی برای شناسایی دریافت توکنها است و بلافاصله بعد از اولین تراکنش یک قرارداد هوشمند را اجرا میکند. این استاندارد اتریوم علاوه بر کاهش هزینههای تراکنش، به کاربران اجازه میدهد توکنهای دریافتی از آدرسهای لیست سیاه را برگردانند.
قرار گرفتن یک آدرس در لیست سیاه به دلایل مختلفی مانند هک یا فعالیتهای غیرقانونی اتفاق میافتد. این قابلیت باعث میشود آدرسهایی که در لیست سیاه قرار دارند، نتوانند داراییهای خود را به برنامههای غیرمتمرکز (DApp) انتقال دهند. این امر در نهایت موجب بهبود شرایط امنیتی برنامههای غیرمتمرکز اتریوم میشود.
استاندارد ERC-777 اتریوم تمام مزایا و نقاط قوت استاندارد ERC-20 را شامل میشود. اوپن زپلین (OpenZeppelin) که یک پلتفرم منبع باز برای ساخت دپها است از استاندارد ERC-777 برای ساخت، اتوماتیک کردن و اجرای برنامههای غیرمتمرکز استفاده میکند.
استاندارد ERC-1155 اتریوم
ERC-1155 یک استاندارد توکن دیجیتال است که توسط شرکت Enjin ساخته شده است. از این استاندارد میتوان برای ایجاد داراییهای قابل تعویض (مانند ارزها) و غیر قابل تعویض (توکنهای بیهمتا) روی شبکه اتریوم استفاده کرد. این استاندارد تمام چالشهای اصلی دو استاندارد ERC-20 و ERC-721 را حل میکند.
کاربران میتوانند با استفاده از استاندارد ERC-1155 چندین توکن را در یک قرارداد ایجاد کنند. همچنین میتوان از این استاندارد برای هر دو دسته از توکنهای قابلتعویض و غیرقابل تعویض استفاده کرد. همه این ویژگیها موجب شده تا استاندارد ERC-1155 مدیریت ذخیرهسازی را کارآمد و مقرونبهصرفهتر کند. به عبارت سادهتر ERC-1155 نوعی استاندارد در شبکه اتریوم است که ویژگیهای دو استاندارد رایج شبکه اتریوم یعنی ERC-721 (توکنهای NFT) و ERC-20 (توکنهای کاربردی) را با یکدیگر ترکیب میکند.
معرفی توکنهای ارائه شده توسط استاندارد ERC-1155
- توکنهای تعویضپذیر (Fungible Tokens)
استاندارد ERC-1155 برای ایجاد توکنهای تعویضپذیر مورد استفاده قرار میگیرد. منظور از توکنهای تعویضپذیر همان رمزارزهایی است که نقش ارز پلتفرمهای مختلف را ایفا میکنند. استاندارد ERC-1155 برای اقتصاد چند توکنی مناسبتر است؛ به عنوان مثال اگر پروژهای دارای توکن امنیتی و توکن دیگری به عنوان توکن کاربردی باشد، میتواند با استفاده از این استاندارد توکنهای خود را ایجاد کند.
- توکنهایبی همتا (Non-Fungible)
این توکنها میتوانند به شکل عکس میمونهای کسل (Bored Ape Yacht Club) یا سلاحهای یک بازی ویدیویی باشند. وجه تمایز NFTها از دیگر دارییها این است که هر کدام از آنها منحصربهفرد و تک هستند. به عنوان مثال هر کدام از میمونها با استفاده از الگوهای منحصربهفردی ایجاد شدهاند و هیچ کدام از آنها شبیه هم نیستند. به همین دلیل میمونهای کسل تعویضپذیر نیستند و نمیتوان هیچ کدام را با دیگری تعویض نمود.
- توکنهای نیمه تعویضپذیر (Semi-fungible tokens)
توکنهای نیمهمثلی نوع جدیدی توکنها هستند. این توکنها میتوانند یک بلیط کنسرت باشند و تا زمانی تعویضپذیرهستند که هنوز نقد نشدهاند و یا مورد استفاده قرار نگرفتهاند. زمانی که یکی از این توکنها نقد میشود دیگر ارزشی ندارد. به عنوان مثال بلیط کنسرت تا زمانی تعویضپذیر است که نقد میشود و پس از آن تعویضپذیرنیست. به همین دلیل است که به این توکنها نیمهمثلی گفته میشود.
استاندارد ERC-827 اتریوم
ERC-827 استاندارد دیگری برای توسعه و تعمیم قابلیتهای ERC-20 است. استاندارد ERC-827 رقیب استاندارد ERC- 223 است، چرا که قصد دارد همان مشکلاتی را که ERC-223 سعی در حل آنها دارد به روشی پیشرفتهتر حل کند. ERC- 827 انتقال توکن برای شخص ثالث را فعال میکند تا شخص ثالث بتواند توکن را خرج کند.
به لطف وجود این استاندارد، صرافیها و کیفپولهای ارز دیجیتال میتوانند مجددا از توکنها استفاده کنند زیرا هر دو طرف معیارهای خاصی را میپذیرند و در نتیجه یک شخص ثالث میتواند مبلغ مشخصی را خرج کند. جامعه اتریوم هنوز این استاندارد را پیادهسازی نکرده است.
استاندارد ERC-884 اتریوم
استاندارد ERC-884 اتریوم برای توکنیزه کردن سهام طراحی شده است. قوانینی که اخیرا در ایالت دلاور(Delaware) ایالات متحده تصویب شده است به شرکتها اجازه میدهد برای نگهداری سهام از فناوری بلاکچین استفاده کنند. در میان استانداردهای ERC موجود، استاندارد ERC-884 برای این منظور طراحی شده است. به عبارت دیگر ERC-884 هر توکن را به عنوان سهمی از یک شرکت ثبتشده در ایالت دلاور تعیین میکند. این استاندارد برای رعایت مقررات مربوطه مشمول موارد زیر میشود:
- تایید هویت و ثبت اجباری دارندگان توکن در لیست سفید
- تهیه فهرستی از سهامداران با توجه به قوانین نظارتی توسط شرکت
- ثبت اطلاعات قانون نظارتی
- ثبت ارزش کلی توکنها
- برگرداندن کلید خصوصی یا توکنهای گمشده به آدرس جدید توسط سهامداران
استاندارد ERC-1400 اتریوم
این استاندارد نیز شبیه به استاندارد ERC-884 برای توکنیزه کردن اوراق بهاداری که نیازمند اجرای قوانین مختلفی مانند KYC هستند طراحی شده است. این استاندارد، کتابخانهای است که حاوی چندین استاندارد مختص به توکنهای اوراق بهادار (Security Token) است. توکنیزه کردن اوراق بهادار موجود، موضوعی است که چندین سال است که کاربران و صاحب نظران منتظر آن هستند.
استاندارد ERC 865 اتریوم
هدف از ارائه این استاندارد کمک به افراد مبتدی در دنیای رمزنگاری است. همانطور که میدانید در شبکه اتریوم برای انجام یک تراکنش باید کارمزد پرداخت کنید. میزان کارمزد پرداختی در موقعیتهای مختلف شبکه متفاوت است و همین موضوع باعث میشود کاربران مبتدی با مشکل مواجه شوند. به همین دلیل توسعهدهندگان استانداردهای ERC جامعه اتریوم، استاندارد ERC-865 را پیشنهاد کردند تا پروسه پرداخت کارمزد برای کاربران مبتدی آسان شود. این استاندارد هنوز در مرحله پیشنویس قرار دارد و اطلاعات مربط به آن در گیت هاب پروپزال EIP 865 موجود است.
سیر تکامل استانداردهای اتریوم
دو استاندارد ERC-20 و ERC-721 دو استاندارد پرکاربرد در اکوسیستم اتریوم هستند. با این حال جامعه اتریوم دائما استانداردهای جدیدی را پیشنهاد میکند. به طور مثال برای ایجاد کاربردهای جدید از قبیل برنامههای «نرمافزار به عنوان سرویس» (SaaS Applications) استاندارد ERC-1337 و برای بهبود تجربه کاربری استاندارد ERC-777 ارائه شده است. یکی از مهمترین قابلیتهای اکوسیستم اتریوم توانایی توکنیزهکردن طیف گستردهای از داراییها است. بنابراین برای حل چالشهای پیچیده و ایجاد برنامههای جدید، نوآوریهای اتریوم همچنان ادامه خواهد داشت.
سوالات متداول (FAQ)
- استاندارد ERC چیست؟
استانداردهای ERC در واقع اسنادی هستند که برنامهنویسان قراردادهای هوشمند (Smart Contract) اتریوم از آنها برای نوشتن قرارداد هوشمند توکنهای مختلف بر بستر بلاکچین اتریوم استفاده میکنند. این اسناد قوانینی را شرح میدهند که توکنهای مبتنی بر اتریوم باید از آنها پیروی کنند.
- مهمترین استانداردهای ERC در شبکه اتریوم کدامند؟
استاندارد ERC20 اولین و پرکاربردترین استاندارد در شبکه اتریوم است. همچنین استانداردهای ERC721 و ERC1155 از معروفترین استانداردهای اتریوم هستند که توکنهای بیهمتا با استفاده از آنها ایجاد میشوند.
جمع بندی
شبکه بلاکچین اتریوم یکی از پرطرفدارترین شبکههای دنیای ارزهای دیجیتال است. یکی از بزرگترین مزایای این شبکه، ارائه قرارداد هوشمند است. برای راهاندازی این قراردادهای هوشمند، باید مطابق الگوریتم و دستورالعملهای پذیرفته شده در شبکه اتریوم رفتار کرد. در این مقاله به EIPها و یا طرحهای پیشنهادی توسعهدهندگان دومین شبکه محبوب بازار، ERCها و نحوه نامگذاری و کاربرد آنها و همچنین معروفترین استانداردهای توکن در شبکه اتریوم آشنا شدیم. شما تا به حال از کدامیک از استانداردهای اتریوم استفاده کردهاید؟ تجربیات خود را با ما به اشتراک بگذارید.