Ethereum

Стандарт ERC 20 для создания собственных токенов на базе Ethereum

Каждый человек, увлекающийся тематикой криптовалюты не раз видел термин Ethereum ERC20. Этим определением называет стандарт токенов, используемый в сети Etherium. Все площадки, использующие токены на эфире, работают с данным стандартом. ERC20 расшифровывается как Ethereum Request for Comments. А русском эта фраза звучит как «запрос на комментарии в Эфириум».

Стандарт ETH ERC20 был создан в 2015 году создателем платформы Etherium Виталиком Бутериным. Внутри себя он имеет правила, по которым производят свою работу все монеты, созданные на основе данной площадки.

Появление такой структуры стало инновацией в криптосфере. Ведь до этого момента каждая платформа создавала свои правила и действовала по ним. Каждому программисту, который имел перед собой задачу создания токена, приходилось писать с нуля свою среду для новой криптовалюты. Каждая монета была особой, не похожей на другую. Это делало работу критпобирж, кошельков и любых приложений, созданных для взаимодействия между токенами очень сложной. Сложно было связывать работу между разными стандартами.

При появлении новой монеты, разработчикам каждый раз приходилось дописывать часть кода, для совместимости и возможности стабильной работы с ней.

Со временем, к 2017 году токены Etherium ERC20 стали использоваться повсеместно благодаря их возможностям и удобству работы с ними. Такое широкое использование стандарта привело к буму проведения ICO в 2017 году.

Особенности стандарта, его плюсы и минусы

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

В чем же состоит особенность данного стандарта и когда можно считать, что токен совместим с ним? Все дело в наборе из шести функций, посредством которым устанавливается связь с другими смарт-контрактами, их распознавание и идентификация. Из них четыре обязательны для осуществления абсолютно всех ETH token, созданных на стандарте:

  • Получение всех монет в общем;
  • Получение баланса по счету;
  • Перенесение токена между группами;
  • Подтверждение задействования токена в виде актива.

Так же две остальные:

  • Подтверждение, что у пользователя есть в наличие достаточное количество монет для совершения транзакции;
  • Функция, проверяющая наличие остаточного количества монет в смарт-контракте и проверяющая наличие возможности снятия монет со счета.

Основа действия Ethereum Token состоит в том, что при проведении транзакции один пользователь отправляет другому пользователю определенное количество токенов. При этом на адресе отправителя количество токенов уменьшается на столько, на сколько увеличивается на адресе у получателя. Логика обычная, но тут есть особенность.

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

Не смотря на свою простоту и полезность у стандарта Эфириума ERC20 присутствуют и некоторые проблемы. Это обусловлено тем, что он является первым стандартом, и в нем проработаны далеко не все моменты. В случае если пользователь случайно отправил свои монеты не туда, куда хотел – вернуть их нельзя.

На данном стандарте токены передаются двумя возможными вариантами:

  • Transfer – передача токенов с адреса на адрес.
  • Approve+TransferForm – комбинированная функция для начисления средств в смарт контракт.

Особенность перевода средств состоит в том, что перевод является совершенным в случае успешного получения средств получателем и неимением неполадок. Иначе транзакция будет отменена смарт-контрактом. В случае отправки средств в смарт-контракт, в котором не предусмотрена работа с ним – в ходе работы эти средства могут просто исчезнуть, потому-что данная транзакция будет отменена получателем (заложено в коде).

При использовании функции Transfer передача средств выглядит, как изменения количества средств, а не транзакция в обычном понимании. Из-за этого возможно появление проблемы невозможности распознавания перевода. В результате чего нельзя предсказать, что может случиться с токенами: возможна их заморозка или потеря.

Для решения этой проблемы создателями Эфириума была создана вторая функция Approve+TransferForm. Она позволяет каждому пользователю лично разрешать контракту выведение денег, если средства успешно переведены.

Создание токенов на Ethereum

Создать токен на основе Etherium можно несколькими вариантами. Рассмотрим один из этих. Для этого нужно зайти на площадку Token Factory. Она весьма проста в использовании, на ее изучение не уйдет много времени.

erc 20

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

Код протокола erc 20

Сам текст можно увидеть на: https://www.ethereum.org/token 

Важным плюсом использования токенов на эфире является совместимость с криптобиржами и криптокошельками. Как было написано выше, при отсутствии единого стандарта интеграция полностью уникального токена в разные системы превращается в кошмар. А при использовании одного стандарта любое взаимодействие упрощается, что ведет только к взаимовыгодным отношениям.

Кошельки для токенов ERC 20

Чтобы хранить любые денежные средства необходим кошелек. И Эфир не является исключением. Особенностью является то, что кошелек должен быть совместим со стандартом хранящихся токенов. В нашем случае это ERC20. Чтобы разобрать, как перевести токены в Эфириум, рассмотрим основные кошельки, которые поддерживают данный стандарт.

MyEtherWallet

Один из самых популярных кошелек для ETH ERC20. Это онлайн-сервис, но с приятной особенность – он не держит токены на своем балансе. Все монеты расположены в цепи блоков. Сам же кошелек только дает возможность пользователю взаимодействовать с блокчейном посредством своего интерфейса. Такая особенность дополнительно увеличивает безопасность хозяина монет. Однако, не стоит забывать личную кодовую фразу (пароль), без фразы вы утратите контроль над своими средствами, потеряете их навсегда.

Этот кошелек весьма просто и безопасно использовать. Он подходит как для самого Эфира, так и для всех совместимых с данным форматом монет.

MetaMask

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

Еще интересное свойство заключается в том, что он является плагином для браузера и может синхронизироваться с такими же плагинами на других устройствах.

Для работы с сервисом нужно перевести нужное количество средств на MetaMask и произвести оплату

Mist

Mist ERC20 Ethereum Wallet – это собственная разработка команды Эфириума, он является официальным кошельком для всей сети Эфира.

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

При этом Mist достаточно много весит и ему необходимо синхронизироваться с блокчейном, из-за чего, порой, могут появиться задержки.

ImToken

Данный кошелек представляет из себя приложение для смартфонов. Он поддерживает Андроиды и IOs. К положительным качествам кошелька можно отнести его удобство для перечисления средств. Посредством него можно комфортно участвовать в инвестировании ICO. Разработчики ведут постоянную работу над увеличением поддерживаемых цифровых монет.

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

Другие стандарты ERC

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

ERC-223

Этот стандарт был создан для исправления уязвимости начальной вариации протокола эфира. Теперь, при появлении ошибки во время проведения transfer, если смарт-контракт не работает с определенной валютой, то эта сделка просто отменяется, без потери средств.

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

ERC-721

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

ERC-827

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

Так же, со стандартом ERC-827 можно подтверждать перевод независимому лицу, без использования личного ключа. Это позволяет не подвергать риску безопасность блокчейна.

ERC-948

Данный вид протокола создан для бизнеса. Он позволяет работать по модели «подписки» со своими потребителями. Данный вид деятельности стал часто используемым в последнее время. По статистике, за 2017 год таким образом было задействовано более 11 миллионов покупателей.

Консалтинговая компания McKinsey провела исследование, по результатам которого заявила, что одна седьмая часть от всех пользователей подписалась на е-коммерс за 2017 год. И протокол ERC-948 создан для упрощения данного взаимодействия между покупателями и компаниями, так как изначально «подписки» достаточно сложны для конечного пользователя.

ERC-884

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

Заключение

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

Создателями Etherium создана благоприятная среда для написания сторонних DApps на платформе Etherium при использовании смарт-контрактов и стандарта ERC-20. Созданы оптимизированные кошельки под стандарт. Все это благоприятно принято сообществом и только ведет к росту популярности сети и стандарта.

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

Tags

Сергей Никулкин

Сергей верит в криптовалюты и уверен, что в том или ином виде они точно будут присутствовать в нашем будущем.