ERC-стандарты в экосистеме Ethereum — это семейство спецификаций, описывающих общие интерфейсы и правила для смарт-контрактов: токены, NFT, подписи, кошельки, dApp-интеграции и многое другое.
Формально любой ERC — это частный случай EIP (Ethereum Improvement Proposal), ориентированный не на изменение ядра протокола, а на уровень приложений и контрактов.
Проще всего думать так: EIP — это формат предложений вообще, а ERC — «прикладные» стандарты внутри этого формата.
Зачем нужны 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-стандартов
Основные идеи, которые проходят через большинство 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-стандартами (или их вариациями). Но некоторые проекты сознательно отходят от стандарта, что усложняет интеграции.
