Ключевые выводы

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

  • Токены ERC-20 существуют внутри смарт-контрактов, а не хранятся напрямую в учетных записях пользователей; контракт ведет список балансов и обрабатывает переводы, когда пользователи отправляют транзакции.

  • Распространенные типы токенов ERC-20 включают стейблкоины, утилитарные токены, токены управления и токены ликвидности (LP), используемые в протоколах DeFi.

  • Токены ERC-20 не могут быть майнены; новые токены создаются, когда контракт развёртывается, обычно распределяются через мероприятия, такие как первичные предложения монет (ICO) или события генерации токенов.

Binance Academy courses banner

Введение

Ethereum был основан Виталиком Бутериным в 2014 году, позиционируя себя как открытая платформа для запуска децентрализованных приложений (DApps). Многие из мотиваций Бутерина для создания новой блокчейн-системы проистекали из недостатка гибкости протокола Биткойн.

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

Эта статья охватывает стандарт ERC-20: важную структуру для создания фунгибельных токенов на Ethereum. Хотя он был разработан специально для сети Ethereum, структура также вдохновила стандарты токенов на других блокчейнах, таких как BEP-20 на BNB Smart Chain.

Что такое стандарт ERC-20?

В Ethereum ERC — это Запрос комментариев Ethereum. Это технические документы, которые описывают стандарты программирования на Ethereum. Вы можете спросить, что такое Предложения по улучшению Ethereum (EIPs)? EIP — это формальный документ, используемый для предложения новых функций или изменений в сети Ethereum. ERC — это подмножество EIPs, сосредоточенное на стандартах смарт-контрактов, и они предлагают улучшения самого протокола. ERC вместо этого стремится установить конвенции, которые облегчают взаимодействие приложений и контрактов друг с другом.

Написанный Виталиком Бутериным и Фабианом Фогельштеллером в 2015 году, ERC-20 предлагает относительно простой формат для токенов на основе Ethereum. Следуя этому шаблону, разработчикам не нужно изобретать велосипед. Вместо этого они могут строить на основе, уже используемой по всей индустрии.

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

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

Краткий обзор токенов Ethereum

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

Чтобы перемещать токены, пользователи должны отправить транзакцию в контракт, прося его выделить часть их баланса в другое место. Например, если Алиса хочет отправить 5,000 токенов Бобу, она вызывает функцию внутри смарт-контракта токена для этого.

Ее вызов содержится внутри того, что выглядит как обычная транзакция Ethereum, которая не выплачивает 0 ETH токен-контракту. Вызов включен в дополнительное поле транзакции, указывая, что Алиса хочет сделать. Даже если она не отправляет эфир, ей все равно нужно оплатить комиссию за транзакцию, выраженную в ETH, чтобы ее транзакция была включена в блок. Если у нее нет ETH, ей нужно получить его, прежде чем она сможет перевести токены.

Как создаются токены ERC-20?

Чтобы соответствовать стандарту ERC-20, контракт должен включать шесть обязательных функций: totalSupply, balanceOf, transfer, transferFrom, approve и allowance. Кроме того, вы можете указать необязательные функции, такие как name, symbol и decimal.

totalSupply

функция totalSupply() public view возвращает (uint256)

Когда вызывается, эта функция возвращает общее количество токенов, которыми владеет контракт.

balanceOf

функция balanceOf(address _owner) public view возвращает (uint256 balance)

В отличие от totalSupply, balanceOf принимает параметр (адрес). Когда вызывается, она возвращает токен-баланс этого адреса. Поскольку аккаунты в Ethereum являются публичными, вы можете запросить баланс любого пользователя, если знаете его адрес.

transfer

функция transfer(address to, uint256 value) public возвращает (bool success)

transfer перемещает токены от одного пользователя к другому. Вы указываете адрес назначения и сумму для перевода. Когда вызывается, transfer инициирует событие Transfer, которое сообщает блокчейну включить ссылку на транзакцию. Событие Transfer, вместе с событием Approval, которое является журналом одобренного события, должно быть включено в токен.

transferFrom

функция transferFrom(address from, address to, uint256 _value) public возвращает (bool success)

transferFrom является полезной альтернативой transfer, которая позволяет больше программируемости в децентрализованных приложениях. Как и transfer, она перемещает токены, но эти токены не обязательно должны принадлежать человеку, вызывающему контракт. Другими словами, вы можете уполномочить другой адрес (или контракт) перевести средства от вашего имени. Распространенный случай использования включает подписные сервисы, где программа обрабатывает повторяющиеся платежи автоматически, а не требует ручной транзакции каждый раз.

approve

функция approve(address spender, uint256 value) public возвращает (bool success)

approve позволяет вам ограничить количество токенов, которые смарт-контракт может вывести из вашего баланса. Без этого неисправный или эксплуатируемый контракт может исчерпать ваш полный баланс. Например, если подписка стоит один токен в неделю, и вы одобряете лимит в двадцать токенов, DApp может обрабатывать до 20 недель платежей. Если DApp попытается вывести больше, или если будет обнаружена ошибка, ваши потенциальные потери будут ограничены одобренной суммой.

allowance

функция allowance(address owner, address spender) public view возвращает (uint256 remaining)

allowance используется вместе с approve. Как только вы дали контракту разрешение управлять вашими токенами, вы можете использовать allowance, чтобы проверить, сколько он все еще может вывести. Например, если подписка использовала двенадцать из ваших двадцати одобренных токенов, вызов allowance вернет восемь.

Необязательные функции

Функции выше обязательны. С другой стороны, name, symbol и decimal являются необязательными, но они делают ваш контракт ERC-20 более удобным для пользователя. Соответственно, они позволяют добавить читаемое имя, установить тикер-символ и указать, на сколько десятичных мест токены делимы.

События

Существует два события, которые будут инициированы ранее упомянутыми функциями:

  • Событие Transfer: Это происходит всякий раз, когда токены передаются, создаются или сжигаются.

событие Transfer(address indexed from, address indexed to, uint256 _value)
  • Событие Approval: Это активируется всякий раз, когда требуется одобрение. Когда пользователь одобряет платформу DeFi (например, Uniswap) использовать свои токены, инициируется событие Approval, информируя платформу о разрешении на торговлю.

событие Approval(address indexed owner, address indexed spender, uint256 _value)

Что могут делать токены ERC-20?

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

Стейблкоины

Стейблкоины (токены, привязанные к фиатным валютам) часто используют стандарт ERC-20. Для типичного стейблкоина с обеспечением фиатом эмитент держит резервы долларов, евро или других валют. На каждую единицу в их резервах они выпускают соответствующий токен. Если $10,000 хранится в резерве, эмитент может создать 10,000 токенов, каждый из которых можно обменять на $1. Пользователи могут тратить эти токены на товары и услуги, использовать их в DApps или обменивать их у эмитента. При обмене эмитент сжигает возвращенные токены (делая их навсегда недоступными) и выпускает эквивалентный фиат из резервов.

Токены управления

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

Токены ликвидности (LP)

Когда пользователи вносят активы в ликвидный пул DeFi, они получают токены LP, представляющие их долю в пуле. Эти токены ERC-20 могут быть обменены на основные активы плюс любые накопленные сборы. Токены LP являются одним из самых распространенных типов токенов ERC-20, активно используемых в DeFi на 2025 год.

Токены безопасности

Токены безопасности похожи на стейблкоины на уровне контракта. Различие возникает на уровне эмитента: токены безопасности представляют собой ценные бумаги, такие как акции, облигации или физические активы, и они часто предоставляют держателю долю в бизнесе или активе. Новые стандарты, такие как ERC-1400 и ERC-3643, строятся на основе ERC-20, чтобы добавить функции соблюдения, необходимые для регулируемых ценных бумаг.

Утилитарные токены

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

Можно ли майнить токены ERC-20?

Вы можете зарабатывать эфир (ETH) через стекинг, но токены ERC-20 не подлежат майнингу. Мы говорим, что они создаются, когда новые токены создаются. Когда контракт развёртывается, разработчики распределяют начальное количество в соответствии со своими планами и дорожной картой. Это обычно делается через Первичное предложение монет (ICO), Первичное предложение на бирже (IEO) или Предложение токенов безопасности (STO). В настоящее время аэрдропы также являются распространенным методом распределения. Инвесторы отправляют эфир на адрес контракта и получают новые токены в ответ. Вырученные средства обычно используются для финансирования дальнейшей разработки.

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

Плюсы и минусы токенов ERC-20

Плюсы

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

  • Гибкие: токены ERC-20 очень настраиваемые и могут быть адаптированы для множества различных приложений, от внутренней валюты до программ лояльности и инструментов DeFi до представления реальных активов (RWA).

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

Минусы

  • Масштабируемость: базовый слой Ethereum обрабатывает ограниченное количество транзакций в секунду, и перегрузка может привести к высоким комиссиям и задержкам. Решения второго уровня, такие как Arbitrum, Optimism и zkSync, в значительной степени решили эту проблему, обрабатывая транзакции вне цепи, в то время как расчеты проводятся на Ethereum, но добавление второго уровня вводит дополнительную сложность для эмитентов токенов и пользователей.

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

ERC-20, ERC-721, ERC-1155 и ERC-404: в чем разница?

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

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

ERC-1155 поддерживает как взаимозаменяемые, так и невзаимозаменяемые токены в одном контракте. Один контракт ERC-1155 может управлять несколькими типами токенов одновременно, что делает его эффективным для игровых приложений, которые включают как валюту, так и уникальные предметы.

ERC-404, экспериментально введенный в начале 2024 года, пытается объединить дробную трансферабельность ERC-20 с уникальностью ERC-721, чтобы создать "полуфунгибельные" токены. Он не был формально принят как EIP и не имеет широкой поддержки в экосистеме, но иллюстрирует, как структура ERC-20 продолжает вдохновлять новые подходы.

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

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

Что такое токен ERC-20?

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

Чем ERC-20 отличается от ERC-721?

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

Можно ли майнить токены ERC-20?

Нет. Токены ERC-20 создаются (minted) при развертывании смарт-контракта, а не майнятся. Общее предложение и начальное распределение устанавливаются разработчиками контракта. Новые токены обычно распределяются через механизмы, такие как ICO, IEO или программы ликвидного майнинга.

Почему транзакции ERC-20 требуют ETH?

Переводы ERC-20 — это операции, выполняемые в сети Ethereum. Все операции в Ethereum требуют платы за транзакцию (называемой газом), которая оплачивается в ETH. Даже если вы переводите 0 ETH, вам все равно нужен ETH в вашем кошельке, чтобы покрыть стоимость газа для вызова контракта токена.

Для чего используется функция approve в ERC-20?

Функция approve позволяет держателю токена установить лимит расходов для конкретного адреса или смарт-контракта. Это обычно используется в DeFi: вместо того чтобы разрешать протоколу неограниченный доступ к вашим токенам, вы можете ограничить сумму, которую он может вывести. Если будет обнаружена ошибка или контракт будет вести себя неправильно, ваши потенциальные потери будут ограничены одобренной суммой.

Заключительные мысли

Стандарт ERC-20 остается доминирующей структурой для фунгибельных токенов на Ethereum с момента его введения. Его простота, широкая совместимость и гибкий дизайн сделали его основой для стейблкоинов, токенов управления, инструментов DeFi и бесчисленных утилитарных токенов.

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

Дополнительное чтение

  • Что такое Ethereum и как он работает?

  • Что такое смарт-контракты и как они работают?

  • Что такое децентрализованное финансирование (DeFi)?

  • Что такое стейблкоин?

  • Что такое ICO (Первичное предложение монет)?

Отказ от ответственности: этот контент представлен вам на условиях "как есть" для общей информации и образовательных целей, без каких-либо представлений или гарантий. Его не следует рассматривать как финансовый, юридический или иной профессиональный совет, и он не предназначен для рекомендации покупки какого-либо конкретного продукта или услуги. Вы должны искать собственные советы у соответствующих профессиональных консультантов. Если контент предоставлен третьим лицом, имейте в виду, что выраженные там мнения принадлежат третьему лицу и не обязательно отражают мнение Binance Academy. Цены на цифровые активы могут быть волатильными. Стоимость ваших инвестиций может снижаться или повышаться, и вы можете не вернуть вложенную сумму. Вы несете полную ответственность за свои инвестиционные решения, и Binance Academy не несет ответственности за любые убытки, которые вы можете понести.