Многие слышали о токенах ERC-20, однако мало кто знает, что именно они собой представляют. ERC означает Ethereum Request for Comment («запрос на комментарии в сообществе Ethereum»), а 20 — это произвольный номер, присвоенный предложению.
Основы ERC-20
Родная валюта блокчейна Ethereum — эфир (ETH/USD), однако токены ERC-20 также выступают монетами в сети Ethereum. Блокчейн обрабатывает операции с ними, а смарт-контракты работают на виртуальной машине Ethereum.
Ethereum.org описывает механизм ICO следующим образом:[*]Покупатель платит смарт-контракту (деньги поступают роботу).[*]Робот перенаправляет их владельцу контракта.[*]Робот передает покупателю токены, принадлежащие создателю ICO.
Помните, что эти токены не независимы. Они работают на блокчейне Ethereum и зависят от вычислительной мощности его сети.
Риски смарт-контрактов
Хотя смарт-контракты весьма эффективны, им присущи определенные риси. Например, смарт-контракт невозможно изменить после запуска разработчиками ICO. Если контракт содержит ошибки или уязвимости, вы можете потерять свои деньги или токены (или все сразу).
Подобные неприятности часто случаются в криптовалютном мире. Самым примечательным был взлом DAO на 55 млн долларов. Чтобы с ним справиться, разработчики провели хрдфорк сети Ethereum (так появился Ethereum Classis).
Зачем нужен стандарт ERC-20?
До появления стандарта ERC-20 было множество проблем с совместимостью различных токенов, основанных на Ethereum. У каждого токена был свой тип смарт-контрактов.
Другими словами, чтобы работать с новым токеном на биржах и в кошельках, приходилось писать индивидуальный код. Поддержка постоянно растущего числа токенов отнимала слишком много времени и становилась проблематичной.
В результате был разработан единый протокол для всех токенов, известный как ERC-20.
Стандарт токенов ERC-20 имеет шесть обязательных параметров для каждого смарт-контракта и три дополнительных (но рекомендуемых!). Например, к дополнительным относится допустимое число знаков после запятой. Для сравнения, биткоин поддерживает восемь знаков после запятой, символ (обычно это 3−4-значный код) и имя.
Шесть обязательных параметров определяют количество и передачу токенов. Первые два используются для задания исходного распределения:[*]Функция totalSupply определяет общее количество токенов. После достижения максимума смарт-контракт перестает их выпускать.[*]Функция balance0f присваивает первичное число токенов любому адресу (обычно это адрес владельцев ICO).Для распределения между пользователями и перевода от одного пользователя к другому необходимы два метода переноса. Они крайне важны для вторичного рынка:[*]Функция transfer переводит токены с первичного адреса индивидуальным пользователям, купившим их во время ICO.[*]Функция transferFrom используется для пересылки токенов от одного пользователя к другому.
Еще две функции необходимы для проверки двух предыдущих:[*]Функция approve проверяет, остались ли токены у смарт-контракта.[*]Функция allowance гарантирует, что на неком адресе достаточно токенов для их пересылки на другой адрес.
Эти шесть простых шагов позволили разработчикам кошельков и биржам создать единую базу кода, способную взаимодействовать с любым контрактом стандарта ERC-20.
Использование токенов ERC-20
Токены ERC-20 находят применение в многих областях. Например, они могут выступать в качестве акций проекта, сертификатов на владение активами, пунктов лояльности или чистых криптовалют. Кроме того, они могут одновременно выполнять несколько ролей.
Создание токенов ERC-20
Все токены создаются смарт-контрактами. Эти контракты проводят транзакции и учитывают баланс каждого владельца. Сервис CoinCreator позволяет любому создать собственные токены ERC-20!
Во время ICO каждый участник получает токены по согласованному курсу, посылая смарт-контракту криптовалюту и данные (прежде всего, электронный адрес).
Проблемы с токенами ERC-20
Протокол ERC-20 не всегда достаточен для целей токена. Это лишь база для создания Ethereum-токенов, которая и не гарантирует их пользы, ценности или работоспособности.
Токен можно дополнять, сохраняя совместимость со стандартом ERC-20. Один из недостатков ERC-20 — то, что он делает развертывание токена тривиальным на техническом уровне. В результате многие команды, неспособные провести ICO самостоятельно, все же сделали это.
Огромное число (47454+) приводит к обилию очень похожих токенов, усложняя процесс отбора для потенциальных инвесторов.
Другая проблема в том, что некоторые проекты реализуют базовые принципы стандарта весьма странным образом, что создает дополнительную путаницу при определении специфики работы их токенов. Например, иногда токены посылаются смарт-контрактам в других ICO. Если функциональность контракта этого не предусматривает, токены теряются. К концу 2017 года таким образом было потеряно более 3 млн долларов.
Вывод
Возникновение стандарта ERC-20 ускорило рост в пространстве ICO благодаря унификации функций, упрощающих разработку токенов. Протокол также усилил синергию между ICO-стартапами, биржами и сервисами кошельков. Скорее всего, в дальнейшем протокол ERC-20 будет расширен и дополнен функциями для борьбы с основными проблемами и уязвимостями токенов.
Источник