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

استاندارد ERC-20 چیست؟ توکن های ERC20 چگونه ایجاد می شوند؟

0 2,198

در این مطلب، استاندارد ” ERC-20″ را بررسی خواهیم کرد که چارچوبی مهم برای ایجاد توکن ها است. اگرچه به شبکه اتریوم اختصاص دارد،  این چارچوب همچنین باعث ایجاد سایر استاندارد ها مانند  BEP-2 بایننس چین شده است.

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

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

استاندارد ERC-20 چیست؟

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

آنها را نباید با پیشنهادات ارتقا اتریوم (EIPs) اشتباه گرفت. EIP مانند BIP های بیت کوین پیشنهاد می کند که خود پروتکل بهبود یابد. هدف ERC ایجاد قراردادهایی است که تعامل اپلیکیشن ها و قراردادها را با یکدیگر آسان می کند.

استاندارد ERC-20 فهرستی از قوانین برای ایجاد یک توکن است تا بتواند روی شبکه اتریوم فعالیت داشته باشد. توکن‌های ERC-20 به دلیل امکان استفاده در عملیات‌های جذب سرمایه یا ICO، بسیار کاربردی هستند. پروژه‌های مبتنی بر بلاک چین می‌توانند تا زمان ساخت بلاک چین اصلی خود، با ساخت و فروش توکن‌های ERC-20 سرمایه جذب کنند.

توکن های ERC20

توکن‌های ERC-20 را می توان در تمام کیف‌ پول‌های معتبر اتریوم  ذخیره کرد.  با افزایش تعداد برنامه‌های غیرمتمرکز (DApps) روی شبکه های مختلف، داشتن نظم و ثبات در بلاک چین اهمیت زیادی خواهد داشت؛ در غیر این صورت شبکه نمی‌تواند جوابگوی تمامی تراکنش‌ها با سرعت مناسب باشد.

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

زمانی که توکن های جدید ERC-20 ایجاد می شوند، آنها به طور خودکار با سرویس ها و نرم افزارهای پشتیبانی کننده از استاندارد ERC-20 (کیف پول های نرم افزاری، سخت افزاری، صرافی ها و غیره)  تعامل می کنند.

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

جمع بندی سریع توکن های اتریوم

بر خلاف اتریوم، توکن های ERC-20 توسط حساب ها نگهداری نمی شوند. توکن ها فقط در داخل یک قرارداد وجود دارند که مانند یک پایگاه داده مستقل است. این قرارداد قوانین مربوط به توکن ها (برای مثال، نام، نماد، تقسیم پذیری) را مشخص می کند و فهرستی را نگه می دارد که مانده کاربران را در آدرس اتریوم آنها ثبت می کند.

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

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

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

در اینجا مثالی در دنیای واقعی از موارد فوق در اتراسکن (Etherscan) آورده شده است: شخصی در حال ارسال سفارش به قرارداد BUSD است. می بینید که توکن ها منتقل شده اند و کارمزد پرداخت شده است، اگرچه کادر “Value” صفر اتریوم را نشان می دهد.

توکن های ERC-20 چگونه ایجاد می شوند؟

برای انطباق با ERC-20، قرارداد شما باید شامل شش تابع اصلی باشد: totalSupply, balanceOf, transfer, transferFrom, approve, allowance. علاوه بر این، می توان توابع اختیاری مانند نام توکن، نماد و اعشار نیز تعیین کرد. شما از نام آنها ممکن است به عملکردشان پی ببرید. اگر نمی دانید، نگران نباشید در ادامه آنها را تجزیه و تحلیل می کنیم. این توابع به زبان برنامه نویسی سالیدیتی (Solidity ) ایجاد شده اند.

توابع اصلی استاندارد ERC20

کل عرضه (totalSupply)

این تابع تعداد کل عرضه یک توکن ERC20  خاص را نشان می دهد. هدف این تابع، مشخص شدن تعداد توکن های موجود در قرارداد است.

موجودی (balanceOf )

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

انتقال (transfer)

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

انتقال از (transferFrom) 

تابع transferFrom  یک گزینه مفید برای انتقال است که امکان برنامه ریزی بیشتر در اپلیکیشن های غیر متمرکز را فراهم می کند. مانند transfer، این تابع برای انتقال توکن ها استفاده می شود، اما این توکن ها لزوما متعلق به دارنده قرارداد نیست.

به عبارت دیگر، می توانید به شخصی (یا قرارداد دیگری) اجازه انتقال وجوه از طرف خود را بدهید. یک مورد استفاده احتمالی شامل پرداخت هزینه قبض های خدمات است، جایی که نمی خواهید هر روز/ هفته/ ماه به صورت دستی پرداخت کنید. در عوض، شما فقط به برنامه ای اجازه انجام این کار را می دهید. با استفاده از این تابع در قرارداد هوشمند می‌توانید سیستم پرداختی پیاده‌سازی کنید که بصورت خودکار این پرداخت‌ها را انجام دهد. 

تایید (approve)

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

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

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

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

مجوز (allowance )

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

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

توابع اختیاری ERC20

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

توکن های ERC- 20  چه کاری می توانند انجام دهند؟

با کنار هم قراردادن تمام توابع فوق، به قرارداد ERC- 20   می رسیم. می توان کل عرضه و موجودی را بررسی کرد، وجوه را انتقال داد و اجازه مدیریت توکن ها را به سایر اپلیکیشن های غیر متمرکز داد. بخش عمده ای از جذابیت توکن های  ERC-20 انعطاف پذیری آنها است. کنوانسیون های ذکر شده توسعه را محدود نمی کنند، بنابراین طرفین می توانند ویژگی های بیشتری را اعمال و پارامترهای خاصی را متناسب با نیازهای خود تعیین کنند.

ارزهای پایدار

ارزهای پایدار اغلب از استاندارد توکن ERC-20  استفاده می کنند. تراکنش مربوط به قرارداد بایننس یو اس دی که قبلا به آن اشاره کردیم، یکی از این موارد است و اکثر ارزهای پایدار بزرگ نیز با این فرمت در دسترس هستند.

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

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

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

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

توکن های تضمینی

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

توکن های ابزاری

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

آیا توکن های ERC-20 را می توان استخراج کرد؟

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

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

توزیع توکن نباید خودکار باشد. بسیاری از رویدادهای سرمایه گذاری جمعی به کاربران امکان پرداخت با طیف وسیعی از ارز های دیجیتال مختلف (مانند بیت کوین، اتریوم ، بایننس کوین و تدر ) را می دهند.  سپس توکن های درخواست شده به آدرس های ارائه داده شده توسط کاربران ارسال می شوند.

مزایا و معایب توکن های ERC-20

مزایا

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

قابل تعویض

توکن های ERC-20 قابل تعویض هستند (هر واحد با واحد دیگر قابل تعویض است).  برای مثال، اگر توکن بایننس آکادمی در اختیار داشته باشید، می توانید آن را با هر توکن دیگر معامله کنید و آنها از نظر عملکردی یکسان هستند، درست مانند پول نقد یا طلا.

انعطاف پذیر

همانطور که در بخش قبلی بررسی کردیم، توکن های ERC-20  قابل تغییر هستند و می توانند متناسب با اپلیکیشن های مختلف ایجاد شوند. برای مثال، آنها می توانند به عنوان ارز بازی های ویدئویی، در برنامه های امتیاز وفاداری، کلکسیون های دیجیتالی یا حتی برای نمایش هنرهای زیبا و حقوق مالکیت استفاده شوند.

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

محبوبیت

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

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

معایب

مقیاس پذیری

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

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

طرح های کلاهبرداری

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

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

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

منبع binance

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.