آشنایی با استانداردهای اتریوم
استانداردهای اتریوم (Ethereum) مجموعهای از قواعد و پروتکلهایی هستند که برای تعامل و توسعه برنامهها و قراردادهای هوشمند بر روی بلاکچین اتریوم استفاده میشوند.
استانداردها در اتریوم به توسعه دهندگان امکان میدهند برنامهها و قراردادهای هوشمند را با یکدیگر سازگار کنند و به راحتی ارتباط برقرار کنند.
دو استاندارد اصلی در اتریوم عبارتند از:
-
ERC-20: این استاندارد برای توکنهای قابل تبادل در اتریوم استفاده میشود. توکنهای ERC-20 میتوانند به صورت استاندارد در کیف پولها و بورسها قابل معامله باشند. این استاندارد قوانینی را برای توکنها تعیین میکند، از جمله نحوه انتقال، موجودی، و تعداد توکنها.
-
ERC-721: این استاندارد برای نمادهای غیرقابل تعویض (Non-Fungible Tokens یا NFTs) استفاده میشود. NFTها، نمادهایی هستند که هر کدام دارای شناسه یکتا و منحصر به فرد هستند. این استاندارد امکان ایجاد و مدیریت این نمادها را فراهم میکند و از قابلیتهای خاصی مانند مالکیت داراییهای دیجیتال، بازار آثار هنری و بازیهای رمزنگاری شده استفاده میکند.
علاوه بر این دو استاندارد، در اتریوم استانداردهای دیگری مانند ERC-1155 (که توکنهای قابل تعویض و غیرقابل تعویض را ترکیب میکند) و ERC-777 (که قابلیتهای پیشرفتهتری برای توکنها فراهم میکند) نیز وجود دارند. این استانداردها به توسعه دهندگان امکان میدهند برنامهها و قراردادهای هوشمند پیچیدهتری را در اتریوم پیاده سازی کنند.
ساختار استانداردهای ERC شبکه اتریوم
استانداردهای ERC (Ethereum Request for Comments) در اتریوم به عنوان پروتکلهایی برای تعامل و توسعه برنامهها و قراردادهای هوشمند استفاده میشوند. این استانداردها به صورت پیشنهادی توسط اعضای جامعه توسعه دهندگان اتریوم ارائه میشوند و پس از بررسی و تأیید از سوی جامعه به عنوان استاندارد رسمی شناخته میشوند.
ساختار استانداردهای ERC به شکل زیر است:
- ERC-20:
- نام استاندارد: ERC-20
- شماره استاندارد: 20
- توصیف: استاندارد ERC-20 برای توکنهای قابل تبادل در اتریوم استفاده میشود. این استاندارد قوانینی را برای توکنها تعیین میکند، از جمله نحوه انتقال، موجودی، و تعداد توکنها.
- ERC-721:
- نام استاندارد: ERC-721
- شماره استاندارد: 721
- توصیف: استاندارد ERC-721 برای نمادهای غیرقابل تعویض (NFTs) استفاده میشود. این استاندارد امکان ایجاد و مدیریت این نمادها را فراهم میکند و از قابلیتهای خاصی مانند مالکیت داراییهای دیجیتال، بازار آثار هنری و بازیهای رمزنگاری شده استفاده میکند.
- ERC-1155:
- نام استاندارد: ERC-1155
- شماره استاندارد: 1155
- توصیف: استاندارد ERC-1155 یک استاندارد توکن چندمنظوره است که توکنهای قابل تعویض و غیرقابل تعویض را ترکیب میکند. با استفاده از این استاندارد، توسعه دهندگان میتوانند توکنهایی را ایجاد کنند که هم قابلیت تبادل داشته باشند و هم قابلیت نگهداری به عنوان داراییهای منحصر به فرد را داشته باشند.
- ERC-777:
- نام استاندارد: ERC-777
- شماره استاندارد: 777
- توصیف: استاندارد ERC-777 قابلیتهای پیشرفتهتری را برای توکنها فراهم میکند. این استاندارد امکان ارسال و دریافت پیامها و رویدادها را در هنگام انتقال توکنها فراهم میکند و امکاناتی مانند اعتبارسنجی تراکنشها و قابلیتهای امنیتی را به برنامهو قراردادهای هوشمند اضافه میکند.
همچنین، در اتریوم استانداردهای دیگری نیز وجود دارند که به عنوان افزونهها و تکمیلکنندههای استانداردهای اصلی معرفی شدهاند. به عنوان مثال:
-
ERC-165: استاندارد ERC-165 امکان تشخیص قابلیتهای یک قرارداد هوشمند را فراهم میکند تا بتوان به طور خودکار بررسی کرد که یک قرارداد دارای یک متد خاص یا قابلیت خاصی است یا خیر.
-
ERC-20 Token Metadata: این استاندارد مشخصات (مانند نام، نماد، توضیحات و ...) را برای توکنهای ERC-20 تعریف میکند تا بتوان اطلاعات مربوط به توکن را به صورت استاندارد دریافت کرد.
این استانداردها برای توسعه دهندگان بسیار مفید هستند، زیرا به آنها امکان میدهند برنامهها و قراردادهای هوشمند قابل تبادل، غیرقابل تعویض، چندمنظوره و با قابلیتهای پیشرفتهتر را در اتریوم پیاده سازی کنند.
استاندارد ERC-20 اتریوم
استاندارد ERC-20 در اتریوم برای توکنهای قابل تبادل استفاده میشود. این استاندارد توسط Fabian Vogelsteller در سال 2015 ایجاد شد و به عنوان یک استاندارد قابل تعمیم و رایج در جامعه توسعه دهندگان اتریوم شناخته میشود.
ساختار استاندارد ERC-20 شامل مجموعهای از قراردادها (متدها) است که تعیین میکند چگونه توکنها در شبکه اتریوم ارسال، دریافت و مدیریت میشوند. در زیر، ساختار اصلی استاندارد ERC-20 را بررسی میکنیم:
- تابعهای اصلی:
totalSupply()
: بازگرداندن مجموع تعداد توکنهای موجود در گردش.balanceOf(address _owner)
: بازگرداندن تعداد توکنهای موجود برای یک آدرس مشخص.transfer(address _to, uint256 _value)
: انتقال تعداد مشخصی توکن به یک آدرس مقصد.transferFrom(address _from, address _to, uint256 _value)
: انتقال تعداد مشخصی توکن از آدرسی به آدرس دیگر، به شرطی که مجوز لازم را داشته باشید.approve(address _spender, uint256 _value)
: اعطای مجوز به یک آدرس برای برداشت تعداد مشخصی توکن از حساب شما.allowance(address _owner, address _spender)
: بازگرداندن مقدار توکنی که صاحب حساب به یک آدرس خاص برای برداشت تعیین کرده است.
- رویدادها:
Transfer(address indexed _from, address indexed _to, uint256 _value)
: رویدادی که هنگام انتقال توکن از یک آدرس به آدرس دیگر ایجاد میشود.Approval(address indexed _owner, address indexed _spender, uint256 _value)
: رویدادی که هنگام اعطای مجوز برداشت توکن از یک حساب به آدرس دیگر ایجاد میشود.
استفاده از استاندارد ERC-20 به توسعه دهندگان امکان میدهد توکنهای قابل تبادل را در اتریوم پیادهسازی کنند و از توابع استاندارد برای مدیریت توکنها استفاده کنند. این استاندارد مشتمل بر قوانینی است که برای تبادل و مدیریت توکنها توسط کلیه برنامهها و قراردادهای هوشمند قابل استفاده است.
استاندارد ERC-223 اتریوم
استاندارد ERC-223 نیز همانند استاندارد ERC-20 برای توکنهای قابل تبادل در اتریوم استفاده میشود. اما با تفاوتهایی نسبت به استاندارد ERC-20 در مورد امنیت و کاربرد آن برخوردار است.
استاندارد ERC-223 در سال 2017 توسط دو توسعه دهنده به نامهای Dexaran و William Entriken ارائه شد. این استاندارد با هدف بهبود امنیت و کارایی در انتقال توکنها ایجاد شده است. در حالی که استاندارد ERC-20 از توکنها به عنوان پیامکهایی که به حسابها ارسال میشوند، استفاده میکند، استاندارد ERC-223 از توکنها به عنوان یک پیامک منحصر به فرد استفاده میکند که به عنوان پیامی به یک حساب ارسال میشود.
تفاوت مهم دیگر استاندارد ERC-223 در مقایسه با ERC-20 در این است که انتقال توکنها به حسابهای قراردادهای هوشمند در ERC-223 امنتر است. در استاندارد ERC-20، اگر توکنها به یک حساب قرارداد هوشمندی ارسال شوند که نمیتواند توکنهای دریافتی را مدیریت کند، توکنها گم میشوند و قابل بازیابی نیستند. اما در استاندارد ERC-223، ارسال توکن به حسابهای قرارداد هوشمندی که قادر به دریافت توکنها است، به صورت خودکار شناسایی میشود و توکنها به حساب قابل بازیابی برگشت داده میشوند. این ویژگی از امنیت بیشتری برخوردار است و از احتمال گمشدن توکنها جلوگیری میکند.
استاندارد ERC-223 تعدادی از تابعهای استاندارد ERC-20 را نیز پیادهسازی میکند، اما با اضافه کردن تابعهای جدیدی برای امکان ارسال توکن به حسابهای قرارداد هوشمند و همچنین شناسایی خودکار توکنها. با این حال، استاندارد ERC-223 به طور پشتیبانی رسمی توسط قراردادهای هوشمند اتریوم پذیرفته نشده است و استفاده از آن به عهده توسعه دهندگان است.
عملکرد استاندارد ERC-223 چگونه است؟
استاندارد ERC-223 به توکنهای قابل تبادل در اتریوم امکانات و ویژگیهای جدیدی اضافه میکند. عملکرد استاندارد ERC-223 به شرح زیر است:
-
توکن به عنوان پیامک: در استاندارد ERC-223، توکن به عنوان یک پیامک منحصر به فرد در نظر گرفته میشود. وقتی یک توکن به یک حساب ارسال میشود، تابعی با نام
tokenFallback
در قرارداد هوشمند مربوطه فراخوانی میشود. این تابع متعاقباً میتواند کدهایی برای تنظیم پرچمها، اجرای عملیاتهای خاص یا انجام عملیات دلخواه دیگر را اجرا کند. -
امنیت بیشتر: استاندارد ERC-223 از مشکلات امنیتی استاندارد ERC-20 مانند گم شدن توکنها به علت ارسال آنها به حسابهای قرارداد هوشمند جلوگیری میکند. وقتی توکنها به یک حساب قرارداد هوشمند ارسال میشوند، تابع
tokenFallback
در قرارداد هوشمند فراخوانی میشود و در صورتی که قرارداد هوشمند دریافت توکنها را پشتیبانی نکند، تراکنش با خطا مواجه نمیشود و توکنها به حساب ارسال کننده برگشت داده میشوند. -
سازگاری با ERC-20: استاندارد ERC-223 به طور پشتیبانی برخی از توابع استاندارد ERC-20 مانند
totalSupply
،balanceOf
وtransfer
میباشد. این به این معنی است که توکنهای پیادهسازی شده با استاندارد ERC-20 به راحتی قابل ارتباط و تعامل با توکنهای پیادهسازی شده با استاندارد ERC-223 هستند.
با استفاده از استاندارد ERC-223، توسعه دهندگان میتوانند توکنهایی را طراحی و پیادهسازی کنند که از امکانات امنیتی بیشتری نسبت به استاندارد ERC-20 برخوردار باشند و به راحتی با سایر توکنها و قراردادهای هوشمند سازگاری داشته باشند.
سیر تکامل استانداردهای اتریوم
دو استاندارد ERC-20 و ERC-721 دو استاندارد پرکاربرد در اکوسیستم اتریوم هستند. با این حال جامعه اتریوم دائما استانداردهای جدیدی را پیشنهاد میکند. به طور مثال برای ایجاد کاربردهای جدید از قبیل برنامههای «نرمافزار به عنوان سرویس» (SaaS Applications) استاندارد ERC-1337 و برای بهبود تجربه کاربری استاندارد ERC-777 ارائه شده است. یکی از مهمترین قابلیتهای اکوسیستم اتریوم توانایی توکنیزهکردن طیف گستردهای از داراییها است. بنابراین برای حل چالشهای پیچیده و ایجاد برنامههای جدید، نوآوریهای اتریوم همچنان ادامه خواهد داشت.
ثبت دیدگاه
0دیدگاه
دیدگاهی ثبت نشده است.
اولین نفری باشید که دیدگاهتان ثبت میشود.