آیا با استاندارد توکن ERC-20 آشنا هستید؟ سال ۲۰۱۴، ویتالیک بوترین (Vitalik Buterin) شبکه اتریوم را بهعنوان پلتفرمی متنباز برای عرضه برنامههای غیرمتمرکز راهاندازی کرد. بسیاری از انگیزههای بوترین برای ساخت بلاکچین جدید، از فقدان انعطافپذیری در پروتکل بیت کوین نشئت گرفته بود.
از استاندارد شبکه توکن ERC-20 برای ساخت قراردادهای هوشمند روی بلاکچین اتریوم استفاده میشود. در این مقاله از بلاگ تترلند، توضیح خواهیم داد که توکنهای استاندارد چیست. تا پایان مطلب همراه ما باشید.
استاندارد توکن ERC-20 چیست؟
از زمان راهاندازی تاکنون، اتریوم توسعهدهندهها و کسبوکارها و کارآفرینهای زیادی را به خود جلب و صنعت روبهرشدی برای کاربران خواهان قراردادهای هوشمند و اپلیکیشنهای توزیعشده ایجاد کرده است.
با اینکه این چهارچوب مختص شبکه Ethereum است، الهامبخش استانداردهای بلاکچینهای دیگری نظیر BEP2 صرافی بایننس نیز بوده است. حتی در ساخت ارزهای دیجیتال مهمی همچون بایننس کوین، رمزارز اول زنجیره هوشمند بایننس، از استاندارد BEP-20 استفاده شده که خود تا حد زیادی از ERC-20 الهام گرفته است.
در شبکه اتریوم، ERC مخفف Ethereum Request for Comments و به مفهوم «درخواست اتریوم برای توضیحات» است. این توضیحات درواقع سندهای فنی هستند که استانداردهای برنامهنویسی در اتریوم را مشخص میکنند.
ERC را نباید با EIP یا Ethereum Improvement Proposal بهمعنای «طرح پیشنهادی بهبود اتریوم» اشتباه گرفت. EIPها مشابه BIP در شبکه بیت کوین، صرفاً طرحهایی برای بهبود خود پروتکل هستند؛ اما هدف ERCها ایجاد کنوانسیونی است تا تعامل برنامهها و قراردادها با یکدیگر را هموار سازد.
سال ۲۰۱۵، ویتالیک بوترین، بنیانگذار شبکه اتریوم و فابیان فوگشتلر (Fabian Folgesteller) استاندارد توکن ERC-20 را نوشتند. این استاندارد فرمتی نسبتاً ساده برای توکنهای مبتنیبر اتریوم است.
سازوکار توکنهای اتریومی چگونه است؟
برخلاف کوین، رمزارز بومی شبکه اتریوم (ETH)، توکنهای شبکه اتریوم با استاندارد ERC-20 درون حسابها نگهداری نمیشوند. این توکنها تنها درون یک قرارداد حضور دارند که شبیه به پایگاه داده مستقلی هستند.
این دیتابیس قوانین توکنها (مانند اسم و نماد و تقسیمپذیری) را مشخص میکند و فهرستی ترسیمکننده از موجودی کاربران به آدرسهای اتریومشان را نگه میدارد.
همکاری کاربر با قرارداد هوشمند اتریوم
به این مثال دقت کنید. درخواست آلیس درون تراکنش عادی اتریومی قرار میگیرد که ۰ واحد ETH به قرارداد آن توکن میپردازد. این درخواست در بخشی اضافی در این تراکنش قرار میگیرد که قصد آلیس برای ارسال آن تراکنش (در اینجا ارسال توکن به باب) را مشخص میکند.
البته با اینکه آلیس توکن اتری ارسال نمیکند، همچنان به پرداخت کارمزد مربوط به آن ملزم است تا تراکنش وی درون بلاک ثبت شود. بنابراین، اگر آلیس رمزارز اتری ندارد، باید با خرید اتریوم پیش از انتقال توکنها، مقداری ETH تهیه کند.
توکنهای استاندارد ERC-20 چگونه ساخته میشوند؟
برای انطباق با استاندارد ERC-20، قرارداد توکن شما در شبکه اتریوم باید شامل شش تابع الزامی باشد:
- عرضه کل (totalSupply)
- موجودی (balanceOf)
- انتقال (transfer)
- انتقال از (transferFrom)
- تصویب (approve)
- مستمری (allowance)
علاوهبراین، امکان تعیین توابع اختیاری مانند اسم (Name) و نماد (Symbol) و رقم اعشار (Decimal) وجود دارد. احتمالاً از اسم این توابع نوع کارکردشان برایتان مشخص است.
استاندارد ERC-20 در استیبلکوینها (Stablecoins)
استیبلکوینها، توکنهای گرهخورده به ارزهای فیات، عموماً از استاندارد توکن ERC-20 استفاده میکنند. تراکنش ارسالی به قرارداد ارز BUSD که پیشتر به آن اشاره کردیم و اکثر استیبلکوینهای بزرگ نیز طبق همین فرمت هستند.
برای استیبلکوین معمولی دارای پشتوانه ارز فیات، صادرکننده آن ذخایر یورو یا دلار یا هر ارز دیگر مرتبط را نگهداری میکند. سپس، این سازمان برای هر واحد از ذخایر خود، یک توکن صادر میکند. این یعنی مثلاً در ازای ۱۰هزار دلار ذخیرهشده در خزانه، صادرکننده میتواند ۱۰هزار واحد توکن به قیمت هر واحد ۱ دلار تولید کند.
استاندارد استیبلکوین ERC-20
ازنظر فنی، پیادهسازی این کار در شبکه اتریوم بسیار ساده است. صادرکننده صرفاً باید قراردادی با ۱۰هزار توکن را راهاندازی و سپس با وعده امکان بازخرید این توکنها با مقدار متناسب و پرداخت بهصورت ارز فیات، آنها را میان کاربران توزیع کند.
کاربران با این توکنها میتوانند کارهای مختلفی ازجمله خرید کالاها و خدمات یا استفاده در دیاپها را انجام دهند. افزونبراین، کاربران میتوانند درخواست تبدیل سریع به ارز فیات را به صادرکننده ارسال کنند. در این صورت، صادرکننده توکنهای برگشتی را میسوزاند و مقدار دقیق پول فیات را از ذخایر خود خارج میکند.
همانطورکه پیشتر گفتیم، قرارداد ادارهکننده این سیستم نسبتاً ساده است. باوجوداین، راهاندازی استیبلکوین مبتنیبر استاندارد توکن ERC-20 نیازمند کار روی عوامل خارجی مانند لجستیک و رعایت مقررات است.
استاندارد ERC-20 در توکنهای اوراق بهادار
توکنهای اوراق بهادار مشابه استیبلکوینها هستند. در سطح قرارداد، این توکنها کاملاً مشابهاند و به یک روش فعالیت میکنند. تفاوت بین این دو نوع توکن در سطح صادرکننده رخ میدهد.
Security Tokenها نماینده اوراق بهاداری مانند سهام و اوراق قرضه یا داراییهای فیزیکی هستند. عموماً (البته نه همیشه) این توکنها نوعی سهم در کسبوکار یا کالا را اعطا میکنند.
استاندارد ERC-20 در توکنهای کاربردی
شاید بتوان گفت که توکنهای کاربردی رایجترین نوع توکنهای امروزی هستند. برخلاف دو مدل قبل، این توکنها هیچ پشتوانهای ندارند. اگر توکنهای دارای پشتوانه دارایی مشابه سهام یکی از شرکتهای هواپیمایی باشند، توکنهای کاربردی شبیه به برنامههای Frequnet-flyer (برنامههای وفاداری) هستند. این یعنی درواقع یک عملیات را اجرا میکنند؛ اما ارزش خارجی ندارند. از توکنهای کاربردی میتوان برای کارهایی مانند ارز داخل بازی و سوخت برنامههای غیرمتمرکز و امتیازات وفاداری استفاده کرد.
توکنهای دارای استاندارد استخراجکردنی هستند؟
رمزارز اتر استخراجکردنی است؛ اما توکنها خیر. بنابراین، برای توکنها بهجای کلمه Mine بهمعنی «استخراج»، از کلمه Mint بهمعنی «ضرب» استفاده میکنیم.
هنگام راهاندازی قرارداد، توسعهدهندگان براساس برنامه و نقشهراه خود به توکن را توزیع میکنند. معمولاً این کار ازطریق عرضه اولیه سکه (ICO) یا عرضه اولیه صرافی (IEO) یا عرضه توکن اوراق بهادار (STO) انجام میشود.
ممکن است تابهحال با انواع مدلها برخورد کرده باشید؛ اما مفهوم همگی بسیار مشابه است. سرمایهگذاران به آدرس قرارداد رمزارز اتر ارسال و درعوض، توکنهای جدید دریافت میکنند. سپس از پول جمعشده برای تأمین سرمایه توسعههای بیشتر پروژه استفاده میشود. کاربران نیز با توسعه پروژه، انتظار استفاده (بهمحض دریافت یا پس از مدت مشخص) یا فروش و کسب سود از توکنهای خود را دارند.
توزیع توکن لزوماً بهصورت خودکار انجام نمیشود. بسیاری از رویدادهای تأمین سرمایه جمعی، اجازه پرداخت ازطریق طیف وسیعی از ارزهای دیجیتال (مانند بیتکوین، بیتکوین کش، اتریوم، تتر و ترون) را به کاربران میدهند.
جمعبندی
استاندارد شبکه توکن ERC-20 فضای داراییهای کریپتو را به سلطه خود درآورده است و درک چرایی آن دشوار نیست. هرکسی بهراحتی میتواند قراردادی ساده را برای کاربردهای متعدد (توکنهای کاربردی، استیبلکوینها و…) ایجاد کند. شایان ذکر است ERC-20 برخی از ویژگیهای دیگر استانداردها را در خود ندارد. باید منتظر ماند و دید که آیا دیگر انواع قراردادها جای آن را خواهند گرفت یا خیر.