آنچه خواهید خواند:
اتریوم یک پلتفرم غیرمتمرکز مبتنی بر بلاکچین میباشد که برای اجرای قراردادهای هوشمند طراحی شده است. قرارداد هوشمند، برنامهای است که دقیقاً طبق کدنویسی سازنده آن اجرا میشود. بهعبارتی، این نوع قرارداد را میتوان از پیش بهگونهای تنظیم کرد تا پس از برآورده شدن شرایط خاص، بهطور خودکار فعال شود. ماشین مجازی اتریوم (EVM) روی شبکه اتریوم اجرا میشود و به هرکس اجازه میدهد تا یک برنامه را اجرا کند و فرآیند ساخت برنامههای بلاکچین را بسیار سادهتر میکند.
با ماشین مجازی اتریوم، توسعهدهندگان نیازی به ساخت یک بلاکچین جدید از ابتدا برای هر برنامه ندارند و به زبان برنامهنویسی خاصی وابسته نیستند. میتوان گفت اتریوم در حال ساخت، اولین کامپیوتر غیرمتمرکز جهان بر روی یک بلاکچین عمومی است. قراردادهای هوشمند امکان ایجاد برنامههای غیرمتمرکز (dApps) را فراهم میکنند که میتوانند فرایندها را خودکار کنند و بدون امکان سانسور یا خرابی اجرا شوند و ازاینرو، اهمیت بسیاری دارند.
همانطور که میدانیم، ارز بومی اتریوم اتر (ETH) نام دارد که از طریق کارمزد تراکنش به پلتفرم اتریوم قدرت میدهد. بااینحال، یکی از بزرگترین ویژگیهای اتریوم، توانایی هر کاربر برای ایجاد توکنهای منحصربهفردی است که روی بلاکچین اتریوم وجود دارد و میتواند چندین هدف مانند توکن ابزار داشته باشد. توکنهای مبتنی بر اتریوم که میتوان آنها را معامله کرد، به ستون فقرات اکوسیستم اتریوم تبدیل شدهاند. شرکتهای نوآور از این توکنها بهعنوان ارزهای داخلی در اکوسیستم خود استفاده میکنند، برخی در صرافی ها فهرست میشوند و مانند سهام شرکت عمل میکنند و برخی مانند بازی CryptoKitties به کلکسیون تبدیل میشوند. در این مقاله، استانداردهای مختلف ERC که در جامعه اتریوم محبوبیت بالایی دارند را بررسی میکنیم.
استاندارد ERC چیست؟
ERC مخفف عبارت Ethereum Request for Comments است. ERCها استانداردهای سطح برنامه برای اتریوم هستند و میتوانند شامل استانداردهای توکن، ثبتنام، بستههای کتابخانه در برنامهنویسی و غیره باشند. هرکسی میتواند یک ERC ایجاد کند، اما این مسئولیت ایجادکننده ERC است که استاندارد خود را بهوضوح توضیح دهد و حمایت موردنیاز برای تأیید آن را در جامعه اتریوم کسب کند. هر جامعه منبعباز نیاز به یک سیستم «درخواست و تأیید» پیشنهاد دارد تا تغییرات اساسی ارائهشده توسط کاربران خود را بپذیرد و پلتفرم را بهبود بخشد.
ERCها این هدف را برای اتریوم محقق میکنند؛ آنها شامل برخی دستورالعملهای فنی هستند که پیشنهاداتی در مورد توسعه شبکه اتریوم ارائه میدهند. توسعهدهندگان جامعه اتریوم با ارائه یک پیشنهاد بهبود اتریوم (EIP)، استانداردهای جدیدی را برای پلتفرم اتریوم پیشنهاد میکنند. این پیشنهادها شامل مشخصات پروتکل و استانداردهای قرارداد است. هنگامی که EIP توسط یک کمیته تأیید و نهایی شد، به ERC تبدیل میشود. EIPهای نهاییشده، مجموعهای از استانداردهای قابل پیادهسازی را به توسعهدهندگان اتریوم میدهند؛ قراردادهای هوشمند با این استانداردها ساخته میشوند و یک رابط مشترک میتواند به آنها دسترسی داشته باشد.
استانداردهای رایج ERC مجموعهای از توابع موردنیاز را برای یک نوع توکن تعریف میکنند و به برنامهها و قراردادهای هوشمند اجازه میدهند تا به روشی قابلپیشبینی با آنها تعامل داشته باشند. رایجترین استاندارد ERC مورد استفاده تا به امروز، ERC-20 است؛ نوعی استاندارد که ایجاد، استفاده و تبادل توکنهای مبتنی بر اتریوم را بسیار ساده میکند. علاقهمندان به ارزهای دیجیتال، با آگاهی از انواع استانداردها میتوانند عملکرد پروژههای مختلف در استفاده از هر استاندارد و تناسب اهداف و کارآیی پروژه و در نهایت پایبند بودن پروژه به استانداردها را مورد بررسی قرار داده و تراکنشهای خود را در بهینهترین حالت ممکن انجام دهند.
انواع ERCها
استانداردهای ERC بسیاری وجود دارند که هریک کاربردهای متعددی دارد. چند مورد برتر از نظر پذیرش و قابلیت استفاده به شرح زیر است:
ERC-20
ERC20 شناختهشدهترین استاندارد در بین تمام استانداردهای موجود در کل جامعه رمزنگاری است و بیشتر توکنهای صادر شده در بالای پلتفرم اتریوم از آن استفاده میکنند. بنابراین، تأثیر ERC20 بر توسعهدهندگان بسیار زیاد است و هربار که یک توکن جدید منتشر میشود، نیازی به بازسازی پروژهها نیست، بلکه بهگونهای طراحی شدهاند که با توکنهای جدید سازگار باشند، مشروط بر اینکه آن توکنها به قوانین پایبند باشند.
توسعهدهندگان توکنهای جدید موظف به رعایت قوانین ERC20 هستند؛ به این معنی که بیشتر توکنهای منتشر شده از طریق ICOهای مبتنی بر اتریوم، با ERC20 مطابقت دارند (ICOها، نوعی فروش عمومی و عرضه اولیه میباشند). الزامات مختلف و محدودیتهای ERC20 منجر به شکلگیری انواع مختلفی از استانداردهای توکن مبتنی بر اتریوم شده است. در واقع، این استاندارد، ابتداییترین استاندارد برای توکنها است و برای حل مشکلات خاص، نیاز به ارتقای استانداردها ایجاد شد. در ادامه، به روشهای بهبود پیشنهاد شده توسط استاندارد ERC223 میپردازیم.
ERC-223
ERC223 در بالای ERC20 ساخته شده است و میتواند تراکنشهای قبلی را چک کند. به این معنی که تمام عملکردها در بخش ERC20 را در خود جای داده است و از کاربران در برابر انتقال تصادفی در قرارداد محافظت میکند.
مشکل توکنهای گمشده
در هنگام انتقال توکنهای ERC20 به یک قرارداد، وقتی افراد به اشتباه از دستورالعملهای ارسال توکن به کیف پول استفاده میکنند و آنها را به یک قرارداد هوشمند میفرستند که برای مدیریت آن طراحی نشده است، توکنهای آنها در قرارداد هوشمند گیر میکند. ازآنجاییکه قرارداد برای رسیدگی به این توکنها طراحی نشده است، این توکنها برای همیشه در یک محیط غیرقابلدسترس باقی میمانند. استاندارد ERC223 برای بازیابی این توکنها طراحی شده است.
کاهش مصرف انرژی
علاوهبر حل مشکل فوق، برخلاف پروسه انتقال ERC20 به یک قرارداد هوشمند که در دو مرحله انجام میشود، انتقال توکنهای ERC223 به قرارداد هوشمند، یک فرآیند یک مرحلهای است. این به معنای کمتر شدن کارمزد تراکنش و بدون اشغال فضای اضافی در بلاکچین است که موجب افزایش سرعت در بلاکچین میشود.
ERC-827
ERC827 استانداردی است که با ERC223 رقابت میکند و عملکردی مشابه استاندارد ERC223 دارد؛ بهعلاوه، این استاندارد امکان انتقال دادهها با توکنها به قراردادهای هوشمند و اجرای آنها را فراهم میکند. این بدان معنی است که میتوان از آن برای حل مشکلات خاص بهغیر از گیرکردن توکنها در قراردادهای هوشمند استفاده کرد. اخیراً به نظر میرسد ERC827 در برابر ERC223 پیروز شده است، زیرا در قراردادهای منبعباز بیشتری استفاده شده است.
رابط ERC20 اجازه میدهد تا هر توکن موجود در اتریوم توسط سایر برنامهها مورد استفاده مجدد قرار گیرد؛ از کیف پول گرفته تا صرافی های غیرمتمرکز. استاندارد توکن ERC20 بهطور گسترده پذیرفته شده است، اما تنها اجازه انتقال ارزش را میدهد. کاربران اتریوم برای انتقال ارزش و داده و همچنین حل مشکل گیرکردن، از استاندارد ERC827 میتوانند استفاده کنند.
ERC-721
ERC721 مفهومی کاملاً متفاوت از ERC223 و ERC827 را ارائه میدهد. این استاندارد رایجترین استاندارد در توکن غیرقابلتعویض (NFT) است. ابتدا مفهوم قابلتعویض و غیرقابلتعویض را شرح میدهیم. اگر بتوان کالایی را با کالای مشابه دیگری مبادله کرد، میتوان آن را قابلتعویض دانست. این بدان معناست که ارزش دو کالای قابلتعویض از نظر همه یکسان است و قابلتعویض هستند. برای مثال، یک اسکناس 100 هزار تومانی را در نظر بگیرید. این اسکناس ۱۰۰ هزار تومانی با اسکناس 100 هزار تومانی دیگر با شماره مرجع متفاوت قابل تعویض است.
برای درک مفهوم غیرقابلتعویض، خودروهای کلکسیونی کمیاب را در نظر بگیرید. ارزش دو خودرو با مدل یکسان ممکن است بسته به سن و شرایط آنها متفاوت باشد؛ این امر یک خودروی کلکسیونی را به یک کالای غیرقابلتعویض تبدیل میکند. توکنهای قابلتعویض را میتوان تقسیم کرد، درحالیکه توکنهای غیرقابلتعویض امکان تقسیم شدن ندارند. NFTها میتوانند نشاندهنده مالکیت بر داراییهای دیجیتال یا فیزیکی باشند. NFTها را میتوان معامله کرده و همچنین آن را به اشخاص ثالث ارسال کرد. شما نمیتوانید بین دو توکن مبتنی بر ERC20 تفاوت قائل شوید، آنها برای شما یکسان هستند؛ اما ERC721 مفهومی را پیشنهاد میکند که براساس آن دارندگان توکن میتوانند بین توکنهایی که در اختیار دارند، تمایز قائل شوند.
یکی از نمونههای معروف CryptoKitties است؛ در این بازی، بازیکنان میتوانند گربههای دیجیتالی را بخرند، بفروشند، تجارت کنند و پرورش دهند. هر گربه به نوعی منحصربهفرد است و این منحصربهفرد بودن، CryptoKitties را بسیار کلکسیونی میکند، زیرا فرد میتواند به ویژگیهای چندین بچه گربه علاقهمند شود و مایل به داشتن آنها باشد. بااینحال، موارد مختلف دیگری نیز وجود دارد؛ در بالا اشاره کردیم که توکن غیرقابلتعویض میتواند یک دارایی باشد.
بهعنوان مثال، توکنها را میتوان برای نشان دادن اشیا، املاک، حقوق مالکیت معنوی و غیره استفاده کرد و هر توکن ممکن است پارامترهای مختلفی به آن اضافه شود. یا میتوان از آنها برای نشان دادن مواردی در وبسایت یک تاجر استفاده کرد که در آن کفش آدیداس با کفش نایک متفاوت است. حتی کفشهای مختلف در یک برند را میتوان به شکلی مشابه نشان داد.
ERC-809
این استاندارد برای اجاره توکنهای غیرقابلتعویض رقیب استفاده میشود. یک NFT در صورتی بهعنوان «رقیب» توصیف میشود که «استفاده یا مالکیت» آن توسط یک فرد مانع از «استفاده یا مالکیت» همزمان توسط افراد دیگر شود. استاندارد ERC-809 به مالک اجازه میدهد تا با استفاده از مجموعهای از دستورات، دسترسی به NFTهای رقیب خود را اجاره کند و کاربران میتوانند تمام قراردادهای اجاره گذشته و فعلی را از یک رابط کیف پول مشاهده کنند.
مزایا و معایب ERCها
استفاده از استانداردهای ERC مزایای زیادی دارد. مانند کتابخانهها در برنامهنویسی، آنها به توسعهدهندگان کمک میکنند تا بهجای ساختن از ابتداییترین مراحل، از کدهای اثباتشده استفاده کنند. آنها همچنین به کاربران امکان میدهند کد را سریعتر برای فرآیندهای استاندارد مستقر کنند. برخی از نمونهها عبارتاند از ایجاد قراردادهای توکن، فروش عمومی (که در دوران رونق ICO رایج است)، امانتگذاری و ردیابی توکنها. با ERCها، میتوان بهراحتی اوراکلها (به پروژههایی که دادهها را از دنیای فیزیکی به بلاکچین و قراردادهای هوشمند ارسال میکنند، اوراکل گفته میشود) را در بالای برنامههای قرارداد هوشمند ساخت تا رابط کاربری بهتری ایجاد شود.
یکی از موارد منفی این است که برخی از قراردادهای ERC بهویژه آنهایی که در طول رونق ICO مستقر شدهاند، بهطور کامل به استانداردها پایبند نبوده و موجب میشوند دارایی افراد با خطر از دست دادن ارزش مواجه شود و همچنین، ممکن است ماهیت غیرمتمرکزبودن توسط توسعهدهندههای یک نرمافزار یا بازی کمرنگ شود. برای مثال، ممکن است در یک بازی بنا به دلایلی توکنهای کاربر قفل یا بهاصطلاح فریز شوند؛ البته موارد فوق در پروژههایی که نوپا هستند و تعهد کافی را نسبت به طرح خود ندارند ممکن است مشاهده شود، در پروژههای معتبر توسط پروتکل موجود اطمینان حاصل میشود که استانداردها بهدرستی رعایت شوند. در ادامه بهصورت کلی مزایا و معایب استانداردهای اتریوم را برمیشماریم.
مزایای استانداردهای ERC
- ترکیبپذیری و تعامل بین برنامهها و شبکه را تسهیل میکند.
- عملکرد شبکه را افزایش میدهد.
- ویژگیهایی مانند عملکردهای انتقال توکن، مالکیت، امنیت و موارد دیگر را فعال میکند.
- یک زبان مشترک و مجموعهای از دستورالعملها را برای توسعهدهندگان ایجاد میکند.
معایب استانداردهای ERC
- برای درک، نیاز به دانش مناسب از بلاکچین و برنامهنویسی است.
- تیم توسعه هسته اتریوم، استانداردهای جدید توکن را ارزیابی میکند که باعث عدم اطمینان و تأخیر در استقرار میشود.
نتیجهگیری
استانداردهای ERC نیروی محرکه رشد و توسعه شبکه اتریوم میباشد. این استانداردها مجموعهای مشترک از دستورالعملها را به توسعهدهندگان ارائه میدهند تا توکنهای بومی، پروژههای DeFi، NFT و غیره را بر روی پلتفرم بسازند و در عین حال از سازگاری این پروژهها با سایر برنامههای مبتنی بر اتریوم نیز اطمینان حاصل کنند. بنابراین، برای ساخت برنامههای کاربردی و یکپارچه با ویژگیهای مطلوب بر روی اتریوم، پیروی از استانداردهای ERC بسیار مهم است.