Follow Us
Facebooktwitteryoutube
YouTube
Promo
banner
Promo
banner

ERC 20 در مقابل ERC 223 در مقابل ERC 777: مقایسه ای بین استانداردهای رمز Ethereum

آیا شما یک توسعه دهنده Ethereum هستید که روی یک پروژه رمزنگاری کار می کنید؟ شما به احتمال زیاد در حال توسعه رمز جدید با استفاده از استاندارد ERC20 هستید ، با این حال ، شما باید از تلاش های بهبود بدانید. این به شما کمک می کند تا در مورد استفاده از استاندارد رمز ERC تصمیم درستی بگیرید ، از این رو من مقایسه ERC777 vs ERC223 vs ERC20 را در این مقاله توضیح خواهم داد.

من مقایسه را با توضیح ERC 20 شروع می کنم و متعاقباً اشکال آن را توضیح می دهم. سپس من تلاش های بهبودی را که جامعه Ethereum انجام داده است ، از طریق ERC 777 و ERC 223 توضیح خواهم داد.

مقایسه ERC20 در مقابل ERC223 در مقابل ERC777

ERC 20 در مقابل ERC 223 در مقابل ERC 777

ERC 20 چیست?

قبل از مقایسه ERC 20 در مقابل ERC 223 در مقابل ERC 777 ، باید توضیح دهم که ERC چیست و ERC20 نشان دهنده چه چیزی است. توسعه دهندگان Ethereum اغلب “پیشنهادهای بهبود Ethreum” (EIP) را ارائه می دهند. انجمن Ethereum EIP ها را بررسی می کند ، نظر می دهد ، که ممکن است برخی از کارها را آغاز کند.

بعد از اینکه جامعه Ethereum یک EIP را قبول کرد ، به یک استاندارد تبدیل می شود و سپس ما آن را “درخواست Ethereum برای نظرات” (ERC) می نامیم. ERC 20 یکی از این استاندارد ها برای نشانه های Ethreum است.

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

قبل از ERC 20 ، توسعه دهندگان Ethereum مجبور بودند به طور خاص قوانینی را تنظیم کنند که رمز آنها را دنبال خواهد کرد ، و این روش فاقد استاندارد است. اکنون با استفاده از ERC20 ، توسعه دهندگان Ethereum می دانند که فقط باید از استاندارد ERC 20 استفاده کنند. این استاندارد سازی سهم بزرگی در دامن زدن به اشتیاق ICO داشت که از سال 2017 شاهد آن بودیم.

درباره استاندارد ERC 20 در “راهنمای مبتدیان: ERC20 چیست؟” بیشتر بخوانید..

توابع استاندارد ERC 20 چیست؟?

استاندارد ERC 20 هنگام تهیه رمز Ethereum توابع زیر را تجویز می کند:

  1. تامین کل توکن ها را دریافت کنید: شما باید از عملکرد “totalSupply” استفاده کنید.
  2. موجودی رمز حساب های مالک دیگر را بازیابی کنید.
  3. ارسال علائم به حساب مالک دیگر: شما باید از عملکرد “انتقال” استفاده کنید. این حساب ها حساب های EOA هستند.
  4. نشانه ها را از یک آدرس رمز به آدرس دیگر ارسال کنید. آدرس توکن آدرس قرارداد است و شما باید از عملکرد “transferFrom” استفاده کنید.
  5. به یک حساب دیگر اجازه دهید در یک محدودیت مشخص بارها و بارها از حساب شما برداشت کند. برای این کار باید از عملکرد “تأیید” استفاده کنید.
  6. مصرف کنندگان می توانند با استفاده از عملکرد “کمک هزینه” توکن های استفاده نشده را به مالکان بازگردانند.

یک اشکال ERC 20 که توکن ها را می سوزاند


در حالی که به طور کلی بسیار خوب مستند و پیاده سازی شده است ، استاندارد ERC 20 دارای یک اشکال است و این در حال حاضر نشانه هایی به ارزش میلیون ها دلار آمریکا را سوزانده است. عملکرد “انتقال” فقط به شما امکان می دهد نشانه ها را به مالک دیگر ، به عنوان مثال حساب EOA ارسال کنید.

اگر می خواهید وجهی را به یک حساب قرارداد هوشمند ، یعنی شکل دیگر حساب های Ethereum ارسال کنید ، باید از ترکیب “تأیید” و “انتقال از” استفاده کنید. اگر با استفاده از عملکرد “انتقال” توکن ها را به یک قرارداد هوشمند ارسال کنید ، یک معامله موفقیت آمیز مشاهده خواهید کرد ، اما قرارداد هرگز رمزها را دریافت نمی کند.

این نشانه ها را برای همیشه می سوزاند و نمی توانید آنها را بازیابی کنید. چندین کاربر از عملکرد اشتباه برای ارسال توکن به قراردادهای هوشمند استفاده کرده اند و رمزهای خود را برای همیشه از دست داده اند!

بنیاد Ethereum از این اشکال اطلاع دارد اما همچنان استاندارد ERC 20 را ارتقا می دهد. من دلیل آنها را برای انجام این کار نمی دانم. آنها احتمالاً از واردات موضوع قدردانی نمی کنند ، یا مقاومت در برابر تغییر وجود دارد.

استاندارد رمز ERC223: وضوح پیشنهادی برای اشکال ERC 20

یک توسعه دهنده Ethereum که با نام کاربری Reddit “Dexaran” شناخته می شود ، EIP 223 را با راه حل این اشکال ERC 20 پیشنهاد داد. قبل از مقایسه ERC 20 در مقابل ERC 223 در مقابل ERC 777 ، ابتدا پیشنهاد او را توضیح خواهم داد.

استاندارد رمز ERC223 هنوز پیش نویس است و انجمن Ethereum هنوز آن را اجرا نکرده است. این راه حل زیر را پیشنهاد می کند:

  1. این معامله در بلاکچین Ethereum را به عنوان یک رویداد در نظر می گیرد و از مفهوم «مدیریت رویداد» استفاده می کند.
  2. اگر کاربران از عملکرد “انتقال” برای ارسال توکن به یک قرارداد هوشمند استفاده کنند ، خطایی ایجاد می شود و متعاقباً معامله را لغو می کند.
  3. کاربر “قیمت گاز” Ethereum را پرداخت می کند ، اما هیچ نشانه ای را از دست نمی دهد.
  4. این پیشنهاد یک پارامتر اضافی به عملکرد “انتقال” اضافه می کند تا آدرس گیرنده حساب قرارداد باشد.
  5. اگر متوجه شود که آدرس گیرنده یک حساب قرارداد است و نه یک حساب EOA ، فرض می کند که قرارداد یک “tokenFallback” را اجرا کرده است.
  6. عملکرد “tokenFallback” امکان تماس با رمز را فراهم می کند ، بنابراین معامله هیچ نشانه ای را نمی سوزاند.

در حالی که ERC223 اشکال ERC 20 را تا حد زیادی برطرف می کند ، یک ضعف در این پیشنهاد وجود دارد. اگر قرارداد هوشمند گیرنده عملکرد “tokanFallback” نداشته باشد ، عملکرد “Fallback” اجرا می شود و منجر به از دست دادن رمزها می شود.

فقط چند پروژه از ERC 223 استفاده می کنند ، نمونه آن پروژه AmigoCoin. می توانید جزئیات بیشتر در مورد پیشنهاد ERC 223 را در اینجا بخوانید مخزن GitHub EIP 223. این استاندارد ERC 23 نیز نامیده می شود.

استاندارد ERC777: پیشنهادی بهبودیافته برای رفع اشکال ERC 20

یک پیشنهاد بهتر برای جلوگیری از از دست دادن رمزها به دلیل اشکال ERC 20 ، پیشنهاد ERC 777 است. این شامل موارد زیر است:

  1. توابع جدید: “ارسال” به جای “انتقال” ، “autoriseOperator” به جای “تأیید” ، و “tokensReceived” به جای “tokenFallback”.
  2. تا مدتها پلتفرم Ethereum دارای یک اشکال بود زیرا توسعه دهندگان نمی توانستند توابع قراردادهای هوشمند را شناسایی کنند. ERC 820 ، یعنی استاندارد دیگر ، رجیستری مرکزی قراردادها را در شبکه پیاده سازی کرده است ، از این رو اکنون می توان توابع و رابط های قرارداد هوشمند را شناخت. ERC777 از آن برای شناسایی رابط هایی که قرارداد هوشمند از آنها استفاده می کند استفاده می کند. اکنون توسعه دهندگان از قبل خواهند فهمید که آیا قرارداد توابع لازم برای دریافت توکن های ارسال شده از طریق توابع خاص را دارد یا خیر.
  3. ERC 777 “لیست سفید” را برای اپراتورها فعال می کند ، بنابراین کاربران شبکه Ethereum اکنون توانایی رد پرداخت از آدرس های لیست سیاه را دارند. به دلایل زیادی می توان یک آدرس را در لیست سیاه قرار داد ، به عنوان مثال تلاش برای هک شبکه ، سابقه فعالیت های غیرقانونی.

شما می توانید در مقایسه ERC 777 vs ERC 20 vs ERC 223 ببینید که چگونه ERC777 گزینه های مختلفی را در اختیار توسعه دهندگان قرار می دهد تا بتوانند از دست دادن رمزها جلوگیری کنند. با این حال ، استاندارد ERC777 همچنین دارای چند خطر است ، به شرح زیر:

  1. برخی از توسعه دهندگان Ethereum معتقدند که عملکرد “autoriseOperator” منسوخ شده است ، بنابراین توسعه دهندگان نباید از آن استفاده کنند. این عملکرد همچنین به “گاز” بیشتری نیاز دارد و فشار بیشتری را به شبکه وارد می کند.
  2. استفاده از رجیستری مرکزی قراردادهای هوشمند برای جستجوی رابط هایی که قرارداد استفاده می کند خطرناک است. یک رجیستری مرکزی ممکن است دارای اشکال باشد و هر چیزی به آن بستگی داشته باشد تأثیر نامطلوبی خواهد داشت.

ERC777 هنوز یک پیش نویس است ، با این حال ، ORCA توکن از آن استفاده می کند. پروپوزال را در اینجا بخوانید مخزن EIP 777 GitHub.

ERC 777 در مقابل ERC 20 در مقابل ERC 223: حمایت از وجوه مهم است

اگرچه تنها زمان مشخص خواهد کرد که اکوسیستم Ethereum کدام استاندارد را به عنوان “استاندارد طلایی” قبول می کند ، شما به عنوان یک توسعه دهنده باید به یاد داشته باشید که مسئولیت محافظت از وجوه تجار و سرمایه گذاران بر عهده شما است. اگر چنین موضع مسئولیتی را اتخاذ کنید ، احتمالاً موافقت خواهید کرد که علی رغم پیچیدگی ، استاندارد ERC 777 باید اجرا و تصویب شود.

توجه: اگر می خواهید در مورد چند استاندارد اصلی ERC بیشتر بدانید ، “لیست نهایی استانداردهای ERC که باید بدانید” را بخوانید.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Adblock
detector