Skip to main content

Что такое ERC-20

Что такое ERC-20

ERC-20 — наиболее широко распространённый стандарт токенов на блокчейне Ethereum. Он определяет общий интерфейс — набор функций и событий — который смарт-контракт должен реализовать для создания взаимозаменяемого токена. «Взаимозаменяемый» означает, что каждая единица токена идентична и взаимозаменяема, подобно тому как любая денежная купюра эквивалентна любой другой купюре того же номинала.

ERC расшифровывается как Ethereum Request for Comments, а 20 — номер предложения. Стандарт был предложен в 2015 году и стал де-факто чертежом для создания токенов на Ethereum и EVM-совместимых цепочках. Когда проект говорит, что его токен «ERC-20», это означает, что контракт токена следует стандартному интерфейсу, гарантирующему совместимость с кошельками, децентрализованными биржами, трекерами портфелей и другими смарт-контрактами по всей экосистеме Ethereum.

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

Как работает ERC-20

Стандартный интерфейс

В своей основе ERC-20 определяет набор функций, которые каждый совместимый контракт токена обязан реализовать. Эти функции предоставляют общий язык, который внешние приложения (кошельки, биржи, другие контракты) могут использовать для взаимодействия с токеном без необходимости знать что-либо о его внутренней логике.

Ключевые функции:

Функция Что делает
totalSupply() Возвращает общее количество существующих токенов
balanceOf(address) Возвращает, сколько токенов хранит конкретный адрес
transfer(to, amount) Отправляет токены с адреса вызывающего на другой адрес
approve(spender, amount) Разрешает другому адресу (смарт-контракту или пользователю) тратить до указанной суммы токенов вызывающего
transferFrom(from, to, amount) Позволяет предварительно одобренному получателю разрешения переводить токены от имени владельца
allowance(owner, spender) Возвращает, сколько токенов получатель разрешения всё ещё может перевести от имени владельца

Стандарт также определяет два события — Transfer и Approval — которые генерируются при движении токенов или изменении разрешений на расходование. Эти события позволяют внешним системам (обозревателям блоков, индексаторам, аналитическим инструментам) отслеживать активность токена без прямого запроса к контракту.

Почему стандарт важен

До широкого принятия ERC-20 каждый проект создавал собственный интерфейс. Это означало, что кошелькам, биржам и другим приложениям приходилось писать специальный код для каждого нового токена. ERC-20 решил эту проблему, создав универсальный интерфейс контракта: любое приложение, поддерживающее ERC-20, автоматически поддерживает каждый ERC-20-токен, будь он создан вчера или годы назад.

Эта компонуемость — одна из основ экосистемы Ethereum. Децентрализованной бирже не нужно знать, что представляет конкретный токен или кто его создал — если токен реализует интерфейс ERC-20, биржа может его листить, торговать им и проводить расчёты.

Развёртывание ERC-20-токена

Создание ERC-20-токена включает развёртывание смарт-контракта в сети Ethereum (или EVM-совместимой цепочке), который реализует необходимые функции. Развёртывающий указывает имя токена, символ, десятичную точность и начальное предложение. После развёртывания контракт является неизменяемым — основной интерфейс токена не может быть изменён, хотя некоторые реализации включают дополнительные функции вроде минтинга, сжигания или паузы через механизмы управления.

Низкий технический барьер для развёртывания ERC-20-токена является одновременно сильной и слабой стороной. Он обеспечивает быструю инновацию и экспериментирование, но также означает, что любой может создать токен с любым именем и любым заявленным назначением. Существование ERC-20-токена не подразумевает качество, легитимность или ценность.

ERC-20 и EVM-совместимые цепочки

Хотя ERC-20 был создан для Ethereum, стандарт работает на любом EVM-совместимом блокчейне. Цепочки вроде BNB Smart Chain, Polygon, Arbitrum One, Base и Avalanche нативно поддерживают ERC-20-токены, поскольку реализуют Ethereum Virtual Machine. На некоторых из этих цепочек стандарт может иметь другое формальное название (BEP-20 на BNB Smart Chain, например), но интерфейс функционально идентичен.

Это означает, что токен проекта может описываться как «ERC-20», даже если он развёрнут на цепочке, отличной от Ethereum. Стандарт — это технический интерфейс, а не обозначение конкретной цепочки. Важно, реализует ли контракт токена набор функций ERC-20, а не на какой сети он работает.

ERC-20 в сравнении с другими типами токенов

Параметр ERC-20 ERC-721 (NFT) ERC-1155 (мульти-токен) Нативный токен (ETH, SOL)
Взаимозаменяемость Взаимозаменяемый (все единицы идентичны) Невзаимозаменяемый (каждый токен уникален) И взаимозаменяемые, и невзаимозаменяемые Взаимозаменяемый
Развёрнут как Смарт-контракт Смарт-контракт Смарт-контракт Встроен в протокол
Стандартный интерфейс transfer, approve, balanceOf ownerOf, safeTransferFrom Пакетные операции Нет стандартного контрактного интерфейса
Применение Валюты, утилитарные токены, governance-токены Цифровое искусство, уникальные активы, идентичность Игровые предметы, смешанные коллекции Газ, стейкинг, базовая валюта

ERC-20-токены отличаются от нативных токенов, таких как ETH. В то время как ETH встроен непосредственно в протокол Ethereum и существует без смарт-контракта, ERC-20-токены создаются путём развёртывания контракта, следующего стандарту. И те, и другие можно хранить и передавать, но они имеют разные технические свойства и разные роли в сети.

Ограничения и расширения ERC-20

Хотя ERC-20 — наиболее широко используемый стандарт токенов, он имеет известные ограничения, приведшие к расширениям и улучшениям:

  • Нет уведомления при получении. Когда токены отправляются на смарт-контракт, принимающий контракт не имеет автоматического способа среагировать. Это приводило к тому, что токены навсегда застревали в контрактах, не обрабатывающих ERC-20-переводы. Стандарты ERC-223 и ERC-777 были предложены для решения этой проблемы, хотя ERC-20 остаётся доминирующим.
  • Двухшаговый паттерн одобрения. Перевод токенов от имени другого адреса требует двух транзакций: сначала approve, затем transferFrom. Это добавляет затруднения и расходы на газ. Расширение ERC-2612 (Permit) позволяет проводить одобрение без газа через офчейн-подписи.
  • Нет встроенных метаданных. ERC-20-токены имеют имя и символ, но не имеют стандартизированного способа включения дополнительных метаданных (описание, иконка, ссылка на документацию). Расширения и офчейн-реестры заполняют этот пробел.

Эти ограничения не умаляют практическую полезность ERC-20. Простота стандарта и его универсальная поддержка перевешивают технические несовершенства для подавляющего большинства вариантов использования.

Почему ERC-20 важен для крипто-ИИ проектов

Большинство крипто-ИИ проектов, выпускающих токен на Ethereum или EVM-совместимой цепочке, используют стандарт ERC-20. Токен может служить утилитарным токеном (оплата вычислений, доступ к ИИ-сервисам), governance-токеном (голосование по параметрам протокола) или fee-mechanism (оплата использования сети). Независимо от предполагаемой роли, использование ERC-20 гарантирует совместимость токена с более широкой экосистемой: пользователи могут хранить его в стандартных кошельках, торговать им на децентрализованных биржах и взаимодействовать с ним через известные интерфейсы.

Для читателей, оценивающих крипто-ИИ проект, знание о том, что токен является ERC-20, говорит о его техническом формате, но не о полезности, необходимости или ценности. Стандарт токена отвечает на вопрос «как токен работает технически?», но не на вопросы «зачем проекту нужен токен?» или «действительно ли токен выполняет функцию в ИИ-конвейере?»

Где это появляется в карточках проектов DecAIHub

В карточке проекта DecAIHub ERC-20 указывается в поле Token standard. Когда в карточке указано Token standard: ERC-20, это означает, что токен проекта реализован как ERC-20 смарт-контракт.

Поле Token standard носит чисто описательный характер: оно сообщает читателям технический формат токена. Его следует читать вместе с полем Token model (описывающим роль токена: utility, governance, fee mechanism) и полем Main chain (указывающим, на какой сети развёрнут токен).

Проект может иметь токены на нескольких цепочках — например, ERC-20-токен на Ethereum и бриджированную версию на L2 вроде Arbitrum. Поле Token standard обычно отражает основное развёртывание.

Что ERC-20 сам по себе не доказывает

  • ERC-20 не доказывает полезность токена. Любой смарт-контракт может реализовать интерфейс ERC-20. Стандарт определяет техническое поведение токена, а не его экономическую роль или необходимость. Проект может иметь ERC-20-токен, не выполняющий никакой функции в его ИИ- или прикладном конвейере.
  • ERC-20 не доказывает легитимность. Создание и развёртывание ERC-20-токена требует минимальных технических усилий и затрат. Существование токена не является доказательством того, что стоящий за ним проект реален, функционален или заслуживает доверия.
  • ERC-20 не доказывает, что проект работает на Ethereum. ERC-20-токены существуют на многих EVM-совместимых цепочках. Стандарт токена не указывает, на какой цепочке развёрнут токен — для этого проверяйте поле Main chain.
  • ERC-20 не доказывает ИИ-возможности. Технический стандарт токена не имеет связи с тем, есть ли у проекта реальный ИИ-компонент, работающий инференс или верифицируемые модели.
  • ERC-20 не доказывает децентрализацию. Контракт токена может включать централизованные элементы управления: административные ключи для минтинга или сжигания, функции паузы, обновляемые прокси под контролем одного адреса. Стандарт определяет интерфейс, а не модель управления.

Не путать с

  • Стандарт токена — общее понятие. ERC-20 — один конкретный стандарт токенов. Другие включают ERC-721 (NFT), ERC-1155 (мульти-токены), BEP-20 (BNB Smart Chain), SPL (Solana) и нативные токены.
  • Нативный токен — ETH является нативным токеном Ethereum, встроенным в сам протокол. ERC-20-токены создаются путём развёртывания смарт-контрактов поверх протокола. Они сосуществуют, но технически различны.
  • Модель токена — модель токена описывает роль токена (utility, governance, fee mechanism). Стандарт токена описывает технический формат. Токен может быть одновременно ERC-20 (стандарт) и утилитарным (модель).
  • BEP-20 — стандарт токенов на BNB Smart Chain. BEP-20 функционально идентичен ERC-20, но является соглашением об именовании на другой цепочке.
  • ERC-721 — стандарт для невзаимозаменяемых токенов (NFT) на Ethereum. ERC-721-токены уникальны; ERC-20-токены взаимозаменяемы.

Часто задаваемые вопросы

Что значит «взаимозаменяемый» в контексте ERC-20?

Взаимозаменяемый означает, что каждая единица токена идентична по ценности и функции любой другой единице. Если вы держите 100 единиц ERC-20-токена, любая из них взаимозаменяема с любой другой единицей того же токена. Это тот же принцип, по которому одна денежная купюра эквивалентна любой другой купюре того же номинала. Напротив, невзаимозаменяемые токены (ERC-721) уникальны — один NFT не взаимозаменяем с другим.

Можно ли создать ERC-20-токен на цепочках помимо Ethereum?

Да. Любой блокчейн, реализующий Ethereum Virtual Machine (EVM), поддерживает ERC-20-токены. Сюда входят такие цепочки, как Polygon, Arbitrum One, Base, BNB Smart Chain, Avalanche и многие другие. На BNB Smart Chain эквивалентный стандарт называется BEP-20, но реализует тот же интерфейс. Токен, следующий набору функций ERC-20, работает с любым EVM-совместимым кошельком, биржей или смарт-контрактом независимо от конкретной цепочки.

В чём разница между ERC-20 и нативным токеном, таким как ETH?

ETH — нативный токен Ethereum, встроенный в сам протокол и существующий без смарт-контракта. ETH используется для оплаты газовых комиссий и участия в стейкинге. ERC-20-токены, напротив, создаются путём развёртывания смарт-контрактов поверх Ethereum. Для переводов и взаимодействий с ними требуется ETH для оплаты газа. Оба типа токенов могут храниться в одном кошельке, но их техническая реализация принципиально различна.

Требует ли развёртывание ERC-20-токена высокой технической экспертизы?

Развёртывание базового ERC-20-токена требует умеренных знаний в разработке смарт-контрактов. Стандартные библиотеки (такие как OpenZeppelin) предоставляют проаудированные, готовые к использованию реализации ERC-20, которые можно развернуть с минимальной настройкой. Низкий барьер для развёртывания является одновременно преимуществом (позволяя быстро экспериментировать и внедрять инновации) и риском (позволяя кому угодно создать токен для любых целей). Существование развёрнутого токена само по себе не является доказательством технических возможностей.

Внешние ссылки

  • EIP-20: Token Standard — Ethereum Improvement Proposals — оригинальная формальная спецификация стандарта ERC-20, определяющая необходимые функции и события.
  • OpenZeppelin — ERC-20 Documentation — широко используемая реализация стандарта ERC-20 с объяснениями и лучшими практиками для разработчиков.
  • Ethereum.org — ERC-20 Token Standard — официальная документация Ethereum, объясняющая ERC-20-токены для разработчиков и читателей.

См. также