ERC-20 — это один из наиболее значимых стандартов для написания смарт-контрактов в блокчейне Ethereum, используемый для реализации токенов. Данный стандарт содержит набор правил, отвечающих за параметры и эмиссию токенов, которым следуют все токены на основе Ethereum.
Стандарт значительно упростил процесс создания новых криптовалютных активов и позволил любому разработчику выпустить новый токен без необходимости запуска своего блокчейна.
«ERC« расшифровывается как «Ethereum Request for Comment«, а число «20« — это идентификатор предложения, так как данный стандарт был предложен в голосовании по улучшению Ethereum (EIP-20).
Токены ERC-20
Токены ERC-20 — это взаимозаменяемые, привычные пользователю токены в сети Ethereum. Токен ERC-20 работает точно также, как ETH, благодаря чему 1 токен будет всегда идентичен любому другому токену из всей эмиссии.
Токены ERC-20 могут представлять в сети Ethereum что угодно:
- Криптовалютные активы (например: 1INCH, ARB, BLUR, MATIC, OP и т.д.).
- Стейблкоины (например: USDT, USDC, DAI и т.д).
- Токенизированые акции.
- Токенизированые драгоценные металы (например: серебро (XAG), золото (XAU) и т.д.).
- Лотерейные билеты.
- И многое другое, что зависит только от фантазии разработчика.
Основной набор правил ERC-20
Первое, что должен иметь любой токен данного стандарта:
name
— название токена (например: Chainlink).symbol
— символ или сокращенное название (например: LINK).decimals
— десятичные дроби токена (максимальное десятичное количество знаков, на которое может делиться 1 токен).
Набор обязательных функций токена выглядит следующим образом:
totalSupply
— описывает максимальную эмиссия токенов.balanceOf
— возвращает баланс любой учетной записи.tansferFrom
— передает определенное количество токенов на указанный адрес.approve
— проверяет, разрешено ли смарт-контракту потратить определенное количество токенов с адреса.allowance
— метод, аналогичный approve, но проверяющий достаточно ли на адресе токенов для передачи.
История появления стандарта
Впервые предложение по внедрению стандарта ERC-20 в блокчейн Ethereum было опубликовано 19 ноября 2015 года и имело идентификатор EIP-20. Авторами данного предложения были Виталик Бутерин и Фабиан Фогельштеллер.
Имплементация стандарта в основную сеть Ethereum вызвала огромный резонанс в сообществе разработчиков и породила множество новых токенов в самые кратчайшие сроки. Не смотря на множество недостатков у этого стандарта, в подавляющем числе случаев, используется именно он и найти токены работающие на других стандартах очень сложно.
Преимущества стандарта
Данный стандарт не просто так стал популярен и на нем были выпущены десятки тысяч токенов, он имеет огромное количества преимуществ, среди которых:
- Простота. Простота разработки является одним из основных преимущества данного стандарта. Смарт-контракты могут быть написаны на языке Solidity и Vyper.
- Стандартизация. Благодаря стандартизации, пользователю нет необходимости иметь множество разных кошельков и все средства могут храниться на одном адресе.
- Востребованность. Стандарт ERC-20 и криптовалюта на его основе востребована на любых торговых площадках, благодаря универсальности протокола.
Недостатки стандарта
Не смотря на то, что данный стандарт имеет множество положительных качеств и имеет абсолютное признание в крипто сообществе, он так же имеет и множество недостатков, среди которых:
- Высокая комиссия. Все токены данного стандарта полностью зависят от блокчейна Ethereum и поэтому комиссия при операциях с ними может быть достаточно высокой в моменты высокой активности в блокчейне.
- Необратимость операций. Если монеты отправить на смарт-контракт, не предназначенный для них, они будут навсегда утеряны и транзакцию отменить невозможно.
- Низкая пропускная способность. Блокчейн Ethereum не блещет высокой пропускной способностью, поэтому в моменты большой нагрузки на сеть, транзакции могут обрабатываться достаточно медленно.
На данный момент идет разработка другого стандарта (ERC-223), который является логическим развитием стандарта ERC-20 и может решить многие недостатки старого стандарта.