Что такое ERC-20: стандарт токенов Ethereum, функции, approve и отличия от ERC-721
3 недели назад 0
ERC-20 — это технический стандарт Ethereum, описывающий, как должны вести себя взаимозаменяемые токены: какие функции обязан реализовать контракт и какие события генерирует контракт. Благодаря единому интерфейсу любой кошелёк, биржа и DeFi-протокол может работать с любым ERC-20 токеном без индивидуальных настроек.
Раздел глоссария: Основы криптовалют · все термины от А до Я
Коротко о главном
- Предложен Фабианом Фогельштеллером и Виталиком Бутериным в ноябре 2015 года как EIP-20.
- Обязательные функции: totalSupply, balanceOf, transfer, transferFrom, approve, allowance.
- Обязательные события: Transfer и Approval — по ним индексаторы строят историю балансов.
- Параметр decimals задаёт дробность: чаще 18, у USDT и USDC в Ethereum — 6.
- Стандарт описывает взаимозаменяемые токены; уникальные — это ERC-721 (NFT) и гибридные ERC-1155.
- USDT в Ethereum не полностью соответствует стандарту: transfer возвращает не bool, что ломало ранние интеграции.
Что обязан уметь ERC-20 контракт
| Функция | Назначение |
|---|---|
| totalSupply() | Общее количество выпущенных токенов |
| balanceOf(address) | Баланс конкретного адреса |
| transfer(to, amount) | Прямой перевод получателю |
| approve(spender, amount) | Разрешение другому адресу тратить ваши токены |
| allowance(owner, spender) | Остаток выданного разрешения |
| transferFrom(from, to, amount) | Перевод от имени владельца в пределах allowance |
Почему approve — главная ловушка
- Чтобы DEX или лендинг мог списать ваши токены, вы выдаёте ему разрешение через approve.
- Часто запрашивается «unlimited allowance» — бесконечный лимит, чтобы не платить газ повторно.
- Если контракт окажется вредоносным или будет взломан, он может списать весь ваш баланс позже.
- Разрешение сохраняется бессрочно: оно действует, пока вы его не отзовёте.
- Проверять и отзывать лишние approvals нужно регулярно — через Etherscan, Revoke.cash или интерфейс кошелька.
ERC-20 сделал токены совместимыми, но цена совместимости — бессрочные разрешения, о которых пользователь забывает через год.
ERC-20 и другие стандарты
- ERC-721: уникальные токены, основа NFT — каждый токен имеет собственный идентификатор.
- ERC-1155: мульти-токен стандарт: в одном контракте и взаимозаменяемые, и уникальные активы.
- ERC-4626: стандартизированные хранилища доходности (vault) поверх ERC-20.
- ERC-777: попытка улучшить ERC-20 с hooks и отправкой без approve; не получил распространения из-за рисков повторного входа (reentrancy).
- Аналоги в других сетях: BEP-20 в BNB Chain, SPL в Solana, TRC-20 в Tron — та же логика совместимости.
Плюсы и минусы стандарта ERC-20
| Преимущества | Ограничения и риски |
|---|---|
| Универсальная совместимость: кошельки, биржи и протоколы поддерживают токен «из коробки» | Модель approve создаёт долгосрочные риски хищения |
| Простота выпуска: контракт создаётся за минуты из проверенных библиотек | Нет встроенной защиты от ошибок: перевод на неверный адрес необратим |
| Прозрачность: все балансы и переводы видны в обозревателе | Стандарт не описывает метаданные, символ и decimals — они опциональны |
| Основа всей DeFi-экосистемы Ethereum и L2 | Неполная реализация (как у раннего USDT) ломает часть интеграций |
Частые вопросы
Итог
ERC-20 — стандарт взаимозаменяемых токенов Ethereum, предложенный в 2015 году. Он задаёт обязательные функции (totalSupply, balanceOf, transfer, approve, allowance, transferFrom) и события Transfer и Approval, благодаря чему любой кошелёк и протокол работает с токеном без индивидуальной интеграции. Стандарт лёг в основу всей DeFi-экосистемы. Главная проблема — модель approve: бессрочные разрешения на бесконечную сумму позволяют вредоносному или взломанному контракту списать средства спустя месяцы, поэтому approvals нужно регулярно отзывать.
Связанные термины
Теги по теме
Источники и полезные ссылки

Автор новостного раздела сайта cryptonews.website. Работа над написанием обзоров для сайта (обзоры криптовалютных бирж и альткоинов).