ERC۲۰ چیست؟ همهچیز درباره استاندارد و توکن ERC-20 اتریوم
در نخستین روزهای پیدایش ارزهای دیجیتال، شخصی که قصد ایجاد یک پروژه بلاک چینی را داشت مجبور بود بلاک چین جدیدی را توسعه دهد. این کار درست مانند این بود که آن فرد دوباره از نو چرخ را اختراع کند. اما اکنون با استفاده از اتریوم[1] و استاندارد ERC۲۰ آن هرکسی میتواند بدون ساخت بلاک چین برای خود توکن ایجاد کند.
چنین امکانی بسیار جذاب و وسوسهکننده به نظر میرسد. در این مقاله قصد داریم بررسی کنیم که ERC۲۰ چیست و چگونه این امکان را فراهم میکند. با ما همراه باشید.
توکن و استاندارد ERC20 چیست؟
ERC۲۰ استانداردی مهم در شبکه اتریوم است که به توسعهدهندگان اجازه میدهد بدون اینکه بلاک چین مستقل داشته باشند، توکنهای خود را روی اتریوم بسازند. چنین امکانی بهعلت وجود قراردادهای هوشمند امکانپذیر است. بنابراین ERC20 مجموعهای از قواعد و مقررات است که به شما کمک میکند یک قرارداد هوشمند[2] را بههمراه توکنهایش بر بستر اتریوم بسازید. ERC مخفف Ethereum Request for Comment و ۲۰ عدد شماره این پروپوزال است.
کاربردهای استاندارد ERC20
زمانی که یک قرارداد هوشمند قصد ایجاد یک توکن در پلتفرم اتریوم را داشته باشد، توکن ERC20 وارد بازی میشود. در حقیقت ERC20 زبان مشترکی است که تمام قراردادهای هوشمند در خرید اتریوم[3] از آن استفاده میکنند. این زبان به توکنها، امکان مبادلهشدن توسط یکدیگر را میدهد. برای چگونگی نحوهی کار این استاندارد مثالی میزنیم.
فرض کنید میخواهیم یک بازی بسازیم که کاربران با استفاده از توکنی که برای این بازی طراحی شده است قابلیتهایی را در مراحل مختلف بازی به دست آورده و با یکدیگر به رقابت میپردازند. کاربران برای اینکه بتوانند وارد این بازی شوند باید توکن ما را با استفاده از یکی از ارزهای مجازی مثل بیت کوین[4] بخرند.
در اینجا بد نیست نگاهی به قوانین ERC20 داشته باشیم. ابتدا با فیلدهای اختیاری این استاندارد شروع میکنیم. فیلدهای اختیاری استاندارد ERC20 شامل موارد زیر است:
- اسم توکن (Token Name): نامی است که به توکن پلتفرم خود اختصاص میدهید.
- نماد یا علامت اختصاری (Symbol): نماد اختصاری مربوط به توکن است.
- تعداد اعشار (Decimal): در حقیقت شما در این فیلد، میزان تقسیمپذیری توکن خود را تعیین مینمایید. مثلاً اگر مقدار این فیلد را ۱ قرار دهیم، کمترین مقدار توکن در پلتفرم ما ۰.۱ میشود.
برای مثال بازی، فیلدهای اختیاری را به شکل زیر قرار میدهیم:
- اسم توکن: ArzdigitalGame
- نماد اختصاری توکن: AGM
- اعشار کمترین مقدار: ۲ رقم اعشار
فیلدهای اجباری استاندارد ERC20 عبارتند از:
- مقدار کلی (Total Supply): تعداد کل توکنهایی است که برای پلتفرم خود در نظر میگیریم.
- موجودی (balance of): این متغیر تعداد توکنهای مربوط به هر آدرس کاربری را نشان میدهد.
- انتقال (Transfer): فرایند تخصیص توکنهای اولیه به کاربران است.
- انتقال از (Transfer From): تابع TransferFrom به یک بازیکن امکان میدهد به بازیکنی دیگر توکن بفرستد.
- تأیید (approve): این تابع، تراکنشها را بر مبنای تعداد کلی توکنها میسنجد.
- مجوز (allowance): این تابع، موجودی حساب هر بازیکن را چک کرده و در صورتی که تعداد توکنها کافی نباشد تراکنش را کنسل میکند.
حالا با استفاده از این فیلدها میتوانیم مشخص کنیم که:
- تعداد کل توکنها چقدر باشد.
- موجودی هر کاربری که در ابتدا توکن برای او ارسال میشود چه مقدار باشد.
- به چه کسانی توکنها ارسال شوند.
اهمیت استاندارد ERC20
توکنهای ERC20 در حقیقت همهچیز را ساده میکنند. قبل از رویکارآمدن آنها، هر برنامهای زبان و اصطلاحات مخصوص به خود را داشت. مثلاً یک توکن برای نشاندادن مقدار کلی از عبارت totalAmount استفاده کرده درحالی که دیگری از عبارت totalNumber استفاده میکرد.
در صورت نبودن این استانداردها، تیم توسعهدهنده نرمافزار باید وقت و هزینه زیادی را صرف ساخت بلاک چین و توکن میکرد. همچنین صرافی و کیفپولها میبایست پلتفرم خود را با تکتک زبانها و استانداردهای توکنها سازگار میکردند. با داشتن یک استاندارد جهانی، هر توکن جدید قادر است بهطور خودکار به یک صرافی یا کیف پول اضافه شود.
بیشتر بخوانید: توکن چیست؟ آموزش ساخت و شناخت انواع توکن[5]
جایگزینهای استاندارد توکن ERC20
میدانید که امروزه اتریوم تنها بلاک چینی نیست که از قرارداد هوشمند پشتیبانی میکند. در نتیجه، استانداردهای ساخت توکن هم محدود به اتریوم نیستند.
تعدادی از معروفترین جایگزینهای استاندارد توکن ERC20 عبارتاند از:
- BEP۲۰: استاندارد توکن بایننس اسمارت چین
- TRC۲۰: استاندارد توکن ترون[6]
- Solana SPL: استاندارد توکن سولانا[7]
- Cardano Native Assets: استاندارد توکن کاردانو[8]
در بین این گزینهها، TRC20 از بقیه معروفتر است و کاربردهای زیادی دارد. در نتیجه این استاندارد را با دقت بیشتری بررسی میکنیم.
مقایسه استاندارد ERC20 با TRC20
تفاوتهای بین ERC20 و TRC20 در حقیقت همان تفاوتهای بین اتریوم و ترون هستند. در ادامه نگاهی به مهمترین این تفاوتها خواهیم داشت.
سرعت تراکنشها
توکنهای TRC20 از انواع ERC20 سریعتر هستند. تراکنشهای TRC20 حدود ۳ دقیقه طول میکشند، در حالی که تراکنشهای ERC20 در حدود ۱۵ دقیقه انجام میشوند. این بهدلیل مقیاسپذیری بالاتر ترون است.
کارمزد
مقیاسپذیری بالاتر ترون باعث شده که کارمزد تراکنشهای توکنهای TRC20 هم کمتر از انواع ERC20 باشد.
آدرس توکن
آدرس توکنهای TRC20 با حرف T شروع میشود، در حالی که آدرس توکنهای ERC20 با ۰x شروع میشود.
امنیت تراکنشها
هر دو استانداردهای ERC20 و TRC20 بهاندازه کافی امن هستند. اتریوم و ترون هر دو بلاک چینهای قدیمی و مطرحی هستند و امنیت آنها اثباتشده است. بااینکه ممکن است گفته شود اتریوم کمی از ترون امنتر است، اما تفاوت معناداری بین میزان امنیت آنها وجود ندارد.
مقایسه تتر ERC20 و تتر TRC20
تتر[9] (USDT) اولین و بزرگترین استیبل کوین[10] دنیاست. این استیبل کوین از ابتدا روی اتریوم عرضه شد و از نوع ERC20 بود؛ اما بعدها ورژن ترونی یا همان TRC20 تتر هم عرضه شد. این دو تتر تفاوتی ازنظر کاربرد با هم ندارند و تنها تفاوت آنها این است که تتر TRC20 سریعتر و کارمزد آن بهشدت کمتر است. به همین دلیل، تتر TRC20 در بین کاربران محبوبیت زیادی پیدا کرده و بسیاری استفاده از آن را ترجیح میدهند.
هنگام انتقال تتر به شبکهای که قصد استفاده از آن را دارید توجه کنید. هنگام خرید از صرافی یا واریز به آن، خود صرافی از شما میخواهد که نوع شبکه را مشخص کنید. همچنین پیشتر توضیح دادیم که آدرسهای اتریوم با ۰X و آدرسهای تتر با T شروع میشوند. اگر تترهای خود را به شبکه اشتباه انتقال دهید، امکان بازگرداندن آن وجود نخواهد داشت.
سؤالات متداول
معمولاً هر تراکنش اتریوم به حداقل ۱۲ تأیید برای نهاییشدن نیاز دارد و این یعنی هر تراکنش حداقل ۵ دقیقه طول میکشد.
کارمزد تراکنش توکنهای ERC20 به کارمزد اتریوم بستگی دارد و روزانه متغیر است. از سایتهایی مانند ycharts.com[11] میتوانید آن را چک کنید.
بله، اتریوم یک بلاک چین آزاد است و هر شخصی با داشتن دانش موردنیاز میتواند برای خود یک توکن بسازد؛ اما توکن شما بهخودیخود هیچ ارزش مالی ندارد و اینکه چگونه ارزش پیدا میکند به پروژه شما بستگی دارد.
References
- ^اتریوم چیست؟ آشنایی با Ethereum، بلاک چین قرارداد هوشمند (arzdigital.com)
- ^قراردادهای هوشمند به زبان ساده (arzdigital.com)
- ^خرید اتریوم (ETH) | فروش اتریوم با تومان در ایران (arzdigital.com)
- ^بیت کوین چیست؟ آشنایی با ارز دیجیتال Bitcoin یا BTC (arzdigital.com)
- ^توکن چیست؟ مقایسه کوین (Coin) و توکن (Token) (arzdigital.com)
- ^ترون چیست؟ آشنایی پروژه و ارز دیجیتال TRX (arzdigital.com)
- ^سولانا چیست؟ آشنایی با ارز دیجیتال Solana یا قاتل اتریوم (arzdigital.com)
- ^کاردانو چیست؟ آشنایی ارز دیجیتال آدا ADA و بلاک چین Cardano (arzdigital.com)
- ^تتر چیست؟ آشنایی با استیبل کوین و ارز دیجیتال USDT (arzdigital.com)
- ^استیبل کوین (Stablecoin) یا ارز دیجیتال باثبات چیست؟ (arzdigital.com)
- ^ycharts.com (ycharts.com)
- ^سالیدیتی چیست؟ نوشتن قرارداد هوشمند با زبان Solidity (arzdigital.com)