ERC 20 против ERC 223 против ERC 777: сравнение стандартов токенов Ethereum

Вы разработчик Ethereum, работающий над криптопроектом? Скорее всего, вы разрабатываете новый токен с использованием стандарта ERC20, однако вам необходимо знать, какие меры принимаются по его улучшению. Это поможет вам принять правильное решение о том, какой стандарт токена ERC использовать, поэтому я объясню сравнение ERC777, ERC223 и ERC20 в этой статье..

Я начну сравнение с объяснения ERC 20, а затем объясню его недостатки. Затем я объясню усилия по улучшению, предпринятые сообществом Ethereum с помощью ERC 777 и ERC 223..

Сравнение ERC20, ERC223 и ERC777

Что такое 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 Foundation знает об ошибке, но продолжает продвигать стандарт 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. Новые функции: «send» вместо «transfer», «authoriseOperator» вместо «Approve» и «tokensReceived» вместо «tokenFallback»..
  2. До сих пор у платформы Ethereum был недостаток, потому что разработчики не могли определить, какие функции реализуют смарт-контракты. ERC 820, то есть еще один стандарт, реализовал централизованный реестр контрактов в сети, поэтому теперь можно узнать функции и интерфейсы, которые есть у смарт-контракта. ERC777 использует его для идентификации интерфейсов, которые использует смарт-контракт. Теперь разработчики будут заранее знать, есть ли в контракте функции, необходимые для получения токенов, отправленных через определенные функции..
  3. ERC 777 позволяет «занести в белый список» операторов, поэтому пользователи сети Ethereum теперь будут иметь возможность отклонять платежи с адресов, внесенных в черный список. Адрес может быть занесен в черный список по многим причинам, например, попытка взлома сети, история незаконных действий.

Вы можете увидеть в сравнении ERC 777, ERC 20 и ERC 223, как ERC777 предоставляет разработчикам несколько вариантов, чтобы они могли предотвратить потерю токенов. Однако стандарт ERC777 сопряжен с некоторыми рисками, а именно:

  1. Некоторые разработчики Ethereum считают, что функция authoriseOperator устарела, поэтому разработчикам не следует ее использовать. Эта функция также потребует больше «газа» и создаст дополнительную нагрузку на сеть..
  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
Like this post? Please share to your friends:
Adblock
detector
map