Платформа Ethereum не только имеет собственную криптовалюту, но и позволяет выпускать собственные токены. Создаются они на основе стандарта ECR20.
Cryptonomist рассказывает, как всё это устроено и как выпускаются новые токены на базе существующей платформы.
Как устроена платформа Ethereum
Сеть Ethereum, как и любой блокчейн, состоит из огромного количества узлов (нод). Они обмениваются данными через интернет и в совокупности представляют собой виртуальную машину эфира, EVM (Ethereum Virtual Machine). Транзакции в сети автоматически сохраняются в распределённом реестре.
Ethereum создан для выполнения кода любого децентрализованного приложения
Отличие Ethereum от большинства платформ (по крайней мере, от предшественников) — в том, что каждый пользователь может воспользоваться системой для запуска собственных токенов и децентрализованных приложений (dApps). Грубо говоря, платформа Ethereum — это интернет, а dApps — сайты, которые существуют в нём.
Смарт-контракт — это код, который создаётся для организации обмена деньгами, имуществом и другими ценностями. На платформе Ethereum он автоматически исполняется при достижении нужных условий. Исполнение происходит поверх блокчейна. Поэтому сама платформа Ethereum не вмешивается в выполнение контракта, исключены простой или мошенничество.
Когда проект проводит ICO, он собирает средства в обмен на токены. Чаще всего вы обмениваете свои монеты Ethereum на токены нового проекта. Токены могут быть двух видов:
- Акции — они идентифицируют вас как акционера в dApp. Один из самых популярных вариантов — токены DAO (децентрализованного фонда), которые дают возможность голосовать за получение или неполучение финансирования проектом. DAO не имеет лидера, является автономным и управляется смарт-контрактами.
- Внутренние токены — они работают как внутрисистемная валюта. Токены имеют денежную ценность, но не дают прав или привилегий внутри системы.
Как создать токен стандарта ERC20
Чтобы создать токен на платформе Ethereum, нужно знать язык программирования Solidity. Именно на нём создаются приложения и смарт-контракты для платформы.
Другой вариант — воспользоваться сервисом вроде Token Factory. Там достаточно указать нужные параметры, и система сама сгенерирует токены.
Если вы готовы выучить новый язык программирования, читайте описание создания токена на официальном сайте платформы. А вот статья на HabrHabr, в которой перечислены основные функции.
Токен по сути является скриптом, который работает поверх блокчейна Ethereum с базой данных, которая отслеживает платежи в эфире.
Чтобы не возникло проблем с совместимостью токенов, создатель Ethereum Виталик Бутерин в 2015 году представил на конференции DevCon единые стандарты (Initial Standards Token). После этого стандарты протестировали разработчика кошелька Mist, и в итоге команды совместными усилиями разработали Ethereum Request for Comments 20 — стандарт ERC-20 для токенов. Описание стандарта изложено на GitHub.
Фактически ERC20 является набором функций, которые разработчики должны применять в своих токенах, чтобы они были совместимы с другими токенами платформы. Если следовать принятым в системе правилам, проектам будет проще взаимодействовать со сторонними сервисами и блокчейн-проектами, которые поддерживают стандарт.
Стандарт ERC-20 гарантирует, что токены на основе Эфириума будут корректно работать в экосистеме, в децентрализованных программах dApps и смарт-контрактах, а также что все токены будут отвечать фиксированному стандарту безопасности.
Четыре обязательные функции для соответствия стандарту ERC20:
- Получить баланс на счету пользователя;
- Получить общее количество токенов;
- Подтвердить использование токена как актива;
- Перенести токен из одной группы в другую.
Если вы правильно создадите смарт-контракт для выпуска токенов, совместимых с ERC-20, пользователи смогут принять участие в вашем ICO, используя только кошелек Ethereum. После того, как пользователь отправит эфиры на адрес такого смарт-контракта, он автоматически получит новые токены, количество которых рассчитано по формуле из смарт-контракта.
Резюме
ERC20 — универсальный стандарт, который использует большинство современных ICO. Его преимущества — простота и удобства работы со смарт-контрактами. Для проверки исполнения смарт-контракта и перемещения средств нодам не нужно связываться с базой данных и следовать протоколам. Достаточно проверить, правильно ли выполнены условия контракта.
Впрочем, простота оказалась и недостатком ERC20. Легкость создания собственных токенов привлекает мошенников, которые организуют скам-ICO и исчезают с собранными средствами.