توکن های erc20 چیست؟
والبی بلاگ » آرشیو پست ها » دوره های پایه » استاندارد و توکن ERC20 چیست؟
دوره های پایه

استاندارد و توکن ERC20 چیست؟

در این دوره ی آموزشی که بصورت رایگان تهیه شده قصد داریم نگاهی به استاندارد ERC20 که یک چهارچوب بسیار مهم برای ساخت توکن بر روی شبکه اتریوم است، بیاندازیم. این استاندارد انحصارا مخصوص شبکه اتریوم است، اما بقیه شبکه ها نیز برای تعریف استاندارد خود از همین استاندارد ERC20  الهام گرفته اند که یکی از این موارد BEP-2 بایننس چین است.

مقدمه

اتریوم در سال 2014 توسط ویتالیک بوترین تاسیس شد و خود را بعنوان یک پلتفرم منبع باز برای اجرا و پیاده سازی اپلیکیشن های غیر متمرکز (DApps) معرفی کرد. یکی از عواملی که باعث شد تا ویتالیک به فکر ساخت شبکه اتریوم بیفتد عدم انعطاف پذیری در پروتکل بیت کوین بود.

از زمان تاسیس اتریوم تا کنون بلاکچین این ارز دیجیتال توانسته تا توجه بسیاری از توسعه دهندگان، بیزینس ها و کارآفرینان را به خود جلب کرده و شروع کننده یک پیشرو در این صنعت باشد که البته این مهم با اجرای قراردادهای هوشمند بر روی این پلتفرم و همچنین اپلیکیشن های توزیع شده بدست آمده است.

استاندارد ERC20 چیست؟

در شبکه اتریوم ، ERC مخفف کلمه Ethereum Request for Comments  یا همان درخواست اتریوم برای نودها است. در حقیقت این ها اسناد و مدارک تکنیکالی هستند که مشخص کننده استانداردها برای برنامه نویسی بر روی اتریوم هستند. البته این نباید با پروپوزال EIP اشتباه گرفته شود. در حقیقت هدف ERC ها ایجاد کنوانسیون ها است به منظور اینکه اپلیکیشن ها و قرادادها به راحتی بتوانند با یکدیگر تعامل داشته باشند.

طبق آنچه توسط ویتالیک بوترین و فابیان ووگل استلر در سال 2015 تالیف و منتشر شده، ERC20 یک فرمت نسبتا ساده برای توکن های بر پایه اتریوم ارائه می دهد. با دنبال کردن این طرح و فرمت تعیین شده دیگر توسعه دهندگان نیازی به اینکه یک پروژه را از پایه شروع کنند، ندارند. به تعبیر دیگری هر کس قصد دارد توکن ایجاد کند نباید همه چیز را از نقطه صفر شروع کند، بلکه بخشی از راه هموار شده و همه چیز آماده است.

زمانی که توکن های ERC20 جدید ایجاد شدند، به صورت اتوماتیک و خودکار در تمام سرویس ها و نرم افزارهایی که استاندارد ERC20 را ساپورت و پشتیبانی می کنند قابل استفاده هستند. (مانند: کیف پول های سخت افزاری، کیف پول های نرم افزاری، اکسچنج ها و…).

لازم به ذکر است که استاندارد ERC20 یک EIP (به طور مشخص تر EIP-20) توسعه یافته است. این مساله تقریبا دوسال بعد از توسعه و همه گیر شدن پروپوزال اصلی بوقوع پیوست. با این حال، اگر چه سال ها از آن گذشته است، اما نام ERC20 همچنان بر آن باقی ماند.

 

توکن های ERC20

بر خلاف توکن بومی شبکه اتریوم به نام اتر که با نشان اختصاری ETH نمایش داده می شود، توکن های ERC20 در هیچ والتی نگهداری نمی شوند. در حقیقت این توکن داخل قرار داد وجود دارد، که به تعبیری یک پایگاه داده مستقل است که قوانین توکن ها را مشخص می کند. این قوانین شامل نام، نام اختصاری، تقسیم پذیری و از این قبیل موارد می شود. همچنین یک لیست از موجودی کاربران و آدرس های اتریوم آن ها تهیه و نگهداری می کند.

برای انتقال توکن ها، ابتدا کاربر بایستی یک درخواست انتقال به قرارداد ارسال کرده و تقاضا کند که مقداری از موجودی وی را به حساب دیگری انتقال دهد. بعنوان مثال شخص A قصد دارد تا 5000 توکن X را به شخص B ارسال کند. در این حالت شخص A در خواست مبنی بر انتقال وجه را به قرارداد هوشمند توکن X ارسال می کند. این درخواست شامل یک فیلد اضافه نیز می شود که مشخص کننده این است که شخص A چه کاری می خواهد انجام دهد. در مثالی که زدیم شخص A قصد دارد تا مقداری توکن را به شخص B انتقال دهد.

چنانچه این شخص توکن اتر خود را انتقال دهد، ملزم به پرداخت کارمزد جهت ثبت تراکنش خود درون یک بلاک است. در این حالت چنانچه شخص توکن اتر در والت خود نداشته باشد، قبل ثبت درخواست بایستی مقداری توکن اتر جهت پرداخت کارمزد خریداری نماید.

همین مثال بالا را در موردEtherscan  نیز به کار می بریم. شخصی می خواهد یک درخواست به قرارداد BUSD ارسال کند. در این حالت شما می توانید مقدار توکن هایی که ارسال شده را به همراه کارمزد تراکنش مشاهده کنید. البته ممکن است مقدار توکن انتقال داده شده صفر نمایش داده شود.

 

قراردادهای هوشمند ERC20 چگونه ساخته شده اند؟

حال که تا اینجا پیش آمده ایم، نگاهی عمیق تر می اندازیم به ساختار یک قرارداد هوشمند ERC20

برای سازگار بودن با استاندارد ERC20 یک قرارداد ملزم به داشتن 6 عملکرد زیر می باشد:

Total supply، Balance Of،transfer ، Transfer from، approve و Allowance. اضافه بر این شما می توانید عملکردهای اختیاری نیز مشخص کنید. این عملکردها می توانند شامل نام، نام اختصاری و رقم اعشاری (decimal) باشند.

همانطور که پیداست کارکرد هرکدام از این عملکردها از نام آنها مشخص است. اما اگر متوجه این موضوع نشده اید. ایرادی ندارد. در زیر به توضیح کامل این عملکردها می پردازیم.

Total Supply

function totalSupply() public view returns (uint256)

زمانی که یک کاربر چنین درخواستی ارائه می دهد، تابع و عملکرد نوشته شده در بالا، کل توکن های موجود در قرارداد را بر می گرداند.

 

balanceOf

function balanceOf(address _owner) public view returns (uint256 balance)

بر خلاف Total Supply، balanceOf یک پارامتر (بعنوان مثال یک آدرس) را در نظر می گیرد. زمانی که درخواست ثبت می شود، این تابع موجودی توکن های این آدرس را بر می گرداند. در نظر داشته باشید که کلیه حساب های کاربری بر روی شبکه اتریوم به صورت عمومی است و هر کس می تواند اطلاعات مربوط به آن حساب را مشاهده کند. بنابراین شما می توانید موجودی حساب هر شخصی را که آدرس خود را در اختیار شما قرار داده است، مشاهده کنید.

transfer


function transfer(address _to, uint256 _value) public returns (bool success)

این تابع و عملکرد، توکن ها را از یک شخص به شخصی دیگر انتقال می دهد. در اینجا شما آدرس گیرنده و مقدار مورد نظر برای انتقال را وارد می کنید. زمانی که درخواست ثبت شد، عملکرد Transfer چیزی با نام event را فعال میکند. در این مورد event فعال شده، عملیات انتقال است. این عملکرد از بلاکچین در خواست می کند که عملیات انتقال را در بلاک ذخیره کند.

transferFrom


function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)

در حقیقت تابع TransferFrom یک عملکرد جایگزین برای Transfer است که تا حدودی قابلیت برنامه ریزی اپلیکیشن های غیر متمرکز را امکان پذیر می کند. این عملکرد نیز مانند عملکرد transfer برای انتقال توکن ها استفاده می شود با این تفاوت که نیازی نیست که توکن ها متعلق به شخصی باشد که درخواست را به قرارداد ارسال می کند. این بدین معنی است که شما میتوانید به یک شخص دیگر (یا یک قرارداد دیگر) اجازه دهید تا از طرف شما عملیات انتقال را انجام دهد.

بعنوان مثال زمینه استفاده از چنین قابلیتی پرداخت های ماهیانه افراد است. در این گونه مواقع اشخاص تمایل ندارند تا هر هفته یا هر ماه به صورت دستی انتقال پول را انجام دهند، از همین رو با استفاده از این قابلیت اجازه می دهند تا این برنامه این کار را به طور مرتب و خودکار برای آن ها انجام دهد. این عملکرد بسیار شبیه به همان عملکرد Function است.

approve


function approve(address _spender, uint256 _value) public returns (bool success)

approve  نیز یکی دیگر از عملکردهای کاربردی از نقطه نظر قابلیت برنامه ریزی شدن است. با استفاده از این عملکرد شما میتوانید میزان توکن هایی را که قرارداد هوشمند می تواند از موجودی حساب شما برداشت کند را محدود نمایید. بدون این عملکرد، امکان اینکه سرمایه خود را در اثر عملکرد نامناسب قرارداد ازدست بدهید، زیاد است.

حال می خواهیم تا دوباره به مثال پرداخت های منظم ماهیانه و یا هفتگی بپردازیم. در وهله اول فرض می کنیم که شما مقدار بسیار زیادی از توکن X را در اختیار دارید و قصد دارید تا یک پرداخت هفتگی منظم به یکی از برنامه های DApp (اپلیکیشن های غیر متمرکز) داشته باشید.

در این حالت شما نمی خواهید که هر هفته به صورت دستی این تراکنش را انجام دهید. اما در اینجا یک مساله ای هست که شاید نگران کننده باشد و آن مقدار بسیار زیادی از توکن X است که شما در اختیار دارید، لذا پس از ثبت در خواست انتقال هفتگی پول، اپلیکیشن غیر متمرکز این عمل را به صورت منظم و خودکار انجام می دهد، اما امکان دارد که این اقدام اپلیکیشن باعث خالی شدن کل دارایی موجود در حساب شما شود. از همین رو از عملکرد approve  استفاده کرده تا میزان برداشت و خروجی از حساب خود را محدود کنید.

فرض می کنیم که این پرداخت هفتگی شما یک توکن X باشد. از همین رو چنانچه میزان approve  که همان مقدار محدود شده است را بر روی 20 توکن قرار دهید، به مدت 5 ماه به صورت اتوماتیک هر هفته 1 توکن از حساب شما کسر شده تا به مقدار محدود شده 20 توکن برسد.

اگر بدترین شرایط را در نظر بگیریم، چنانچه اپلیکیشن غیر متمرکز مورد نظر سعی کند که حساب شما را خالی کند و یا اینکه این اتفاق در صورت وجود یک باگ اتفاق بیفتد، شما تنها 20 توکن را از دست خواهید داد و نه بیشتر. اگر چه این مورد نیز ایده ال نیست و نهایتا شما مقداری از توکن های خود را از دست خواهید داد، اما قطعا این راه حل بسیار بهتر از این است که کل دارایی و سرمایه خود را از دست بدهید.

زمانی که درخواست ثبت شد، عملکرد approve نیز یک event با نام approval را فعال می کند. این بسیار شبیه همان اتفاقی است که برای عملکرد transfer  رخ می دهد. از همین رو اطلاعات درون یک بلاک ذخیره می شود.

allowance


function allowance(address _owner, address _spender) public view returns (uint256 remaining)

عملکرد allowance به صورت ترکیبی با عملکرد approve استفاده می شود. زمانی که شما به قرارداد این اجازه را می دهید که کنترل توکن های شما را در دست بگیرد، شما نیاز به این عملکرد دارید تا بررسی کنید که چه مقدار دیگر میتوان از این حساب برداشت داشت. یا به تعبیری دیگر این قرارداد تا چه مقدار توکن دیگر می تواند از حساب شما کسر کند. برای نمونه، اگر این پرداخت هفتگی شما 12 توکن از 20 را از حساب شما برداشت کرده باشد، با بازخواندن و درخواست allowance 8 توکن باقی مانده بایستی برگشت داده شود.

عملکردهای اختیاری

عملکردهایی که در بالا در رابطه با آنها صحبت کردیم، از دسته عملکردهای ضروری و اجباری هستند. در طرف دیگر نام، نام اختصاری و مقدار اعشار آنچنان ضروری نیستند، اما می توانند قرارداد ERC20 شما را بهتر و زیباتر کنند. به همین ترتیب این امکان را می دهند تا توکن شما نامی داشته باشد که افراد بتوانند آن را با این نام خوانده و بشناسند. پس از آن نیاز دارید تا یک نام اختصاری مانند (ETH،BTC،BNB) برای توکن خود در نظر بگیرید و در آخر مشخص کنید که مقدار توکن شما چند رقم اعشار را در بر می گیرد.

بعنوان مثال، توکن هایی که بعنوان یک ارز استفاد می شوند، بیشتر نیاز به قابل تقسیم بودن به مقدار های کوچک تر دارند و در مقابل توکن هایی که بعنوان مثال مالکیت یک ملک را نشان می دهد، نیازی به تقسیم پذیر بودن ندارد.

 

توکن های ERC20 چه کاربردی دارند؟

با ترکیب کردن همه عملکرد های بالا نهایتا به یک قرارداد ERC20 دست می یابیم. در حقیقت ما می توانیم کل توزیع (Total Supply) را بررسی کرده، موجودی را چک کرده، پول انتقال دهیم و این اجازه را به دیگر اپلیکیشن های غیرمتمرکز دهیم تا توکن های ما را مدیریت کنند.

از مهم ترین مزایای توکن های ERC20  که باعث جذب تعداد زیادی کاربر شده است، انعطاف پذیری این دسته از توکن ها است. در این توکن ها کنوانسیون ها از قبل تعیین شده باعث ایجاد محدودیت در توسعه توکن و یا پروژه نمی شود، بلکه طرفین می توانند با اجرای پارامترهای مشخص و همچنین عملکردهای بیشتر، آن را متناسب با نیاز و سلیقه خود ایجاد کنند.

استیبل کوین ها

استیبل کوین ها به کوین هایی گفته می شود که پشتوانه آن ها ارز فیات و یا فلزات گران بها باشد. این دسته از توکن ها معمولا از استاندارد ERC20 استفاده می کنند.

اکثر استیبل کوین ها در غالب قرارداد های BUSD موجود هستند. همانطور که می دانید در رابطه با اجرای یک تراکنش در قرارداد BUSD یک مثال زده و این مورد را توضیح دادیم. برای یک استیبل کوین که پشتوانه آن ارز فیات است معمولا موسس و ارائه دهنده آن ارز یورو، دلار و یا دیگر ارزهای رایج را بعنوان پشتوانه توکن خود ذخیره کرده است. پس از آن به ازای هر واحد پشتوانه ای که دارند، یک توکن ایجاد می کنند. بعنوان مثال اگر ارائه دهنده توکن مبلغ 10 هزار دلار در خزانه خود داشته باشد، تعداد 10 هزار توکن ایجاد کرده که به ازای هرکدام 1 دلار در خزانه وجود دارد.

از دید تکنیکال، پیاده سازی و اجرای چنین چیزی آن هم بر روی شبکه اتریوم کار بسیار ساده و آسانی است. بدین منظور موسس توکن تنها یک قرارداد که حاوی 10 هزار توکن است را به مرحله اجرا می گذارد و کار را آغاز می کند. بعد از آن توکن ها در بین کاربران توزیع شده با این وعده که هر گاه که تمایل داشته باشند می توانند توکن های خود را فروخته و آن ها را به ارز فیات تبدیل کنند.

کارهای زیادی هست که کاربران می توانند با توکن های خود انجام دهند. بعنوان مثال آن ها می توانند توکن های خود را صرف خرید کالا یا خدمات کرده و یا از آن ها در اپلیکیشن های غیر متمرکز استفاده کنند. راه دیگر هم آن است که از صادر کننده توکن ها در خواست کنند که آن ها را با ارز دیگری تبادل کند. در این گونه مواقع، صادر کننده، توکن های کاربر را خریده، اما آن ها را می سوزاند و معادل آن، ارز فیات، از خزانه برداشت می کند.

همانطور که گفته شد، قراردادی که این سیستم را اداره می کند، نسبتا ساده است. با این حال، ایجاد یک استیبل کوین نیازمند کار بر روی عوامل خارجی بسیاری مانند تدارکات (کارهای لجستیکی)، قرار گرفتن در چهارچوب قانونی و… است.

 

Security tokens

سکیوریتی توکن ها بسیار شبیه به استیبل کوین ها هستند. از منظر قراردادهای هوشمند، هر دو یکسان هستند، چرا که کارکرد آن ها نیز کاملا  مانند یکدیگر است. تنها وجه تمایز آن ها موسس و صادر کننده توکن است. توکن های سکیوریتی نماینده یک دارایی مانند سهام، اوراق قرضه و یا دارایی های فیزیکی هستند و معمولا (البته نه همیشه) به دارنده توکن سهمی از بیزینس و یا کالایی که بر روی آن سرمایه گذاری کرده است اعطا می شود.

 

Utility tokens

Utility token ها شاید از معمول ترین توکن های موجود در حال حاضرهستند. بر خلاف دو نوع دیگر که در بالا مثال زده شد، این توکن ها دارای هیچ پشتوانه ای نیستند. چنانچه داشتن توکن های دارای پشتوانه مانند داشتن سهام یک شرکت ایرلاین باشد، در این صورت توکن های Utility مانند Frequent-flyer programs (FFP) هستند. در واقع FFP به برنامه ای گفته می شود که مشتریان یک ایرلاین توسط آن امتیاز سفر کسب کرده (این امتیاز بر حسب تعداد سفرهای انجام شده با ایرلاین و یا مسافت پروازهای انجام شده، در نظر گرفته می شود) که بعد از آن می توانند از امتیاز خود استفاده کرده و از ایرلاین مورد نظر تخفیف بگیرند و یا از آن بعنوان تخفیف برای خرید کالا یا خدمات دیگر استفاده کنند. از همین جهت این توکن ها بسیار کاربردی هستند، اما ارزش خارجی ندارند.

Utility توکن ها موارد استفاده زیاد و بی شماری دارند، بعنوان مثال از آن ها در بازی های رایانه ای، کارمزد در اپلیکیشن های غیر متمرکز، امتیازهای لویالتی و دیگر موارد مشابه استفاده می شود.

 

آیا می توان توکن های ERC20 را استخراج کرد؟

توکن تتر را می توان استخراج کرد، اما توکن های دیگر قابلیت استخراج ندارند. در حقیقت برای این توکن ها از اصطلاح دیگری به نام mint  استفاده می شود. در حقیقت زمانی که یک توکن جدید ایجاد می شود به جای آن که گفته شود این توکن استخراج شده، از اصطلاح mint شدن استفاده می شود. زمانی که یک قرارداد به مرحله اجرا می رسد، توسعه دهندگان توزیع توکن را بر اساس برنامه و چشم اندازی که از قبل داشته اند بین کاربران توزیع می کنند.

این کار معمولا در غالب ICO ها (Initial Coin Offering)، IEO ها (Initial Exchange Offering) و یا STO ها (Security Token Offering) انجام می شود. در اول ممکن است این کلمات اختصاری و اصطلاحات کمی شما را گیج کنند، اما حقیقت این است که همه آن ها بسیار شبیه به هم هستند. سرمایه گذاران اترهای خود را به آدرس یک قرارداد ارسال می کنند و در ازای آن توکن جدید دریافت می کنند. این پول های جمع شده از این راه همگی برای تحقیق و توسعه پروژه هزینه می شود.

البته دارندگان توکن ها انتظار دارند تا از توکن های خود استفاده کنند ( این استفاده می تواند در زمان حال باشد و یا اینکه توکن های خود را نگهداشته تا در آینده بتوانند از آن ها استفاده کنند) و یا زمانی که پروژه به صورت کامل توسعه یافت با مقداری سود توکن های خودرا بفروش رسانند.

نحوه توزیع توکن نیازی نیست که به صورت اتوماتیک باشد. بسیاری از event های جمع سپاری (Crowdfunding) به کاربران این امکان را می دهند که با استفاده از طیف وسیعی از ارزهای دیجیتال مختلف (مانند BNB، BTC، ETH و USDT) پرداخت خود را انجام دهند.

 

مزایا و معایب توکن های ERC20

توکن های erc20 هم مانند هر چیز دیگری مزایا و معایبی دارد که در این قسمت به بررسی آن میپردازیم.

مزایا توکن های ERC20

قابلیت تبادل و معامله

توکن های ERC20 قابل تبادل و معامله هستند. بدین معنی که می توان آن ها را با یکدیگر مبادله و معامله کرد. بعنوان مثال اگر شما نوعی از توکن ERC20  را داشته باشید ( مهم نیست که کدام توکن را در اختیار داشته باشید) می توانید آن را با شخص دیگر مبادله کنید. این یعنی این توکن ها از لحاظ عملکردی چیزی شبیه به دیگر دارایی ها مانند طلا و یا پول نقد هستند. این توکن ها گزینه ای ایده ال هستند برای کسانی که بدنبال داشتن نوعی از دارایی و ارز هستند. نکته ای که وجود دارد این است که هدف از ایجاد یک توکن و موارد استفاده از آن ارزش آن را تعیین می کند.

قابلیت انعطاف پذیری

همانطور که قبل از این نیز ذکر کردیم، توکن های ERC20 کاملا قابلیت تغییر داشته و می توان متناسب با استفاده از آن ها در اپلیکیشن های مختلف تغییرات ایجاد کرد. بدین معنی که می توان یک توکن را برای استفاده در یک اپلیکیشن خاص طراحی و تنظیم کرد. برای نمونه، می توان از آن ها بعنوان یک ارز برای استفاده در بازی های رایانه ای، برنامه های امتیازدهی به مشتریان و استفاده کنندگان وفادار به برنامه، کلکسیون های دیجیتال و یا حتی نشان دادن حق مالکیت یک دارایی و یا اثر هنری استفاده کرد.

محبوب بودن

محبوبیت توکن های ERC20 در صنعت ارزهای دیجیتال دلیل متقاعد کننده ای برای استفاده از آن ها  در پروژه ها و طرح های اولیه است. تعداد زیادی اکسچنچ، والت و قراردادهای هوشمند وجود دارند که با توکن های تازه وارد به این عرصه کاملا سازگاری دارند. اضافه بر آن تعداد توسعه دهندگان اینگونه پروژه ها بی شمار است.

 

معایب توکن های ERC20

مقیاس پذیری

مانند بسیاری دیگر از کریپتوکارنسی ها، شبکه اتریوم نیز خالی از مشکل نیست. بعنوان مثال در حال حاضر بخوبی قابلیت Scale شدن ندارد. این بدین معنی است که اگر یک کاربر بخواهد در زمان پیک شلوغی شبکه تراکنشی را ارسال کند، نه تنها بایستی مدت زمان زیادی را منتظر بماند، بلکه باید کارمزد تراکنش بسیار بالایی را نیز پرداخت کند. چنانچه یک توکن ERC20 را بر روی این شبکه راه اندازی کنید و سپس ترافیک شبکه بسیار بالا رود، در این هنگام قابلیت مورد استفاده بودن آن مورد تاثیر واقع میشود. بدین معنی که با بالا رفتن ترافیک شبکه شاید نتوان از توکن ایجاد شده بدرستی استفاده کرده و اهداف پروژه را بدست آورد.

البته این مشکل تنها مختص به اتریوم نیست و دیگر شبکه ها نیز با اینگونه مشکلات درگیر هستند. البته اتریوم در صدد رفع این مشکلات با مهاجرت کردن به شبکه  اتریوم 2.0 است که این تغییر با بروزرسانی هایی مانند اتریوم پلاسما و اتریوم کسپر همراه است.

کلاهبرداری

اگر چه خود این تکنولوژی مشکل خاصی ندارد، اما این مزیت که امکان ایجاد توکن برای هر کس به راحتی امکان پذیر است، تبدیل به مشکل بزرگی شده است. در حقیقت ایجاد یک توکن ERC20 بسیار راحت است، لذا هر کس می تواند با داشتن یک هدف خوب و یا حتی بد اقدام به انجام این کار کند. به همین دلیل در هنگام انتخاب و سرمایه گذاری بر روی این توکن ها باید بسیار محتاطانه عمل کنید. تعداد زیادی طرح های هرمی و پانزی هستند که خود را بعنوان یک پروژه بلاکچینی جدید معرفی می کنند. به همین خاطر قبل از اینکه اقدام به سرمایه گذاری در پروژه ها کنید به اندازه کافی به صورت شخصی تحقیقات انجام داده و مطمئن شوید که طرحی که قصد سرمایه گذاری در آن را دارید قانونی و مورد اطمینان است.

 

تفاوت بین ERC20 ، ERC-1155 ، ERC-223  و ERC-721

ERC20 تا به امروز اولین و محبوب ترین استاندارد توکن اتریوم بوده است، اما این بدین معنا نیست که ERC20 تنها استاندارد موجود در این صنعت باشد. در طول این سال ها استانداردهای زیادی در این عرصه ظهور کرده اند که معمولا یک ورژن بهینه یافته از ERC20 بوده و یا هدف آن به کلی متفاوت بوده است.

از استانداردهای غیر معمول تر، در توکن های NFT (non-fungible tokens) استفاده می شود. برخی اوقات ایجاب می کند تا از یک توکن منحصر بفرد و دارای ویژگی های مختلف بهره برد. بعنوان مثال اگر شما بخواهید که اثر هنری، دارایی مجازی در بازی های رایانه ای و… را به توکن تبدیل کنید یکی از انواع قرارداد های زیر می توان گزینه مناسب تر و جذاب تری باشد.

بعنوان نمونه، استاندارد ERC-721 از جمله نمونه های بسیار محبوب برای استفاده در اپلیکیشن های غیرمتمرکز CryptoKitties بوده و هست. اینگونه قراردادها یک API به کاربران خود ارائه می دهند تا بتوانند توکن های NFT خودشان را Mint کنند. اضافه بر این بتوانند داده مورد نظر خود که می تواند یک تصویر، نوشته و یا هر چیز دیگری باشد را کد گذاری کنند.

استاندارد ERC-1155 را می توان نمونه ای بهبود و ارتقا یافته از استاندارد ERC-721 و ERC20 دانست. ERC-1155 یک نمای کلی از یک استاندارد است که هر دو توکن های fungible و non-fungible را در یک قرارداد واحد پشتیبانی می کند.

گزینه های دیگر مانند ERC-223 و ERC-621 با هدف ارتقا موارد استفاده پا به میدان گذاشتند. این موارد شامل اجرا و ایجاد لایه های امنیتی برای جلوگیری از ارسال به صورت تصادفی است. مورد دوم اضافه کردن یک عملکرد اضافه برای افزایش یا کاهش توزیع توکن ها است.

 

جمع بندی

استاندارد ERC20 چند سالی است که بر بازار کریپتوکارنسی سلطه دارد و دلیل آن نیز مشخص است. هر شخص می تواند تا متناسب با نیاز خود طیف وسیعی از توکن ها شامل توکن های utility، استیبل کوین ها و… را ایجاد کند. اگر چه استاندارد ERC20 همچنان ضعف ها و کمبود های خود را در برابر دیگر استاندارد ها دارد، اما همچنان آینده قراردادهای هوشمند است.

پستهای مرتبط

بیت کوین چیست؟

سردبیر والبی

اتریوم چیست؟

سردبیر والبی

بلاک چین چیست؟

سردبیر والبی

درج دیدگاه

EnglishIran
error: اجازه کپی ندارید