Стандарт ERC20 Ethereum. Кошельки поддерживающие ERC20

Поделиться записью:

Стандарт ERC20. До по­яв­ле­ния стан­дар­та ERC-20 было мно­же­ство про­блем с сов­ме­сти­мо­стью раз­лич­ных то­ке­нов, ос­но­ван­ных на Ethereum. У каж­до­го то­ке­на был свой тип смарт-кон­трак­тов.

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

ERC озна­ча­ет Ethereum Request for Comment («за­прос на ком­мен­та­рии в со­об­ще­стве Ethereum»), а 20 — это про­из­воль­ный номер, при­сво­ен­ный пред­ло­же­нию.

Что такое стандарт ERC 20

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

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

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

Функции ERC20

Стан­дарт то­ке­нов ERC-20 имеет шесть обя­за­тель­ных па­ра­мет­ров для каж­до­го смарт-кон­трак­та и три до­пол­ни­тель­ных. На­при­мер, к до­пол­ни­тель­ным от­но­сит­ся до­пу­сти­мое число зна­ков после за­пя­той. Для срав­не­ния, бит­ко­ин под­дер­жи­ва­ет во­семь зна­ков после за­пя­той, сим­вол (обыч­но это 3−4-знач­ный код) и имя.

Шесть обя­за­тель­ных па­ра­мет­ров опре­де­ля­ют ко­ли­че­ство и пе­ре­да­чу то­ке­нов:

  1. TotalSupply определяет общее количество токенов. После достижения максимума смарт-контракт перестает их выпускать.
  2. Balance0f присваивает первичное число токенов любому адресу (обычно это адрес владельцев ICO). Для рас­пре­де­ле­ния между поль­зо­ва­те­ля­ми и пе­ре­во­да от од­но­го поль­зо­ва­те­ля к дру­го­му необ­хо­ди­мы два ме­то­да пе­ре­но­са.
  3. Transfer переводит токены с первичного адреса индивидуальным пользователям, купившим их во время ICO.
  4. TransferFrom используется для пересылки токенов от одного пользователя к другому.
  5. Approve проверяет, остались ли токены у смарт-контракта.
  6. Allowance гарантирует, что на неком адресе достаточно токенов для их пересылки на другой адрес.

 

Эти шесть про­стых шагов поз­во­ли­ли раз­ра­бот­чи­кам ко­шель­ков и бир­жам со­здать еди­ную базу кода, спо­соб­ную вза­и­мо­дей­ство­вать с любым кон­трак­том стан­дар­та ERC-20.

Токены на Ethereum ERC20

Ethereum – это не просто криптовалюта, но среда, экосистема. Каждый из ее пользователей вправе использовать блокчейн эфириума для создания собственных приложений и проектов на смарт-контрактах.

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

  • Внутренний. Они выступают в качестве валюты в распределенных приложениях dApps, примером такой криптовалюты является Siac
  • Акционный. Они играют роль акций и дают владельцу право голосовать за предоставление финансирования какому-либо проекту, по аналогии с «оффлайновыми» акционерными обществами, где вес голоса акционера зависит от количества акций у него на руках.

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

 

Можно привести примеры из реальной жизни:

Например, метрополитен. Для прохода в метро нужно приобрести жетон. Такие же жетоны применяются, например, для пропуска граждан в парки развлечений, осуществления внутриигровых покупок, реализации купонных сервисов, и т. д.

То есть, метро – это распределенное приложение dApp, уплачиваемые за жетон деньги – монеты ETH, а получаемый в обмен жетон с правом прохода на территорию метрополитена – это токен.

Создание токенов ERC 20

Все то­ке­ны со­зда­ют­ся смарт-кон­трак­та­ми. Эти кон­трак­ты про­во­дят тран­зак­ции и учи­ты­ва­ют ба­ланс каж­до­го вла­дель­ца. Сер­вис CoinCreator поз­во­ля­ет лю­бо­му со­здать собственные то­ке­ны ERC-20.

Во время ICO каж­дый участ­ник по­лу­ча­ет то­ке­ны по со­гла­со­ван­но­му курсу, по­сы­лая смарт-кон­трак­ту крип­то­ва­лю­ту и дан­ные (пре­жде всего, элек­трон­ный адрес).

Ethereum.​org опи­сы­ва­ет ме­ха­низм ICO сле­ду­ю­щим об­ра­зом:

  • Покупатель платит смарт-контракту (деньги поступают роботу).
  • Робот перенаправляет их владельцу контракта.
  • Робот передает покупателю токены, принадлежащие создателю ICO.

Пом­ни­те, что эти то­ке­ны не неза­ви­си­мы. Они ра­бо­та­ют на блок­чейне Ethereum и за­ви­сят от вы­чис­ли­тель­ной мощ­но­сти его сети.

Преимущества токенов ERC20

Главное преимущество — это стандартизация токенов. Раньше на базе блокчейна Ethereum создавались проекты с уникальными токенами. Это создавало большую проблему во взаимодействии бирж и прочих платформ и приложений.

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

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

Про­то­кол ERC-20 не все­гда до­ста­то­чен для целей то­ке­на. Это лишь база для со­зда­ния Ethereum-то­ке­нов, ко­то­рая и не га­ран­ти­ру­ет их поль­зы, цен­но­сти или ра­бо­то­спо­соб­но­сти.

Токен можно до­пол­нять, со­хра­няя сов­ме­сти­мость со стан­дар­том ERC-20. Один из недо­стат­ков ERC-20 — то, что он де­ла­ет раз­вер­ты­ва­ние то­ке­на довольно простым на тех­ни­че­ском уровне. В ре­зуль­та­те мно­гие ко­ман­ды, неспо­соб­ные про­ве­сти ICO са­мо­сто­я­тель­но, все же сде­ла­ли это.

В результате это при­вело к оби­лию очень по­хо­жих то­ке­нов, услож­нив про­цесс от­бо­ра для по­тен­ци­аль­ных ин­ве­сто­ров.

Дру­гая про­бле­ма в том, что неко­то­рые про­ек­ты ре­а­ли­зу­ют ба­зо­вые прин­ци­пы стан­дар­та весь­ма стран­ным об­ра­зом, что со­зда­ет до­пол­ни­тель­ную пу­та­ни­цу при опре­де­ле­нии спе­ци­фи­ки ра­бо­ты их то­ке­нов. На­при­мер, ино­гда то­ке­ны по­сы­ла­ют­ся смарт-кон­трак­там в дру­гие ICO. Если функ­ци­о­наль­ность кон­трак­та этого не преду­смат­ри­ва­ет, то­ке­ны те­ря­ют­ся. К концу 2017 года таким об­ра­зом было по­те­ря­но более 3 млн. дол­ла­ров. Эту проблему разработчики предлагают решить при помощи нового стандарта ERC-223.

Хотя смарт-кон­трак­ты весь­ма эф­фек­тив­ны, им при­су­щи опре­де­лен­ные риски. На­при­мер, смарт-кон­тракт невоз­мож­но из­ме­нить после за­пус­ка раз­ра­бот­чи­ка­ми ICO. Если кон­тракт со­дер­жит ошиб­ки или уяз­ви­мо­сти, вы мо­же­те по­те­рять свои день­ги или то­ке­ны (или все сразу).

По­доб­ные непри­ят­но­сти часто слу­ча­ют­ся в крип­то­ва­лют­ном мире. Самым при­ме­ча­тель­ным был взлом DAO на 55 млн дол­ла­ров. Чтобы с ним спра­вить­ся, раз­ра­бот­чи­ки про­ве­ли хард­форк сети Ethereum (так по­явил­ся Ethereum Classic).

Как работают cмарт контракты ERC20

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

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

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

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

Кошелек для токенов ERC20

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

 

MyEtherWallet

 

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

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

Официальный сайт — https://www.myetherwallet.com

 

MetaMask

 

«Легкий» онлайн кошелек. Он служит посредником между основным кошельком и сайтами, где пользователь совершает оплату криптовалютой.

MetaMask создан как браузерный плагин и может быть синхронизирован с аналогичным плагином на другом электронном устройстве.

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

Официальный сайт — https://metamask.io

 

Mist

Это официальный кошелек от создателей Ethereum.

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

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

Официальный релиз на GitHub — https://github.com/ethereum/mist/releases

 

Parity

 

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

Официальный сайт — https://www.parity.io/ethereum

 

ImToken

 

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

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

Официальный сайт — https://token.im

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

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

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

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

Кошельки, не поддерживающие ERC20

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

С этим стандартом пока работают не все кошельки:

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

 

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

Перспективы ERC20

То­ке­ны ERC-20 на­хо­дят при­ме­не­ние во мно­гих об­ла­стях. На­при­мер, они могут вы­сту­пать в ка­че­стве акций про­ек­та, сер­ти­фи­ка­тов на вла­де­ние ак­ти­ва­ми, пунк­тов ло­яль­но­сти или чи­стых крип­то­ва­лют. Кроме того, они могут од­но­вре­мен­но вы­пол­нять несколь­ко ролей.

Воз­ник­но­ве­ние стан­дар­та ERC-20 уско­ри­ло рост в про­стран­стве ICO бла­го­да­ря уни­фи­ка­ции функ­ций, упро­ща­ю­щих раз­ра­бот­ку то­ке­нов. Про­то­кол также уси­лил си­нер­гию между ICO-стар­та­па­ми, бир­жа­ми и сер­ви­са­ми ко­шель­ков. Ско­рее всего, в даль­ней­шем про­то­кол ERC-20 будет рас­ши­рен и до­пол­нен функ­ци­я­ми для борь­бы с ос­нов­ны­ми про­бле­ма­ми и уяз­ви­мо­стя­ми то­ке­нов.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.