Глоссарий

ERC-777

Сложность: высокая

ERC-777 — это стандарт торгуемых токенов, возникший на основе ERC-20, чтобы обеспечить новый способ взаимодействия с контрактом на токены, сохраняя при этом обратную совместимость.

Что такое ERC-777?

ERC-777 — это стандарт токенов для взаимозаменяемых токенов, введённых в сети Ethereum, полностью совместимый с существующими децентрализованными биржами.

Проще говоря, стандарт токенизации ERC-777 относится к протоколу блокчейна Ethereum, который определяет тип токенов, совместимых с ETH.

Он облегчает сложные взаимодействия по торговле токенами и помогает устранить двусмысленность вокруг числа знаков после запятой, майнинга и сжигания. Он использует отличительно эффективную особенность, называемую хук (hook).
Когда токены поступают на смарт-контракт, он активирует хук-механизм, который упорядочивает то, как счета и контракты взаимодействуют при получении токенов. Кроме того, токены ERC-777 значительно реже застревают в контракте, что традиционно считается проблемой токенов ERC-20.
ERC777, как и ERC20, является стандартом для генерации токенов на блокчейне Ethereum. Хуки запрограммированы в стандарт. Если вы переведете ETH в смарт-контракт, он будет оповещен о входящем ETH через хуки. Такой функции нет у токенов ERC20. Ниже перечислены преимущества этого стандарта:
  • Он функционирует аналогично Ether таким образом, что токены отправляются через функцию send (dest, value, data).
  • Код tokensReceived указывается в контракте или обычных адресах таким образом, что он активируется при получении токенов, но это не относится к токенам ERC20. Это делает, например, перевод из одного смарт-контракта в другой, но меняется только владелец токенов ERC20 внутри смарт-контракта, то есть эмитент ERC20. Этот дублирующий вызов предотвращается с помощью ERC-777.
  • Кроме того, ERC-777 использует новый стандарт ERC-820, который позволяет регистрировать метаданные контрактов, чтобы обеспечить базовую форму интроспекции. Это позволяет обеспечить обратную совместимость, а также расширить дополнительные функциональные возможности. Контракты в протоколе ERC-777 взаимодействуют так же, как и контракты в протоколе ERC-20.
  • С введением новой функции трансферов, которая включает поле под названием "байт", где можно добавить любую идентификационную информацию к трансферу, и она мгновенно уведомляет контракт-получатель о том, что передача произошла.
  • ERC-777 позволяет добавлять дополнительный функционал к токенам, например, миксерный контракт, для большей конфиденциальности транзакций, или функцию аварийного восстановления, которая поможет при потере закрытых ключей.
Несмотря на то, что ERC-777 имел ряд ранних проблем безопасности, которые уже решены, у него могут быть определенные недостатки, как и у любого другого токена. Именно по этой причине уже появились обновленные версии, такие как ERC-820.

Мы можем передавать токены на любой адрес Ethereum, что, подразумевает, что мы можем отправлять токены в контракты, которые их не поддерживают, тем самым блокируя их навсегда.

Проблема заключается в том, что, даже если токены можно перемещать вручную, определить, какие токены от кого поступили и кто отправил их обратно, представляется сложным.