استاندارد ERC 20 چیست و چه کاربردی دارد؟
اگر به دنبال نوشتن قرارداد هوشمند در بستر بلاک چین اتریوم هستید، حتما واژه ERC۲۰ به گوشتان خورده است. در این مقاله میخواهیم توضیح دهیم که این استاندارد چیست و استفاده از آن در نوشتن قرارداد هوشمند چه مزایا و معایبی دارد.
بخش ERC در ERC۲۰ مخفف عبارت Ethereum Request for Comments است. RFC خلاصه شده عبارت Request For Comment بوده و اسناد RFC مجموعه اي از يادداشت هاي تکنيکي و سازمان يافته ميباشند که پيرامون اينترنت و مباحث جنبي آن رشد پيدا کردهاند. اين اسناد که از سال ۱۹۶۹ ميلادي تا به امروز در حال تنظيم و توسعه توکن ERC20 چیست؟ هستند، حاوي بسياري از مفاهيم شبکه هاي کامپوتري مثل قراردادها (پروتکل ها)، رويه ها، برنامه ها و مفاهيم انتزاعي ميباشند. مرکز رسمی برای تبيين و نظارت بر اين قراردادها سازمان IETF ميباشد.
به زبان سادهتر ERC، پروتکل رسمی برای بهبود بلاک چین اتریوم است. عدد ۲۰ هم نشان دهنده یک شناسه خاص برای پروتکل ERC۲۰ میباشد. این پروتکل در سال های اخیر نقش اساسی در صنعت بلاک چین و ارزهای دیجیتالی داشته است و کمک کرده تا هزاران برنامه غیر متمرکز (DApps) در یک پلتفرم به صورت استاندارد توسعه یابند.
استاندارد ERC۲۰ به توسعه دهندگان و شرکت ها اجازه میدهد تا پروژه های خود را توکنیزه کرده و از طریق ICO جذب سرمایه کنند. این استاندارد مجموعهای از توابع پایهای است که توسعه دهندگان برنامه در بستر بلاک چین اتریوم باید آنها را پیادهسازی کنند تا توکن آنها یک توکن ERC۲۰ باشد. هرچند که استفاده از این استاندارد اجباری نیست، ولی اکثر توسعه دهندگان آن را رعایت میکنند تا مطمئن باشند که توکن آنها میتواند با انواع کیف پول ها، صرافی ها و قراردادهای هوشمندبدون مشکل کار کند.
شرایط استاندارد ERC۲۰
برای اینکه توکن شما یک توکن ERC۲۰ باشد و بتواند به راحتی با سایر قراردادهای هوشمند ارتباط بگیرد، ۶ تابع خاص باید در قرارداد هوشمند توکن شما پیاده سازی شده باشد. این توابع و ورودی و خروجی آنها عبارتند از:
دو مورد آخر رویداد هستند و برای نوشتن روی لاگ بلاک چین استفاده میشوند.
با پیادهسازی این توابع، توکن های ERC۲۰ باید بتوانند ۴ فعالیت زیر را انجام دهند:
- ارائه تعداد کل توکن های عرضه شده
- ارائه موجودی حساب کاربری
- انتقال توکن از یک فرد به فرد دیگر
- موافقت با استفاده از توکن به عنوان دارایی پولی
تفاوت توکنهای ERC۲۰ و کوین های با بلاک چین مستقل
توکن ها در بستر بلاک چین اتریوم، داراییهایی هستند که ارزش دارند. آنها همانند بیت کوین، لایت کوین و اتریوم ارسال توکن ERC20 چیست؟ و دریافت میشوند. تفاوت این توکن ها با ارزهای دیجیتالی که مانند بیت کوین بلاک چین جداگانه دارند، این است که این توکن ها از آدرس های اتریوم استفاده میکنند و تراکنش های خود را روی بلاک چین اتریوم میفرستند؛ درحالی که کوینی مثل بیت کوین، بلاک چین مخصوص خودش را دارد و تراکنش های آن روی بلاک چین بیت کوین ثبت میشوند.
مزایا و معایب ERC20
مزایای توکن ERC20
پیش از اینکه این استاندارد به وجود بیاید، برنامه نویسها از اسامی متفاوتی برای نوشتن کد خود استفاده میکردند. برای مثال یکی از اسم تابع totalAmount برای ارائه تعداد کل توکنهای عرضه شده استفاده میکرد و دیگری از totalNumber. به دنبال آن کیف پولها و صرافیها برای ارتباط گرفتن با هر توکن مجبور بودند کد هر توکن را بخوانند و برای ارتباط با آن توکن، تغییرات لازم را در پلتفرم خود اعمال کنند. بنابراین استفاده از یک استاندارد مشخص مزایای زیر را دارد:
- یکریختی توکنها
- سادگی لیست شدن در اکسچنج ها برای ترید
- سادگی برای ارتباط با سایر قراردادهای هوشمند
- سادگی برای تعامل با کیف پول های مختلف
معایب ERC۲۰
مسائلی وجود دارد که استاندارد ERC۲۰ به آنها نپرداخته است. در این استاندارد گیرنده از دریافت توکن مطلع نمیشود و این امر میتواند منجر به از دست رفتن سرمایه کاربر شود. برای مثال اگر شما توکنهای خود را به آدرس قرارداد هوشمند یک توکن ERC۲۰ دیگر ارسال کنید، توکن های شما در آن آدرس گیر میافتد؛ درحالی که چنین تراکنش هایی باید برگشت بخورند. تا آخر سال ۲۰۱۷ حدودا ۳ میلیون دلار به این دلیل از دست رفته است.
برای حل این مشکل جامعه اتریوم اکنون استاندارد جدیدی به نام ERC-۲۲۳ معرفی کرده است. این استاندارد اجازه نمیدهد که توکن به آدرسی که از دریافت آن توکن پشتیبانی نمیکند، ارسال شوند.
مشکل نرم افزاری batchOverflow مشکل دیگری است که این استاندارد محدودیتی برای آن در نظر نگرفته است. وجود این مشکل توکن ERC20 چیست؟ در یک توکن میتواند منجر به خرج کردن مبلغی بیش از موجودی، از یک آدرس شود. در ماه آوریل سال ۲۰۱۸ به دلیل این مشکل نرم افزاری، تعدادی از صرافیها امکان برداشت و واریز تعدادی از توکنهای ERC۲۰ را موقتا بستند. این مشکل، همان مشکل کلاسیک سرریزی نوع دادهای integer است که هکرها از طریق آن میتوانند مقداری زیادی توکن بدست آورند.
ERC20 چیست و در بستر اتریوم چه معنایی دارد؟
اتریوم یک ارز دیجیتال مشهور بر اساس فناوری بلاک چین است که بر پایه استفاده از توکنهایی که خریده، فروخته یا مبادله میشوند، عمل میکند. توکنهای مختلفی مانند اتر وجود دارند که با شبکه اتریوم در ارتباط هستند، تنها تفاوت اتر با دیگر توکنها این است که ارز اصلی شبکه اتریوم محسوب میشود. در این مورد، توکنها بیانگر داراییهای دیجیتالی هستند که میتوانند ارزشهای مختلفی داشته باشند. آنها میتوانند بیانگر داراییهایی به گستردگی سندهای حسابداری یا حتی اشیایی در دنیای واقعی باشند. در حقیقت، توکنها پیمانهای هوشمندانهای هستند که از بلاک چین اتریوم استفاده میکنند. یکی از مهمترین استانداردهای توکنهای اتریوم، ERC20 نامیده میشود که حدود دو سال قبل توسعه پیدا کرد. در این مقاله با برخی از ویژگیهای این استاندارد آشنا خواهیم شد و خواهیم فهمید که ERC20 چیست و چگونه عمل میکند.
ERC20 چگونه به توسعه دهندگان قدرت میدهد؟
به طور خلاصه، ERC20 یک فهرست متداول از قوانین برای تمام توکنهای اتریوم معرفی میکند که باید آن را دنبال کنند. به این معنی که به همهی توسعهدهندگان این امکان را میدهد تا بهطور دقیق پیشبینی کنند که چطور هر توکن جدید و خاص، درون سیستم بزرگتر اتریوم عمل خواهد کرد. بنابراین تاثیری که ERC20 برای توسعهدهندگان دارد قابل توجه است، چرا که هر بار که یک توکن توسط یک شرکت جدید آزاد میشود لازم نیست پروژهها دوباره انجام شوند.
در عوض، شبکه اتریوم طوری طراحی شده است تا با توکنهای جدید سازگار باشد و از طرفی توکنها هم طوری ایجاد میشوند که به قوانین اتریوم وفادار باشند. توسعهدهندگان توکنهای جدید به طور گسترده قوانین ERC20 را رعایت کردهاند، به این معنی که بیشتر توکنهایی که از طریق عرضه اولیه سکههای اتریوم آزاد شدهاند، با قوانین ERC20 هم راستا هستند.
عملکردها و سیگنال های ERC20 چیست ؟
ERC20 شش عملکرد مختلف توکن ERC20 چیست؟ را برای توکنها در سیستم اتریوم تعریف میکند. اینها بهطور کلی شامل این میشوند که چگونه توکنها انتقال پیدا کنند و کاربران در چه شرایطی میتوانند به دادههای توکنها دسترسی داشته باشند. ERC20 همچنین دو سیگنال مختلف را تعیین میکند که هر توکن باید به آن متعهد شود تا توکنهای دیگر توکن ERC20 چیست؟ هم با آن وفق پیدا کنند.
با کنار هم گذاشتن مجموعهی عملکردها و سیگنالها، سیستم تضمین میکند که انواع مختلف توکن اتریوم در هر مکانی درون یک سیستم اتریوم مشابه کار کنند. این فرایند به این معنی است که تقریبا تمام کیف پولهایی که از ارز اتر پشتیبانی میکنند، از توکنهای منطبق با ERC20 هم پشتیبانی میکنند.
ERC20 از نظر فنی هنوز در قالب پیشنویس است، با این حال به نظر میرسد سرعت فراگیری آن آنچنان سریع است که بسیار احتمال دارد تمام توکنهای جدیدی که ارائه میشوند با قوانین ERC20 وفق پیدا کنند. به دلیل این که استاندارد ERC20 جدید است، پس احتمالا اشکالاتی در آن مشاهده خواهد شد که انتظار میرود همگام با ادامهی توسعهی اتریوم، جهت رفع آن اقدام شود.
تاکنون یک مسئلهی مهم در توکنهای اتریوم این بوده که توکنهایی که مستقیما به یک قرارداد هوشمند اتریوم فرستاده میشوند، ممکن است پول از دست بدهند. یک خطا در پروتکل به این معنی است که یک قرارداد توکن نمیتواند به ایجاد انتقال مستقیم پاسخ دهد، در نتیجه منجر به از دست دادن پولی میشود که همراه با آن انتقال نهفته است. بر طبق گزارش «کویندسک» CoinDesk، اخیرا حدود ۷۰ هزار دلار (۳۱۵ میلیون تومان) به این دلیل از بین رفته است. با این وجود، استاندارد ERC20 یک جنبهی حیاتی اتریوم در امروز و آینده خواهد بود.
کارمزد انتقال توکن BEP20 در شبکه و مقایسه آن با کارمزد ERC20
اگر در بازار ارزهای دیجیتال فعال باشید، حتماً تاکنون نام شبکه انتقال و استاندارهای BEP2 ،BEP20 و ERC20 را شنیدهاید. اینها نام استانداردهایی است که برای شبکههای مختلف تعریف شده تا سازندگان توکنها و کاربران بتوانند بر اساس این استاندارد عمل کنند و یکنواختی در شبکه وجود داشته باشد. هر کدام از این استانداردها روش رفتار و کارمزد انتقال متفاوتی دارند. به عنوان مثال کارمزد انتقال BEP20 با کارمزد انتقال ERC20 کاملاً متفاوت است.
توکن BEP2 چیست؟
BEP2 استاندارد توکن مورد استفاده پلتفرم BNB است. این استاندارد مشخصاتی را برای ایجاد و انتشار توکن در این بلاکچین ارائه میکند. تراکنشهای توکن BEP2 توسط بسیاری از کیف پولهای محبوب مانند تراست والت (Trust Wallet)، کیف پولهای لجر (Ledger) و ترزور مدل تی (Trezor Model T) پشتیبانی میشوند. اگر میخواهید با استفاده از توکنهای BEP2 تراکنش انجام دهید، باید از رمزارز BNB برای پرداخت سوخت شبکه، یعنی کارمزد تراکنشها استفاده کنید.
مزیت BEP2 راحتی ترید بین ارزهای دیجیتال مختلف در قالب صرافی غیر متمرکز (DEX) است. با وجود اینکه بسیاری از توکنها و DAppها از این استاندارد استفاده میکنند، BEP2 از قراردادهای هوشمند پشتیبانی نمیکند.
BEP20 چیست؟
BEP20 استاندارد توکن مورد استفاده BSC یعنی شبکه هوشمند بایننس است و استانداردی همهکاره است که برای سازگاری با BEP2 و ERC20 اتریوم طراحی شده است.
BEP20 و BSC فرصتهایی را برای کاربران فراهم کردند تا به تعداد زیاد و به سرعت به DAppها دسترسی داشته باشند. ظرف چند ماه پس از راهاندازی شبکه هوشمند بایننس، این شبکه به رقیب اصلی اتریوم برای توسعه DAppها تبدیل شد. یکی از دلایل آن این است که کارمزد انتقال BEP20 بسیار کمتر از شبکه اتریوم است.
مشابه BEP2، برای پرداخت کارمزد انتقال BEP20 به رمزارز BNB نیاز است. شما همچنین میتوانید بین BEP2 و BEP20 با استفاده از Bridge معامله کنید. بریج یک سرویس بین زنجیرهای است که برای تسهیل قابلیت همکاری بین چندین بلاکچین از جمله اتریوم و ترون طراحی شده است.
ERC20 چیست؟
ERC20 استانداردی است که توسط بلاکچین اتریوم برای توکنهای قابل تعویض استفاده میشود. هر واحد از توکنهای قابل تعویض دارای یک ارزش استاندارد هستند.
توکنهای قابل تعویض با توکنهای غیرقابل تعویض یا در اصطلاح توکن NFT متفاوت هستند. توکنهای غیر قابل تعویض دارای یک مقدار غیراستاندارد و یکتا هستند که به هر توکن اختصاص داده شده است. استاندارد اتریوم برای NFTها استاندارد ERC721 است.
ERC20 به طور گسترده برای توسعه قراردادهای هوشمند برای DApps در اتریوم استفاده میشود.
با توجه به محبوبیت ERC20، تراکنشهای توکن ERC20 توسط تعداد زیادی کیف پول از جمله کیف پول MyEtherWallet، کیف پول متامسک و کیف پول تراست والت پشتیبانی میشوند.
تفاوت BEP2 و BEP20
با توجه به محبوبیت فزاینده قراردادهای هوشمند و اپلیکیشنهای غیر متمرکز (DApps)، توکنهای BEP20 و ERC20 به مراتب بیشتر از BEP2 استفاده میشوند. BEP2 ممکن است برای کسی که میخواهد ارز دیجیتال را با استفاده از جفت ارزهای مختلف معامله کند، جالب باشد. اما BEP2، با توجه به عدم پشتیبانی آن از قراردادهای هوشمند، به شما اجازه دسترسی به دنیای غنی DApps را نخواهد داد. از این نظر، رقابت واقعی بین BEP20 و ERC20 است.
تفاوت BEP20 و ERC20 از جنبه ویژگیهای استاندارد
هدف اصلی یک استاندارد توکن، مشخص کردن پارامترهایی است که به آنها در دنیای بلاکچین توابع گفته میشود که توسط قراردادهای هوشمند، کیف پولها و بازارها هنگام تعامل با توکن مورد استفاده قرار میگیرند. هر دو استاندارد ERC20 و BEP20 شامل شش تابع هستند که میتوانند برای یک توکن مشخص شوند. این توابع به ترتیب در خدمت اهداف زیر هستند:
- نشاندهنده کل عرضه توکن
- نمایش موجودی توکن یک آدرس در شبکه
- تعریف نحوه ارسال توکنها به یک آدرس
- تعریف نحوه ارسال توکنها از یک آدرس
- تعیین اینکه آیا برداشتهای متعدد از یک آدرس مجاز است یا خیر و چگونه ممکن است
- تعیین محدودیت برای مبالغی که یک آدرس میتواند از آدرس دیگری برداشت کند
BEP20، به عنوان یک استاندارد جدیدتر که ERC20 را گسترش میدهد، دارای چهار عملکرد اضافی است که به ترتیب اطلاعات زیر را مشخص میکند:
- نام توکن
- نماد توکن
- تعداد اعشار برای یک واحد نشانه
- آدرس صاحب نشانه
از این نظر، BEP20 را میتوان به صورت دقیقتر توصیف کرد.
تفاوت کارمزد انتقال BEP20 و ERC20
در مقایسه با ERC20، کارمزد انتقال BEP20 بسیار کمتر است که عمدتاً به لطف روش اعتبارسنجی شبکه بایننس اسمارت چین (BSC) است. مدل اعتبارسنجی این شبکه، PoSA یا گواه اثبات اعتبار سهام است. نودها یا گرههای اعتبارسنجی، تعداد معینی رمزارز BNB را برای تأیید یک تراکنش به اشتراک میگذارند. 21 گره برتر با بالاترین مقدار BNB استیک شده حق و امتیاز اعتبارسنجی را دریافت میکنند.
کارمزد انتقال BEP20 برای یک تراکنش متوسط احتمالاً بیش از چند سنت نخواهد شد. در مقایسه، میانگین هزینه گس انتقال توکن ERC20 که حدود 12 دلار است. به طور خلاصه، از نظر کارمزد انتقال BEP20 همیشه برنده آشکار نسبت به ERC20 است.
تفاوت BEP20 و ERC20 از جنبه سرعت اعتبارسنجی بلاک
روش PoSA همچنین باعث میشود تراکنشهای BEP20 سرعت اجرای سریعتری نسبت به تراکنشهای ERC20 داشته باشد. در حالی که زمان تأیید تراکنشها متفاوت است، متوسط زمان تأیید بلاک در بلاکچینهای بر مبنای BSC حدود 3 ثانیه و برای اتریوم نزدیک به 15 ثانیه است. این بدان معنی است که یک تراکنش معمولی BEP20 احتمالاً 5 برابر سریعتر از یک توکن ERC20 چیست؟ تراکنش ERC20 مشابه اجرا میشود.
البته شبکه اتریوم قصد دارد که از Proof of Work (PoW)، یعنی گواه اثبات کار، به Proof of Stake (PoS)، یعنی گواه اثبات سهام، تغییر روش دهد که این تغییر میتواند زمان اجرای تراکنشهای ERC20 را به میزان قابل توجهی کم کند.
تفاوت BEP20 و ERC20 از جنبه تنوع توکنها
اتریوم بزرگترین پلتفرم قرارداد هوشمند جهان است که نزدیک به 3000 DApp دارد که اکثریت قریب به اتفاق آنها بر اساس استاندارد ERC20 هستند. در مقایسه، BSC در حال حاضر فقط نزدیک به 900 DApp را میزبانی میکند که اکثر آن بر اساس BEP20 است. با این حال، نرخ رشد چشمگیر BSC در مدت کمتر از یک سال از زمان راهاندازی آن منجر به انفجار در تعداد پروژههای BEP20 شده است.
تفاوت BEP20 و ERC20 از جنبه امنیت پلتفرم
در حالی که کارمزد انتقال توکنهای BEP20 ارزانتر هستند و زمان اجرای کمتری دارند، مدل اعتبارسنجی PoSA در شبکه هوشمند بایننس (BSC) به دلیل ضعفهای امنیتی بالقوهاش مورد انتقاد قرار گرفته است. شکایت اصلی مربوط به سطح پایینِ عدم تمرکزِ شبکه، در هنگام تأیید تراکنشها است.
BSC فقط به 21 اعتبارسنج انتخابشده برای تأیید بلوک متکی است. در مقایسه، اتریوم بیش از 70 هزار اعتبارسنج دارد که در شبکه خود توزیع شدهاند. تعداد کم اعتباردهندهها در BSC ممکن است باعث ایجاد مشکلات اعتماد در بین کاربران بالقوه شود.
در اصل، میتوان گفت که توکنهای BEP20 هزینههای گس کمتر و زمانهای اجرایی بالاتری را به قیمت امنیت و عدم تمرکز ارائه میکنند. برای افرادی که به شدت روی امنیت تمرکز دارند، توکنهای ERC20، ممکن است آرامش بیشتری را فراهم کنند.
سخن پایانی
برای یک فرد معمولی که به اپلیکیشنهای غیر متمرکز (DApps) و توکنها علاقه دارد، نکته کلیدی این است که BEP2 ،BEP20 و ERC20 به استانداردهای توکن مورد استفاده توسط بلاکچینهای مربوطه خود اشاره میکنند. وقتی کیف پول شما پیشنهاد انتقال توکنها با استفاده از این استانداردها را میدهد، به سادگی به این معنی است که تراکنش با استفاده از پلتفرم مربوطه BNB برای BEP2، و BSC برای BEP20 یا اتریوم برای ERC20 انجام میشود.
BEP2 در حالی که انتخاب مناسبی برای تجارت ارزهای دیجیتال مبتنی بر DEX است، از قراردادهای هوشمند پشتیبانی نمیکند. BEP20 و ERC20 به شما امکان دسترسی به انواع غنی از DApps و توکنها را بر اساس فناوری قرارداد هوشمند میدهند.
از نظر فنی، استاندارد BEP20 در مقایسه با ERC20 مشخصات توکن دقیقتری دارد؛ عمدتاً به این دلیل که BEP20 بر اساس ERC20 ساخته شده و آن را گسترش میدهد.
کارمزد انتقال BEP20 نسبت به ERC20 کمتر است و زمان اجرای سریعتر دارد. با این حال، زمانی که اتریوم به مدل اعتبارسنجی PoS منتقل شود، این مزایا ممکن است کاهش یابند یا شاید ناپدید شوند. مزایای ERC20 نسبت به BEP20 انتخاب گستردهتر توکنها و DAppsهای موجود برای این استاندارد و همچنین یک روش تأیید غیرمتمرکز امنتر است.
TRC-20 و ERC-20 چه تفاوتی با یکدیگر دارند؟
TRC-20 و ERC-20 هردو استاندارد توکن هستند. استانداردها قوانینی هستند که نشان میدهند توکنهایی که بر اساس آنها ایجاد شدهاند، چه ماهیت و کارکردی دارند. از نامهای این دو استاندارد میتوان حدس زد که “TRC-20” متعلق به بلاکچین ترون و “ERC-20” متعلق به بلاکچین اتریوم است.
گفته میشود که “TRC-20” برای رقابت با اتریوم و جذب کاربران این شبکه به بلاکچین ترون ساخته شده است. این رقابت در اخباری که جستهوگریخته میخوانیم و میشنویم پیداست. چنانکه ویتالیک بوترین، خالق اتریوم، ترون را به تندی نقد کرده، نقصهای ترون را 10 برابر اتریوم دانسته و حتی علاقۀ جامعۀ بیتکوین به ترون را به اتحاد آلمان و ژاپن در جنگ جهانی دوم تشبیه کرده است! (1) با این توصیف، جالب است که بدانیم بالاخره تفاوتها و شباهتهای این دو شبکه و به ویژه استانداردهای “TRC-20” و “ERC-20” چیست. در این مقاله همراه ما باشید.
استاندارد “TRC-20” چیست؟
پیش از توضیح استاندارد “TRC-20”، ابتدا بهتر است دربارۀ بلاکچین ترون بیشتر بدانیم. ترون یک پلتفرم غیرمتمرکز و متکی بر بلاکچین است که به کاربرانش اجازه میدهد که به آسانی و به صورت مقرونبهصرفهای محتوای دیجیتال در اختیار داشته باشند و آن را به اشتراک بگذارند. ترون در سپتامبر 2017 به دست یک بنیاد غیرانتفاعی در سنگاپور به نام بنیاد ترون ساخته شد. مدیرعامل ترون جاستین سان (Justin Sun) است.
ترون با استفاده از شبکۀ همتا-به-همتا تلاش میکند که با حذف واسطه، شکاف و فاصلۀ میان خالق محتوا و مشتریان را از میان بردارد. در این شبکه افراد برای استفاده از یک محتوا، مستقیما به تولیدکنندۀ آن پرداخت میکنند. این به معنای اتکا به یک فناوری ذخیرهسازی توزیعشده و غیرمتمرکز است. ترون قصد دارد، با استفاده از این فناوری، با این واقعیت که اینترنت و محتوای آن تحت کنترل شرکتهای اندک اما قدرتمندی است، وارد مبارزه شود.
بلاکچین ترون همچنین کریپتوکارنسی خود را دارد که ترونیکس (TRX) نامیده میشود و در مارس 2021 از نظر ارزش بازار به ردۀ 22ام کریپتوکارنسیها رسید.
حال پس از این توضیح مختصر، میتوانیم به اصل مطلب بپردازیم: “TRC-20” یک استاندارد فنی است که برای اجرای قراردادهای هوشمند در بلاکچین ترون (TRON) و صدور توکن در این شبکه استفاده میشود. البته این تنها استاندارد صدور توکن در شبکۀ ترون نیست. پیش از “TRC-20”، استاندارد “TRC-10” وجود داشته و هنوز هم به دلیل سازگاری این استاندارد با اکثر کیفپولهای کریپتو و سهولت استفاده از آن، بیشتر توکنهای بازار متکی بر استاندارد “TRC-10” هستند. این استاندارد تماماً به دست شبکه بومی خود (یعنی ترون) به وجود آمده و برخلاف “TRC-20” متکی بر ماشین مجازی ترون (TRON virtual machine) نیست.
در مقابل، “TRC-20” هماکنون بسیار مورد توجه علاقهمندان به کریپتو است. این استاندارد به کاربران اجازه میدهد که معاملات ایمن و سریعی داشته باشند. ضمن آنکه استاندارد “TRC-20” ظرفیت پهنای باند بیشتری را در مقایسه با استاندارد “TRC-10” ارائه میدهد.
به گفتۀ بسیاری از منابع، “TRC-20” برای رقابتپذیر کردن شبکۀ ترون با شبکۀ اتریوم به وجود آمده است. حتی بعضا به “TRC-20” عنوان قاتل اتریوم (ethereum killer) را نیز اطلاق میکنند و این استاندارد را با منطبق با “ERC-20” و رقیب آن میدانند. چرا اینگونه است؟ برای آنکه پاسخ این سوال را پیدا کنیم، بهتر است ابتدا دربارۀ شبکۀ اتریوم و استاندارد “ERC-20” بیشتر بدانیم.
استاندارد “ERC-20” چیست؟
برای علاقهمندان دنیای کریپتو، شبکۀ اتریوم شناختهشدهتر از آن است که بخواهیم آن را معرفی کنیم. لذا کوتاه میگوییم که: اتریوم در سال 2015 به دست ویتالیک بوترین پایهگذاری شد. اتریوم یک بلاکچین منبعباز و غیرمتمرکز است. ویژگی منحصربهفرد پلتفرم اتریم آن است که از اجرای برنامههای قرارداد هوشمند و ایجاد اپلیکیشنهای غیرمتمرکز یا “dApps” پشتیبانی میکند. اتریوم یکی از عوامل رشد محبوبیت کریپتوکارنسیها بوده و طیف متنوعی از داراییهای دیجیتال را عرضه میکنند. ارز بومی اتریوم با نام اتر (ETH)، پس از بیتکوین، دومین کریپتوکارنسی بازار است.
یکی از مهمترین استانداردهای صدور توکن در شبکۀ اتریوم “ERC-20” است. “ERC-20” یک استاندارد فنی است که برای قراردادهای هوشمند بلاکچین اتریوم استفاده میشود و فهرستی از قواعد را در بردارد که توکنهای مبتنی بر شبکۀ اتریوم باید از آن پیروی کنند. محتوای “ERC-20” به طور کلی عبارتند از: توکنها چگونه میتوانند منتقل شوند، توکنها چگونه تأیید میشوند و چگونه کاربران میتوانند به اطلاعاتی دربارۀ یک توکن دست یابند و … .
استاندارد “ERC-20” تضمین میکند که میان توکنهای مختلفی که در اتریوم صادر شده، سازگاری و هماهنگی وجود دارد. پیش از به وجود آمدن این استاندارد، این هماهنگی و یکپارچگی وجود نداشت، و برای انتقال و مبادلۀ توکنها این سازگاری میان پلتفرمها باید مورد به مورد ایجاد میشد. اما هماکنون اکثریت توسعه دهندگان توکن در بلاکچین اتریوم خود را با قواعد “ERC-20” تطبیق دادهاند و اکثریت توکنهای صادر شده در اتریوم با استاندارد “ERC-20” سازگار هستند.
تفاوت “TRC-20” و “ERC-20” چیست؟
در وهلۀ نخست، تفاوت میان استانداردهای “TRC-20” و “ERC-20” را باید در تفاوت میان بلاکچینهای آنها جستوجو کرد. بلاکچینهای ترون و اتریوم از مناظری بسیار به یکدیگر شبیه هستند، اما تفاوتهای اساسی نیز با هم دارند.
ترون همانند اتریوم از یک ماشین مجازی با عنوان ماشین مجازی ترون (TVM) استفاده میکند و این ماشین مجازی نوعی سیستم عامل برای قراردادهای هوشمندی است که در این شبکه اجرا میشود. این ماشین مجازی از همان زبان برنامهنویسی اتریوم استفاده میکند؛ بنابراین توکنها و قراردادهای هوشمندی که در ترون ایجاد میشوند با اتریوم سازگار هستند. در واقع طراحان ترون از ابتدا قصد داشتند شرایطی را فراهم کنند که توسعهدهندگان بتوانند اپلیکیشنها و توکنهای خود را از اتریوم به ترون انتقال دهند.
اما میان این دو شبکه تفاوتهای بنیادینی نیز وجود دارد:
1- برخلاف ترون که از مدل اثبات سهام (POS) بهره میگیرد، اتریوم از مدل اثبات کار (POW) استفاده میکند (هرچند اخیرا اعلام کرده که در حال گذار به مدل اثبات سهام است). در اثبات کار، افراد متصل به شبکه، برای تأیید معاملهها و تولید بلاک، قدرت پردازش رایانۀ خود را به شبکه اختصاص میدهند و پاداش دریافت کنند. در مقابل، اثبات سهام نیاز به مصرف برق و رایانه ندارد؛ افرادی توکن ERC20 چیست؟ که بخواهند در تأیید معاملات مشارکت کنند، باید مقدار مشخصی از ارز آن شبکه را خریداری کنند و آن را به مثابۀ سهام خود در اختیار شبکه بگذارند؛ هرچه میزان این سهام بیشتر باشد، شانس فرد برای انتخاب شدن در تولید بلاک بعدی بیشتر است.
2- به دلیل استفاده از مدل اثبات سهام، شبکۀ ترون در مقایسه با اتریوم مقیاسپذیری بالاتری دارد و در انجام تراکنشها سرعت بالا و کارمزد پایینتری دارد. سرعت تراکنش در شبکۀ ترون 15 ثانیه است و همین موضوع ترون را در برابر اتریوم رقابتپذیر کرده است
3- با وجود آنکه ترون سرعت بالاتر و کارمزد پایینتری را در تراکنشها ارائه میدهد، اما رقابت با اتریوم برای این شبکه ساده نیست. اتریوم از نظر امنیت، سرمایه بازار و وسعت جامعۀ پشتیبان بر ترون هنوز برتری دارد. این شبکه سابقۀ طولانیتری از ترون دارد و محبوبترین ارز دیجیتال بعد از بیتکوین را به بازار معرفی کرده است (اتر). اتریوم نخستین شبکهای است که علاوه بر تراکنش ارز، امکانات دیگری مانند قراردادهای هوشمند را معرفی کرده و به نظر میرسد که فرصتهای توسعۀ خدمات در اتریوم همچنان متنوعتر است. این شبکه مهمترین مهره در اکوسیستم “DeFi” است و هماکنون میزبان بیش از 3000 اپلیکیشن غیرمتمرکز است. همچنین به گفتۀ کارشناسان امنیت شبکۀ اتریوم بالاتر است، و هک شدن آن تقریبا غیرممکن است.
حال اگر بخواهیم به طور خاص میان توکنهای ساخته شده بر اساس استانداردهای “TRC-20” و “ERC-20” را مقایسه کنیم، به شباهتها و تفاوتهای ذیل میرسیم:
- توکنهای “TRC-20” و “ERC-20” هردو از قواعد اجباری و اختیاری مشابهی تبعیت میکنند، قواعد اجباری این دو استاندارد عبارتند از:
- “Total Supply” به حداکثر تعداد توکنی که میتواند در پلتفرم اتریوم یا ترون صادر شود، یا میزان ذخیره توکنی که یک قرارداد هوشمند در اختیار دارد، اشاره میکند.
- “BalanceOf” بقیۀ توکنهای حسابکاربری یک کاربر ترون یا اتریوم را بازمیگرداند.
- “Transfer” به توکنها اجازه میدهد که از قرارداد هوشمند به حساب یک کاربر منتقل شوند.
- “TransferFrom” به یک عامل سوم، مانند یک قرارداد هوشمند دیگر، این اجازه را میدهد که از حساب یک کاربر توکن بردارد و به جای دیگر انتقال دهد. یعنی یک کاربر میتواند به یک کاربر یا قرارداد هوشمند دیگر این اختیار را بدهد که موجودی حساب او را منتقل کند.
- “Approve” یک کارکرد قابل برنامهریزی است که به کاربر این امکان را میدهد که تعداد توکنی را که یک قرارداد هوشمند میتواند از موجود او کسر کند، محدود نماید.
- “Allowance” همراه با “Approve” استفاده میشود. برای مثال وقتی کاربر به یک قرارداد هوشمند اجازه داده که توکنهای او را مدیریت کند، میتواند از “Allowance” نیز استفاده کند تا تعیین کند که چقدر از توکنهای خود را بازگرداند.
همچنین با استفاده از قواعد اختیاری این استانداردها، میتوان نام کامل توکن، نام اختصاری توکن و همچنین میزان تقسیمپذیری آن (کسر اعشاری) را تعیین کرد.
- قواعدی که توکنهای “TRC-20” و “ERC-20” از آنها به صورت یکپارچهای تبعیت میکنند (در بالا ذکر شد)، به ما اجازۀ اجرای عملکردهای متنوع و متفاوتی را میدهد، برای مثال میتوان موجودیها را بررسی کرد، وجوه را جابهجا کرد، از اپلیکیشنهای غیرمتمرکز برای مدیریت توکنها استفاده کرد و … .
- توکنهای مبتنی بر این استانداردها، بر خلاف ارزهای دیجیتال شبکهشان، یعنی اتر و ترونیکس، در حسابهای کاربری نگاه داشته نمیشوند، و تنها در یک قرارداد هوشمند وجود دارند. برای جابهجایی این توکنها، کاربران باید تراکنشی را به این قرارداد بفرستند و از آن بخواهند که مقداری از موجودی خود را به جای دیگری بفرستد.
- با توجه به برتری شبکۀ ترون بر اتریوم از نظر مقیاسپذیری که در بالا به آن اشاره شد، اگر یک کاربر بخواهد در ساعات اوج تراکنشها یک توکن “ERC-20” را در شبکه جابهجا کند، در مقایسه با “TRC-20”، با تراکم شبکه مواجه میشود و در نتیجه تأخیر و کارمزد بالاتری را متحمل میشود.
در اینباره میتوان تتر “TRC-20” و “ERC-20” را با هم مقایسه کرد. تتر شاید بزرگترین و شناختهشدهترین پروژهای باشد که از هردوی این استانداردها استفاده میکند. در اوایل سال 2021 تعداد تراکنش تتر “TRC-20” از تتر “ERC-20” پیشی گرفت، و این نشان میدهد که کارمزد بالاتر و زمان بیشتر تراکنش در اتریوم برای بسیاری از کاربران این شبکه مشکلساز بوده است. گرچه با توجه به بهروزرسانیهایی که برای شبکۀ اتریوم برنامهریزی شده و در حال رسیدن به مراحل نهایی خود است، به نظر میرسد که مسئلۀ سرعت تراکنش در نسخۀ ارتقایافتۀ این شبکه به زودی رفع شود.
ERC20 چیست؟
اگر شما هم در حوزه رمزارزها فعالیت میکنید حتماً بارها نام توکنهای ERC20 را شنیدهاید. استاندارد ERC20 مخصوص توکنهایی است که از بلاک چین اتریوم بهعنوان بستر ارزی خود استفاده میکنند. ۹۹% از توکنهای اتریوم دارای استاندارد ERC20 هستند. این استاندارد مخصوص توسعه دهندگانی است که هنوز بلاکچین خود را ایجاد نکردهاند و با ایجاد یک توکن ECR20 بر روی بلاکچین اتریوم قصد دارند تا با انجام یک ICO پروژههای خود را تامین مالی کنند.
در نگارش این مقاله فرض شده که خواننده پیش از این حداقل با مفاهیمی همچون بلاکچینهای اتریوم، اپلیکیشنهای غیرمتمرکز (dapp)، اتر(ether)، قراردادهای هوشمند و ICOها آشنا شده است.
برای اینکه سریع به سراغ اصل مطلب برویم باید گفت، اتریوم یک پلتفرم محاسباتی توزیع شده متنباز (open-source) است که مبتنی بر بلاکچین میباشد. این پلتفرم محاسباتی، یعنی همان شبکه اتریوم، میزبان نرم افزارهای غیرمتمرکز (dapps) است که با هزاران خط کد توکن ERC20 چیست؟ اجرا می شوند؛ نام این کدها قراردادهای هوشمند است، تمام معاملات در شبکه اتریوم با ارز رمزنگاری شده اتریوم یعنی همان اتر انجام میشوند، و نیز هزینههای محاسباتی اجرای قراردادهای هوشمند نیز با اتر پرداخت میشوند.
بعضی از این نرم افزارهای غیرمتمرکز نیاز به یک ارز درون نرم افزاری (in-dapp) اضافی توکن ERC20 چیست؟ دارند. نرم افزارهای غیرمتمرکز جدید، ارز منحصربهفرد خود را با نام توکن (token) معرفی میکنند و از طریق ارائه و فروش اولیه سکه (ICO) منابع مالی را ایجاد میکنند. پلتفرم بلاکچین اتریوم به روشی ساخته شده است که تمام انواع نرم افزارهای های غیرمتمرکز را از جمله آنهایی که نیاز به ایجاد، نگهداری و انتقال داراییهای دیجیتال دارند، در درون خود پرورش میدهند.
این توکنهای ویژه و درون-نرم افزاری اتریوم، برای ایجاد یک شبکه از نرم افزارهای غیرمتمرکز به کار گرفته میشوند که این شبکه خود در پرداختهای در بستر مرورگر و کارتهای اعتباری برای ارزهای رمزنگاری شده به کار میآید. تمامی ایدههایی که در اینجا ذکر شدند، به تحقق پیوستهاند و همان توکنهای دروننرم افزاری غیرمتمرکز اتریوم هستند که از یک استاندارد برنامهنویسی بسیار معمول استفاده میکنند. در واقع، ۹۹% از تمام توکنهای اتریوم که به کار بسته شدهاند از همین استاندارد یعنی استاندارد ERC20 پیروی میکنند.
استاندارد توکن ERC20 که حروف اول کلمات Ethereum Requests for Comment (درخواستهای اتریوم برای نظرخواهی) را تشکیل میدهد، یک مجموعه استاندارد از قوانین برنامه نویسی است که انتظار میرود کلیه توکنهای مبتنی بر اتریوم آن را دنبال کنند. توسعهدهندگان در مورد شش تابع و دو رویداد توافق کردند که به عنوان حداقل توکن قابل قبول برای عادیسازی رفتارهای توکن ERC20 چیست؟ مورد انتظار، در هنگام برقراری ارتباط در شبکه اتریوم در نظر گرفته میشوند. با ایجاد این پروتکل، توسعه دهندگان اتریوم به راحتی قادر میشوند تا با قراردادهای هوشمند خارجی کار کنند.
تفاوت کوینهای مستقل با توکنهای ERC20 چیست
توکنها در بستر بلاکچین اتریوم، داراییهایی هستند که دارای ارزشند. آنها همانند بیتکوین، لایتکوین و اتریوم ارسال و دریافت میشوند.
تفاوت این توکنها با رمزارزهایی مانند بیتکوین که بلاچین جداگانه دارند، در این است که این توکنها از آدرسهای اتریوم جهت نقل و انتقال استفاده میکنند و تراکنشهای خود را روی بلاکچین اتریوم میفرستند؛ درحالی که کوینی مثل بیتکوین، بلاکچین مخصوص خودش را توکن ERC20 چیست؟ دارد و تراکنشهای آن روی بلاکچین بیتکوین ثبت و ضبط میشوند.
اما مسائلی وجود دارد که استاندارد ERC20 به آنها نپرداخته است. در این استاندارد گیرنده از دریافت توکن مطلع نمیشود و این امر میتواند منجر به از دست رفتن سرمایه کاربر شود. برای مثال اگر شما توکنهای خود را به آدرس توکن ERC20 چیست؟ قرارداد هوشمند یک توکن ERC20 دیگر ارسال کنید، توکنهای شما برای همیشه در آن آدرس گیر میافتد؛ درحالیکه چنین تراکنشهایی اصولاً نباید انجام بپذیرد و میبایست برگشت بخورند. تا آخر سال ۲۰۱۷ حدوداً ۳ میلیون دلار به این دلیل از دست رفته است.
برای حل این مشکل توسعهدهندگان اتریوم اکنون استاندارد جدیدی به نام ERC-223 معرفی کردهاند. این استاندارد اجازه نمیدهد که توکن به آدرسی که از دریافت آن توکن پشتیبانی نمیکند، ارسال شوند.
مشکل نرم افزاری batchOverflow مشکل دیگری است که این استاندارد محدودیتی برای آن در نظر نگرفته است. وجود این مشکل در یک توکن میتواند منجربه خرجکردن مبلغی بیش از موجودی، از یک آدرس شود. در ماه آوریل سال ۲۰۱۸ به دلیل این مشکل نرم افزاری، تعدادی از صرافیها امکان برداشت و واریز تعدادی از توکنهای ERC20 را موقتاً بستند. این مشکل، همان مشکل کلاسیک سرریزی نوع دادهای integer است که هکرها از طریق آن میتوانند مقداری زیادی توکن بدست آورند.
دیدگاه شما