ERC20: описание стандарта, особенности ERC токенов, поддерживаемые кошельки

Сеть эфириума (Ethereum) активно развивается, и разработчики постоянно внедряют новые функции и стандарты. Одним из нововведений стал стандарт ERC20, определяющий механизм и требования работы криптографических токенов в экосистеме эфира.

Стандарт ERC 20

Для начала необходимо дать общее понятие «стандарта» применительно к разработке программного обеспечения, в том числе криптовалют. Стандарт – это некоторый набор функций и требований, которым должны следовать и которые должны использовать разработчики, чтобы их продукт был совместим с использующими данный стандарт проектами.

Итак, ERC20 – что такое и как работает? Стандарт формализует требования к работе токенов, создаваемых на блокчейне криптовалюты Ethereum.

Важно: данный стандарт описывает правила работы создаваемых токенов. Код ERC20 открыт, любой разработчик может получить исходные тексты на официальной странице проекта на GitHub и создать свои ERC20-совместимые монеты.

Задачей создания формализованного стандарта было упрощение операций между кошельками ETH, смарт-контрактами и биржами. Так, новой монете на ERC20 легко выйти на биржу, поскольку протокол работы с ней известен, и нет никаких препятствий для биржевого листинга.

Функциональные особенности ERC20

ERC20 реализует несколько функций, согласно спецификации.

Таблица 1. Методы, реализуемые стандартом

ФункцияЧто делает
«Имя» (name)Возврат строковой константы, содержащей название токена
«Символ» (symbol)Возвращает строковое значение тикера токена
«Разрядность» (decimals)Возвращает число, на которое следует разделить значение суммы токена, для отображения. Например, возвращенная цифра 8 означает, что делить следует на 100000000 (1 с 8 нулями)
«Общий объем» (total supply)Возвращает значение общего числа токенов
«Баланс» (balanceOf)Показывает баланс на счету кошелька, заданного параметром address _owner (где _owner – интересующий кошелек)
«ПередачаВ» (transfer)Реализует передачу средств в сети некоторой суммы на определенный адрес
«ПередачаОт» (transferFrom)Передача токенов с одного указанного адреса на другой
«Одобрение» (approve)Разрешает вывод средств со счета вплоть до максимально допустимой суммы, переданной функции в качестве параметра
«Разрешение» (allowance)Показывает, сколько разрешено пользователю с адресом X вывести средств с кошелька пользователя с адресом Y

Стандарт предусматривает два вида событий:

  • передача (transfer) – событие перевода токенов между счетами;
  • одобрение (approval) – событие инициируется при успешном исполнении функции approve, описанной выше.

Стандарт основан на смарт-контрактах эфира, реализованных впервые именно в блокчейне этой криптовалюты. Хотя некоторые элементы и зачатки смарт-контрактов присутствуют и у биткоина, все же именно Ethereum считают первой криптовалютой, полноценно реализовавшей концепцию «умных контрактов».

Как это работает

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

  • пользователь запускает процесс трансфера ERC20 token;
  • в смарт-контракт отправляется директива о смене владельца указанной суммы токенов;
  • баланс отправителя уменьшается, а получателя – пополняется на означенную сумму.

То есть стороны сделки взаимодействуют не друг с другом напрямую, а со смарт-контрактом.

Это приводит к упрощению всех сетевых операций – нет нужды в длительной сверке с базами данных, необходимо лишь проверить соответствие сделки условиям контракта. Такое упрощение сделало Ethereum технологию ERC20 весьма популярной, и сегодня многие альткоины соответствуют этому стандарту.

Среди других преимуществ – стандартизация токенов. Раньше на базе блокчейна Эфира создавались проекты с уникальными токенами, и это создавало большую проблему для бирж и прочих платформ и приложений, собиравшихся взаимодействовать с новыми монетами. Приходилось создавать различные механизмы, чтобы обеспечить совместимость. Это делало процесс весьма сложным и трудоемким, поскольку приходилось создавать новые программные «прослойки» для взаимодействия со вновь созданными токенами. Токены стандарта ERC20 решили эту проблему.

Поясняющий видеоролик о стандарте:

Недостатки токенов

Хотя в теории все выглядит хорошо, у ERC20 есть и недостаток. Он заключен в оборотной стороне простоты создания монет на базе стандарта. Легкость привлекает мошенников, запускающих ICO, собирающих деньги и благополучно пропадающих. Схема работает, поскольку ICO проекта на ERC20 многим видится интересным и перспективным.

Кроме того, есть еще одна проблема – потерянные монеты внутри смарт-контрактов. Это происходит, когда используется контракт, не предназначенный для операций с отправленными токенами. Ее разработчик предлагает решить при помощи нового стандарта ERC-223.

Токены на Ethereum

Выше много говорилось про токены. Что это такое применительно к эфиру и зачем они нужны?

Ethereum – это не просто криптовалюта, но среда, экосистема. Каждый из ее пользователей вправе использовать предоставляемый эфиром блокчейн для создания собственных приложений и проектов на смарт-контрактах. Упрощенно эту систему можно описать, сравнив эфир с интернетом, а распределенные приложения (dApps) в нем – с веб-сайтами. При этом сайты принадлежат не одному владельцу, а многим – тем, кто приобрел токены «сайта» в процессе ICO в обмен на монеты ETH. То есть токен – это валюта конкретного проекта, имеющая хождение в блокчейне эфира.

Существует два вида токенов:

  1. Внутренний. Они выступают в качестве валюты в dApps, примером такой криптовалюты является Sia Coin.
  2. Акционный. Таковы, например, токены DAO: они играют роль акций и дают владельцу право голосовать за предоставление финансирования какому-то проекту в DAO, по аналогии с «оффлайновыми» акционерными обществами, где вес голоса акционера зависит от количества акций у него на руках.

Возникает вопрос – для чего нужны отдельные токены, не проще ли использовать привычный ETH для проведения операций?

Можно привести сравнение с обычной жизнью, где также часто используются токены. Хороший пример – метро, для прохода в которое нужно приобрести жетон. Аналогичный принцип применяется, например, для пропуска граждан в парки развлечений, осуществления внутриигровых покупок, реализации купонных сервисов, и т. д. Метро – это dApp, уплачиваемые за жетон деньги – монеты ETH, а получаемый в обмен жетон с правом прохода на территорию метрополитена – это токен.

ERC20-совместимые кошельки

Для хранения совместимых с данным стандартом токенов необходим поддерживающий их кошелек, который придется либо создавать, либо использовать один из существующих. Основных ERC20 совместимых кошельков несколько.

MyEtherWallet

Это онлайн-сервис, один из самых популярных. Примечательная его особенность – MyEtherWallet не хранит токены у себя на балансе, средства находятся в блокчейне, а сервис лишь дает пользователю интерфейс взаимодействия с таковым. Это дает дополнительную безопасность средствам владельца, но есть и обратная сторона: если забыть кодовую фразу, ERC20 токены на счету будут утрачены.

Рисунок 1. Логотип MyEtherWallet

Кошелёк безопасен, прост и универсален: его можно использовать и для самого ETH, и для ERC20-совместимых токенов.

MetaMask

Еще один «легкий» кошелек, реализованный в виде онлайн-сервиса. Он служит посредником между основным кошельком и сайтами, где пользователь совершает оплату криптовалютой.
Примечательная особенность MetaMask: он создан как браузерный плагин и может быть синхронизирован с аналогичным плагином на другом электронном устройстве.

Рисунок 2. Лого МетаМаск

Принцип работы сервиса: пользователь переводит требуемую сумму на кошелек и проводит оплату.

Mist

Это собственный кошелек от создателей эфира, получивший статус официального.

Рисунок 3. Запуск кошелька Mist

Он может использоваться как классический ERC20 и ETH-wallet, но приложение имеет и дополнительные возможности наподобие работы со смарт-контрактами.

Из минусов Mist – размеры и необходимость синхронизации с блокчейном, в которой иногда возникают проблемы.

Parity

До определенного момента этот кошелек был очень популярен благодаря удобству и легкости интерфейса. Но обнаруженная в ноябре 2017 года уязвимость, приведшая к блокировке средств владельцев на почти 150 млн USD, отвернула от него аудиторию, и репутация кошелька в основном негативная.

Рисунок 4. Кошелек Parity

ImToken

Это легкое мобильное приложение для платформ на IOs и Android, созданное в Китае. Кошелек удобен и поддерживает ERC20, что делает его отличным инструментом для участия в ICO. Список поддерживаемых токенов постоянно обновляется.

Рисунок 5. Загрузка ImToken.

Кроме того, с помощью кошелька можно мониторить курсы монет на биржах, просматривать новости ICO и оперировать с dApps. Пользователь имеет возможность связать определенное приложение с кошельком, упрощая проведение операций.

Почему стоит выбирать ICO с поддержкой ERC20

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

Кроме того, один ERC20-кошелек можно использовать для любого ICO, использующего рассматриваемый стандарт.

Сервисы, не поддерживающие ERC20

С этой спецификацией пока работают не все кошельки и онлайн-сервисы в случаях с ICO:

  • виртуальные биржевые кошельки, Exmo, и др.;
  • Cryptonator;
  • JAXX (но его приватные ключи можно загрузить в MEW (MyEtherWallet), что сделает токены доступными там);
  • другие кошельки, не входящие в список выше.

Тем не менее ряд бирж имеют в своем листинге ERC20-токены. Примечательно, что в начале января 2018-го Bittrex объявила о закрытии для пользователей возможности создавать новые депозитные адреса для эфира и ERC20.

Важно: для оперирования с рассматриваемыми токенами при ICO нужен специальный кошелек или сервис, поддерживающий их. Не стоит использовать биржевые адреса для получения ERC токенов, это может привести к потере средств.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: