ERC-стандарты в Ethereum — что это такое и зачем они нужны

ERC-стандарты в экосистеме Ethereum — это семейство спецификаций, описывающих общие интерфейсы и правила для смарт-контрактов: токены, NFT, подписи, кошельки, dApp-интеграции и многое другое.

Формально любой ERC — это частный случай EIP (Ethereum Improvement Proposal), ориентированный не на изменение ядра протокола, а на уровень приложений и контрактов.

Проще всего думать так: EIP — это формат предложений вообще, а ERC — «прикладные» стандарты внутри этого формата.

ERC-стандарты: общие правила для токенов и смарт-контрактов в Ethereum

Зачем нужны ERC-стандарты

Без общих стандартов каждый разработчик смарт-контрактов мог бы:

  • по-своему реализовывать токены;
  • придумывать нестандартные методы и события;
  • ломать совместимость с кошельками, DEX и другими dApp.

ERC-стандарты решают эту проблему:

  • описывают единый интерфейс (набор функций и событий), который должны поддерживать контракты;
  • позволяют кошелькам, биржам и dApp работать с любыми токенами по одной и той же схеме;
  • уменьшают количество ошибок и неожиданных особенностей поведения контрактов.

Именно благодаря ERC-стандартам:

  • один и тот же кошелёк может одинаково показывать баланс десятков токенов;
  • DEX может поддерживать тысячи активов без ручной подстройки под каждый;
  • NFT-маркетплейсы работают с сотнями коллекций по единому протоколу.

ERC и EIP: в чём связь и отличие

Связь простая:

  • EIP (Ethereum Improvement Proposal) — общий формат предложений по улучшению Ethereum: протокол, сеть, стандарты приложений и т.д.
  • ERC (Ethereum Request for Comments) — условное название подмножества EIP, которое описывает:
    • стандарты для токенов;
    • интерфейсы контрактов;
    • форматы данных для dApp и кошельков.

То есть любой ERC — это EIP определённого типа (обычно Interface/ERC), но в речи разработчики часто разделяют:

  • «Core-EIP» — изменения протокола (комиссии, данные, консенсус);
  • «ERC-стандарты» — прикладные интерфейсы.

Примеры:

  • ERC-20 — стандарт взаимозаменяемых токенов;
  • ERC-721 — стандарт невзаимозаменяемых токенов (NFT);
  • ERC-1155 — мульти-токенный стандарт (Fungible + NFT в одном контракте).

Ключевые свойства ERC-стандартов

Основные идеи, которые проходят через большинство ERC:

  • Строгий интерфейс.

Определяются обязательные функции (например, balanceOf, transfer, approve) и события (Transfer, Approval), которые должен реализовать контракт.

  • Минимальное ядро.

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

  • Обратная совместимость.

Новые версии и надстройки стремятся не ломать существующую экосистему, а расширять базовый интерфейс.

  • Нейтральность к бизнес-логике.

ERC не диктуют, *зачем* нужен токен или как работает протокол. Они описывают лишь техническую оболочку и поведение функций.

  • Открытый процесс.

Любой разработчик может предложить новый ERC, но чтобы стать де-факто стандартом, он должен пройти обсуждение, ревью и получить достаточную поддержку сообщества.

Популярные ERC-стандарты

Ниже — краткий обзор самых известных представителей семейства.

ERC-20: взаимозаменяемые токены

ERC-20 — базовый стандарт токенов:

  • все токены одного контракта одинаковы (fungible);
  • используются как utility-токены, governance-токены, стейблкоины;
  • определяет минимум методов:
    • totalSupply, balanceOf, transfer, transferFrom;
    • и механизм одобрений: approve + allowance.

Почти вся DeFi-экосистема на Ethereum и других EVM-сетях построена вокруг ERC-20-совместимых токенов.

ERC-721: невзаимозаменяемые токены (NFT)

ERC-721 — стандарт для уникальных активов:

  • каждый токен имеет уникальный идентификатор (tokenId);
  • используется для NFT-коллекций, билетов, игровых предметов, цифровых сертификатов;
  • описывает методы:
    • ownerOf, safeTransferFrom, tokenURI и др.;
    • события Transfer, Approval.

Благодаря ERC-721 большинство NFT-маркетплейсов могут работать с коллекциями разных проектов по одному интерфейсу.

ERC-1155: мульти-токены

ERC-1155 объединяет идеи ERC-20 и ERC-721:

  • один контракт может управлять множеством токенов разных типов;
  • токены могут быть взаимозаменяемыми или уникальными;
  • оптимизировано для игр и сильно фрагментированных коллекций.

Это снижает издержки по gas и упрощает управление большим количеством активов внутри одной системы.

Категории ERC-стандартов

Условно ERC-предложения можно разделить на несколько групп:

  • Токены и активы

ERC-20, ERC-721, ERC-1155, стандарты для soulbound-токенов, лицензий и т.п.

  • Метаданные и мультимедиа

Форматы tokenURI, off-chain метаданные, IPFS-ссылки и схемы для NFT.

  • Интерфейсы кошельков и dApp

Стандарты подписи, методы взаимодействия приложений с кошельком, сообщения для авторизации.

  • Протокольные интерфейсы

Слои для DeFi (стандартизированные пулы, лендинги), голосование, DAO и т.п.

Часто один и тот же проект использует несколько ERC одновременно: стандарт токена + стандарт голосования + стандарт прав доступа.

Как рождается ERC-стандарт

Схема жизни типичного ERC:

  • Появляется идея — разработчик или команда формулирует, чего не хватает экосистеме (например, единого стандарта подписи или определённого вида токена).
  • Оформляется черновик EIP подходящего типа (обычно Standards Track, ERC), описывающий интерфейс и мотивацию.
  • Идёт обсуждение в сообществе:
    • ревью кода и спецификации;
    • поиск конфликтов и проблем безопасности;
    • пилотные реализации.
  • После согласования документ получает статус «Final» или аналогичный, а разработчики начинают массово внедрять стандарт в контрактах и приложениях.

Важно: сам по себе статус EIP/ERC ещё не гарантирует популярность. Стандарт становится значимым, когда его реально используют кошельки, биржи и dApp.

Чем полезно понимать ERC-стандарты пользователю

Даже если вы не пишете смарт-контракты, базовое понимание ERC помогает:

  • раскладывать экосистему по полочкам: какие токены и активы вы видите в кошельке и почему они ведут себя одинаково;
  • понимать, почему «нестандартный» токен может не отображаться в интерфейсе;
  • оценивать риски: контракты, нарушающие стандарт, иногда ведут себя неожиданно при интеграции с DeFi-протоколами.

Для разработчика знание ERC — обязательное условие, если он хочет выпускать токены или строить интерфейсы поверх существующей инфраструктуры.

Частые вопросы (FAQ) про ERC

ERC — это юридический стандарт или обязательное правило? Нет. Это спецификация, принятие которой добровольно. Но если вы хотите, чтобы ваш контракт работал с популярными кошельками и протоколами, вам выгодно соблюдать стандарт.

Чем ERC-20 отличается от «просто токена»? ERC-20 — это набор правил, по которым реализован «простой токен». Можно написать токен-контракт вообще без стандарта, но тогда его, скорее всего, не будут корректно понимать кошельки и DeFi-протоколы.

Может ли один контракт поддерживать несколько ERC-стандартов сразу? Да. Например, контракт может одновременно реализовывать интерфейсы ERC-20 и дополнительных расширений (burnable, pausable и т.п.). Для NFT часто добавляют метаданные и дополнительные права поверх базового ERC-721.

Все ли токены на EVM-сетях — ERC-токены? В подавляющем большинстве — да: они совместимы с ERC-стандартами (или их вариациями). Но некоторые проекты сознательно отходят от стандарта, что усложняет интеграции.

См. также

Task Runner