میدانستید که تا همین چند سال پیش، ساخت توکن بر بستر بلاکچین اتریوم مثل اختراع دوباره چرخ بود؟ هر توکن، قرارداد هوشمند مخصوص به خود را میطلبید و این یعنی دردسر بزرگ برای سازگاری با کیف پولها و صرافیها! اما چه چیزی این آشفتگی را سامان داد؟ پاسخ ERC20 است. استانداردی که دنیای توکنها را متحول کرد. در این مقاله از ارزیکال، به دنیای ERC20 میرویم و به این پرسش پاسخ میدهیم که ERC20 چیست و چگونه کار میکند.
همه چیز درباره استاندارد ERC20
استاندارد ERC20 مجموعهای از قوانین و توابع است که به توسعه دهندگان اجازه میدهد بدون داشتن بلاکچین مستقل، بتوانند توکن خود را روی بلاکچین اتریوم بسازند. این استاندارد اطلاعاتی بابت نحوه انتقال، شیوه برداشت، جزئیات ذخیره سازی و…در اختیار توسعه دهندگان قرار میدهد و توکنها بر اساس اصولی که این استاندارد تعیین میکند، روی بلاکچین اتریوم پیادهسازی میشوند.
به زبان ساده، ERC20 مثل یک زبان مشترک و قابل درک بین تمام سیستمهای اتریومی است. هر توکنی که از این استاندارد استفاده کند میتواند به راحتی با کیف پولهایی که از اتریوم پشتیبانی میکنند و صرافیها و برنامههای غیر متمرکز کار کند.
تاریخچه توکنهای ERC20
بعد از اینکه ویتالیک بوترین شبکه اتریوم را ایجاد کرد، ویژگی قراردادهای هوشمند این بلاکچین توجه توسعهدهندگان بسیاری را به اتریوم جلب کرد. این ویژگی اجازه میداد هر کس بتواند توکن خودش را روی شبکه اتریوم بسازد.
اما چالش اینجا بود که توکنهایی که توسعه دهندگان مختلف ایجاد میکردند در ساختار و قوانین با هم متفاوت بودند و همین مشکلساز میشد. یک توکن در انتقال مشکل داشت، دیگری با کیف پول و صرافیها سازگار نمیشد و…
همین باعث شد Fabian Vogelsteller در سال 2015 ایده ارائه استانداردی را بدهد که بین تمام توکنها یکی باشد و همه رعایتش کنند. ERC دقیقا مخفف Ethereum Request for Comments است.
فابیان به تیم توسعه پیشنهاد داد یک چارچوب استاندارد از قوانین برای ایجاد توکنها تعیین شود تا به این ترتیب اگر هر توسعه دهنده ایدهای بابت بهبود شرایط داشت، پیشنهادش را ثبت کند. فوگلستلر خود، بیستمین پیشنهاد را داد و همان ایده تصویب شد و به همین دلیل نام چارچوب استاندارد ایجاد توکنهای جدید بر بستر اتریوم را ERC20 گذاشتند.
از آن زمان تا کنون، با گسترش برنامههای غیر متمرکز dApps و افزایش کاربرد قراردادهای هوشمند، توکنهای ERC20 بسیاری ایجاد شدند و مدام به تعداد توکنهای موجود بر بستر اتریوم افزوده میشود.
تفاوت اتریوم با استاندارد ERC20 چیست؟
ERC20 را با اتریوم اشتباه نگیرید! گاهی برخی افراد به اشتباه از این دو عبارت به جای یکدیگر استفاده میکنند.
اتریوم یک شبکه بلاکچین غیر متمرکز است که بستر اجرای قراردادهای هوشمند و ساخت برنامههای غیر متمرکز است. در حالی که ERC20 صرفا یک استاندارد فنی روی شبکه اتریوم است که شامل کنار هم قرار گرفتن برخی توابع است و قوانین معینی را برای ایجاد توکنها مشخص میکند.
از آنجایی که ERC20 از نظر ماهیت با اتریوم متفاوت است برای همین نمیتوان مقایسهای از این دو داشت، فقط باید گفت استاندارد کاملا به شبکه وابسته است.
آشنایی با توابع استاندارد ERC20
استاندارد توکنی ERC20 با تعریف مجموعهای از توابع اصلی و اختیاری، یک ساختار یکپارچه برای مدیریت توکنها در شبکه اتریوم ایجاد میکند. توابع اصلی مانند transfer و approve و غیره، عملکرد اصلی توکنها را مشخص میکنند، درحالیکه توابع اختیاری مانند name و symbol به توسعهدهندگان این امکان را میدهند که شناسایی توکنها را راحت و ظاهر آن را جذابتر کنند. در ادامه توابع اصلی و اختیاری را معرفی میکنیم.
توابع اصلی
توابع اصلی استاندارد ERC20، شش تابع کلیدی هستند که هر توکنی باید آنها را پیادهسازی کند. آنها عبارتاند از:
- totalSupply: این تابع تعداد کل توکنهای یک پروژه در شبکه اتریوم را مشخص میکند. توسعهدهندگان از این تابع برای اعلام تعداد نهایی توکنها استفاده میکنند. این مقدار ثابت است و تعداد توکنهای موجود در شبکه را بطور شفاف نشان میدهد.
- balanceOf: توکنهای موجود در یک آدرس مشخص را نمایش میدهد. با استفاده از این تابع، کاربران و توسعهدهندگان میتوانند میزان توکن هر آدرس را بررسی کنند.
- transfer: امکان انتقال توکن از یک آدرس به آدرس دیگر را فراهم میکند. کاربران از این تابع برای انتقال دارایی و ارسال توکنهای خود به دیگران استفاده میکنند. اگر انتقال موفقیتآمیز باشد، یک رویداد (event) بهنام Transfer ثبت میشود.
- approve: طبق این تابع برداشت توکن از حساب شما میتواند به مقدار خاصی محدود شود. با اجرای این تابع، مالک توکن مشخص میکند که چه مقدار از داراییاش برای یک آدرس دیگر قابل استفاده باشد.
- transferFrom: امکان انتقال توکن از یک آدرس به آدرس دیگر بطور خودکار را فراهم میکند. این تابع به یک شخص(آدرس) و یا قرارداد هوشمند اجازه میدهد بطور خودکار قابلیت در پرداختهای خودکار تراکنشها بجای کاربر اجرا کنند.
- allowance: این تابع بررسی میکند که چه مقدار توکن از یک حساب برای برداشت توسط آدرس دیگر تایید شده است. اگر موجودی کافی نباشد، تراکنش متوقف میشود.
توابع فرعی
علاوه بر توابع اصلی، استاندارد ERC20 شامل سه تابع اختیاری یا فرعی نیز میشود. این توابع برای افزایش جذابیت و کاربرد توکنها مورد استفاده قرار میگیرند، اما پیادهسازی آنها الزامی نیست:
- نام توکن (name): تابع برای تعیین نام توکن استفاده میشود. نام توکن بهصورت متنی ذخیره شده و به کاربران کمک میکند تا توکن مورد نظر خود را شناسایی کنند. برای مثال، نام یک توکن میتواند “ArzicalToken” باشد.
- نماد توکن (symbol): نماد اختصاری توکن را تعیین میکند. این نماد معمولا یک عبارت کوتاه و قابل شناسایی مثل USD یا ETH است. مثلا، نماد توکن ArzicalToken میتواند “AZT” باشد.
- اعشار (decimals): این تابع تعداد رقم اعشاری توکن را تعیین میکند. بهعنوان مثال، اگر مقدار اعشار برابر با 2 باشد، هر واحد توکن تا 0.01 قابل تقسیم است. این ویژگی برای نمایش توکن در کیفپولها و معاملات بسیار مهم است.
آدرس ERC20 چیست؟
آدرس ERC20 یک شناسه منحصر به فرد است و برای نگهداری توکنهای مبتنی بر استاندارد ERC20 استفاده میشود. این آدرس دقیقا مشابه آدرسهای معمولی اتریوم است؛ با پیشوند 0x شروع و از 42 کاراکتر که شامل اعداد از 0-9 و حروف بزرگ و کوچک از a-f هستند، تشکیل میشود.
دیگران با در اختیار داشتن آدرس ERC20 شما میتوانند به کیف پول شما توکن ارسال کنند. در این تبادل، آدرس کیف پول شما صرفا یک کلید عمومی برای دسترسی محسوب میشود و توکنهای ارسالی در حقیقت روی شبکه اتریوم قرار میگیرند.
از کیف پولی استفاده کنید که از اتریوم پشتیبانی و امکان مدیریت آدرسهای ERC20 را مهیا کند.
راهنمایی: اگر به اشتباه توکنهای ERC20 را به آدرس دیگری ارسال کردید که از این استاندارد پشتیبانی نمیکرد نگران نباشید، هنوز جای بازیابی دارایی وجود دارد.
اگر کلید خصوصی (Private Key) یا عبارت بازیابی آن کیف پول را در کیف پولی مثل MetaMask که از ERC20 پشتیبانی میکند وارد کنید، همچنان میتوانید توکنهای ارسال شده را بازیابی کنید.
کاربردهای استاندارد ERC20 چیست؟
حالا که درک کردید ERC20 چیست، میتوان گفت این چارچوب توکنی پرکاربردترین استاندارد در دنیای ارزهای دیجیتال است و بسیاری از توکنهای موجود در بازار بر پایه آن بنا شدند. در ادامه چند مورد از اصلیترین کاربردها را بررسی میکنیم.
ایجاد توکن جدید
همانطور که متوجه شدید، ERC20 امکان ایجاد توکنهای جدید روی شبکه اتریوم را فراهم میکند. در پی ایجاد این توکنهای جدید، استاندارد به پروژهها امکان عرضه اولیه (ICO) میدهد؛ یعنی پروژهها بتوانند سرمایهگذاران جدید پیدا کنند و در ادامه جذب سرمایه داشته باشند.
تعامل بین قراردادهای هوشمند
ERC20 این شرایط را مهیا میکند که توکنهای مبتنی بر این استاندارد بتوانند به راحتی با یکدیگر و یا با کیف پول و صرافی که اتریوم را پشتیبانی میکند، در ارتباط باشند. به این واسطه ارسال و انتقال و تبادل بطور هوشمند و راحت صورت میگیرد و بستر ساخت و گسترش برنامههای غیر متمرکز فراهم میشود.
توسعه برنامههای غیرمتمرکز
استاندارد ERC20 در اپلیکیشنهای غیرمتمرکز فوق العاده کاربردیست. تمام فعالیتهای ساده و پیچیده از پرداختهای عادی تا استیکینگ و تامین نقدینگی و…همه با استفاده از این استاندارد اتفاق میفتد.
کاربرد در حوزه دیفای
این روزها شاهد گسترش روز افزون حوزه دیفای و امور مالی غیرمتمرکز هستیم. توکنهایی مثل دای و یونی سواپ که در پروتکلهای استیکینگ کاربرد دارند همه از توکنهای ERC20 هستند که طبق این استاندارد ایجاد شدند.
خودکارسازی فرایندها
در هر فعالیتی که از توکنهای ERC20 استفاده شود، به واسطه مبتنی بودن این توکنها بر قراردادهای هوشمند، شاهد تسهیل فرایند و خودکارسازی برخی فعالیتها خواهیم بود.
چگونه میتوان یک توکن ERC20 ایجاد کرد؟
حالا که متوجه شدید کاربرد ERC20 چیست، شاید برایتان جای سوال باشد که نحوه ایجاد کردن توکن ERC20 چگونه است.
استاندارد ERC20 یک چارچوب مشترک برای تولید توکنهای جدید بر بستر اتریوم است. این استاندارد با داشتن برخی قواعد و توابع اصلی و فرعی، کار ایجاد توکن جدید را بسیار ساده کرده است، طوری که هر کسی میتواند روی شبکه اتریوم توکن جدید ایجاد کند.
برای این کار کافیست ابتدا تعیین کنید که توکن شما از نظر ظاهر و نام چگونه معرفی خواهد شد. سپس برای آن یک نام اختصاصی و سپس یک نماد انحصاری که منحصر به آن باشد مشخص کنید.
حالا باید میزان تقسیم پذیری آن را تعیین کنید، این میزان که باید با اعشار مشخص شود، کمترین مقدار توکن در شبکه را مشخص خواهد کرد.
در قدم بعد میتوانید مقدار توکن مدنظرتان را تعیین کنید که مثلا چند تا از آن ایجاد شود تا قرارداد هوشمند متناسب با مقداری که مشخص کردید، از آن توکن برایتان ایجاد کند. در نهایت باید نحوه دسترسی به توکن بابت انتقال و برداشت و موارد دیگر را مشخص کنید.
مزایا و معایب استاندارند ERC20 چیست؟
تا زمانی که استاندارد ERC20 مطرح نبود، برنامه نویسها ناچار بودند مدام برای هر توکن جدید، از نوع کد نویسی کنند و صرافیها نیز باید برای سازگاری با هر توکن جدید دائما تغییراتی اعمال کنند. اما ERC20 چیست؟
این استاندارد دقیقا به همین منظور روی کار آمده تا این محدودیت را از بین ببرد و کار را برای توسعه دهندگان، برنامهنویسان و صرافیها راحت کند. البته باید به این نکته اشاره داشت که ERC20 نیز در کنار مزایا محدودیتهایی نیز دارد که در ادامه به آنها اشاره خواهیم کرد.
مزایا
نکات مثبت استاندارند ERC20 به این ترتیب است:
- امنیت: به دلیل شفافیت، عدم تغییر پذیری و غیرمتمرکز بودن، بسیار امن است.
- نقدشوندگی مناسب: توکنهای ERC20 عمدتا قابلیت نقدشوندگی خوبی دارند و اصولا در تمام صرافیهایی که از اتریوم پشتیبانی میکنند، لیست میشوند و دسترسی به آنها آسان است.
- سازگاری با بسیاری از اپلیکییشنها: از توکنهایی که بر پایه استاندارد ERC20 ایجاد شدند، میتوان به راحتی در سایر اپلیکیشنها، بعنوان توکن درون برنامهای برای پرداخت کارمزد تراکنشها و دیگر نئارد استفاده کرد.
- ایجاد با هزینه کم: برای ایجاد یک توکن جدید مبتنی بر استاندارد ERC20 هزینه کمی لازم است و هر کسی میتواند به راحتی یک توکن جدید ایجاد کند
- نگهداری و مدیریت آسان: توکنهای مبتنی بر ERC20 به وسیله کیف پولهایی مثل تراست ولت و…قابل نگهداری و مدیریت هستند.
معایب
چالشها استاندارند ERC20 نیز در موارد زیر خلاصه میشود:
- توجه به محدودیت برخی کیف پولها: ارسال توکنهای ERC20 به کیف پولهایی که این استاندارد را پشتیبانی نمیکنند میتواند باعث از دست رفتن توکنها شود. پس حتما چک کنید و مطمئن شوید که گیرنده از استاندارد ERC20 پشتیبانی میکند. تا به حال میلیونها دلار سرمایه به همین شکل از دست رفته است.
- کاهش توان عملیاتی در ساعات ازدحام: زمانهای شلوغ که تقاضا در اپلیکیشنهای غیر متمرکز بالاست توان عملیاتی و کارایی شبکه اتریوم پایین است و توکنهای ERC20 نیز تحت تاثیر قرار میگیرند. البته این مشکل مقیاس پذیری، در اتریوم 2 دیگر مطرح نیست.
- امکان کلاهبرداری: از آنجایی که ایجاد توکن با استاندارد ERC20 بسیار ساده است، هر کسی میتواند توکن ایجاد کند و این بین ممکن است برخی افراد با ایجاد توکنهای پوچ و جلب توجه و تبلیغات بی اساس برخی کاربران ناآگاه را گمراه کنند.
معرفی محبوبترین توکنهای ERC20
شمار توکنهایی که با استاندارد ERC20 بر بستر اتریوم ایجاد شدند کم نیست. چند مورد از محبوبترین توکنهای ERC20 عبارتند از :
- تتر (USDT): محبوبترین استیبل کوین با پشتوانه دلار آمریکاست که ارزشی معادل یک دلار دارد و بر اساس استاندارد ERC20 روی شبکه اتریوم عرضه میشود.
- پالیگان (MATIC): توکن اصلی شبکه Polygon است و به منظور منظور کاهش هزینههای تراکنشها و مقیاس پذیری اکوسیستم اتریوم ایجاد شده است.
- یو اس دی کوین (USDC): یک استیبل کوین معتبر بر پایه استاندارد ERC20 است که توسط شرکت Circle عرضه میشود. USDC پشتوانه فیات دارد و با دلار آمریکا پشتیبانی میشود.
- شیبا اینو (SHIB): یک میم کوین مبتنی بر ERC20 است که روی شبکه اتریوم توسعه یافته و با میم کوین مطرحی مثل دوج کوین در رقابت است.
- یونی سواپ (UNI): توکن بومی صرافی غیر متمرکز UniSwap است و طبق استاندارد ERC20 ایجاد شده است.
- چین لینک (LINK): این توکن برای تامین امنیت شبکه اوراکل غیر متمرکز استفاده میشود و ارتباط بین قراردادهای هوشمند و دادههای دنیا واقعی را امکان پذیر میکند.
شاید جالب باشد بدانید توکن پروژه Fantom نیز ابتدا به صورت توکن ERC20 عرضه شد اما بعدها به بلاکچین اصلی خود منتقل شد.
بهترین کیف پولها برای ذخیره توکنهای ERC20
بسیاری از ارزهای دیجیتالی که این روزها مطرح و محبوب هستند طبق استاندارد ERC20 ایجاد شدند؛ از این رو اکثر کیف پولها از ERC20 پشتیبانی میکنند.
برای نگهداری انواع مختلف توکنهای ERC20 میتوانید از هر دو نوع کیف پول نرم افزاری یا سخت افزاری استفاده کنید. اگر برایتان سوال است که بهترین کیف پول برای ذخیر توکنهای ERC20 چیست، از بین تمام کیف پولهای موجود، برخی از بهترینها را برایتان نام میبریم.
کیف پولهای نرم افزاری مثل:
- تراست ولت – Trust Wallet
- کیف پول متامسک – MetaMask Wallet
- مای اتر ولت – MyEtherWallet
کیف پول سخت افزاری مثل:
- کیف پول لجر – Ledger Wallet
- کیف پول ترزور – Trezor Wallet
تمام کیف پولهای فوق همگی امنیت خوبی دارند و با استاندارد ERC20 سازگار هستند.
آیا اتریوم استاندارد توکنی دیگری نیز دارد؟
اکوسیستم اتریوم بسیار گسترده است و روز به روز به توکنهای مبتنی بر بستر آن افزوده میشود و از طرفی شاهد توسعه مداوم برنامههای غیر متمرکز نیز هستیم. پس منطقیست که ERC20 تنها استاندارد موجود در بلاکچین اتریوم نباشد.
شبکه اتریوم علاوه بر ERC20، استانداردهای دیگری تحت عنوان ERC721 ،ERC1400 ،ERC223 ؛ERC777 و… دارد که هر کدام به منظور خاصی به کار برده میشوند.
جهت کاهش هزینه تراکنشها از استاندارد ERC777، برای اوراق بهادار ERC1400، برای NFTها بطور خاصERC721 و برای اینکه کارمزد تراکنش را طبق همان توکنی که در معامله داشتیم پرداخت کنیم یا اینکه از انتقال تصادفی آن به آدرس اشتباه جلوگیری کنیم، از استاندارد ERC223 استفاده میشود.
ERC20، زبان مشترک توکنها در دنیای اتریوم!
به یاد دارید که گفتیم ساخت توکن روی اتریوم قبل از ERC20 مثل اختراع دوباره چرخ بود؟ هر توکن ساز ناکوک خود را میزد و دردسرهای زیادی برای کیف پولها، صرافیها و کاربران ایجاد میکرد. اما ERC20 به عنوان یک استاندارد انقلابی، نظم و هماهنگی را به دنیای توکنها آورد.
در این مقاله از ارزیکال، با هم گشتی در دنیای ERC20 زدیم و دانستیم که این استاندارد چیست و چگونه با تعریف مجموعهای از قوانین و توابع، زبان مشترکی برای تمام توکنهای مبتنی بر اتریوم ایجاد کرده است. از تاریخچه و توابع اصلی و فرعی ERC20 گفتیم و کاربردهای وسیع آن در ساخت توکنهای جدید، تعامل بین قراردادهای هوشمند، توسعه برنامههای غیرمتمرکز و دنیای دیفای را بررسی کردیم.
حالا دیگر میدانیم که ERC20 صرفاً یک استاندارد فنی نیست، بلکه کلید ورود به دنیای وسیع و پر از فرصت توکنهای اتریومی است. با ERC20، میتوانیم توکنهای جدید بسازیم، در پروژههای جذاب سرمایهگذاری کنیم و از مزایای برنامههای غیرمتمرکز بهرهمند شویم.
آیا تجربه کار با توکنهای ERC20 را داشتهاید؟ تجربه خود را در بخش نظرات با ما و دیگر کاربران ارزیکال به اشتراک بگذارید!