Как с помощью протокола ERC20 создают новые токены

erc20 протокол

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

Что такое протокол ERC20

ERC20 — стандарт токенов сети Ethereum. Аббревиатура расшифровывается как Ethereum Request for Comments — запрос на комментарии в «Эфириум». Это официальный протокол компании для внесения предложений по совершенствованию блокчейна в сети. Цифра 20 — идентификатор предложения.

«Эфириум» — платформа, на которой создаются децентрализованные онлайн-сервисы, базирующиеся на блокчейне. Разработчики используют ее для написания приложений. 

Протокол ERC20 упоминают как токен, или то, что является основой большинства современных токенов. Термин token имеет несколько значений:

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

Причины создания ERC20

Протокол был создан в 2015 году основателем платформы Ethereum Виталием Бутериным. Первоначальная цель создания:

  • заменить в цифровом мире ценные бумаги;
  • сделать электронные деньги универсальными;
  • провести ICO — сбор средств для развития компании.

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

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

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

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

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

DApps — децентрализованные приложения с открытым кодом. Они никому не принадлежат и их нельзя закрыть. Программная платформа реализована на децентрализованных цепочках блоков, заполняется с использованием токенов, генерируемых алгоритмом.

Функции стандарта ERC20

Стандарт ERC20 включает в себя 6 обязательных функций и 3 дополнительных. Разработчики не обязывают, но рекомендуют использовать дополнительные функции при создании токена. Список обязательных функций включает в себя:

TotalSupplyОбщее количество. Определение числа токенов. Если максимум достигнут, смарт-контракт прекращает их выпуск.
BalanceOfТекущий баланс. Присваивание любому адресу, как правило — владельцу, первичного количества токенов.
TransferПередача. Перевод активов с первичного адреса клиентам, которые приобрели их в период ICO.
TransferFrom Адрес источника передачи. Пересылка средств между пользователями.
ApproveУтверждение снятия средств. Проверка, есть ли токены у смарт-контракта.
AllowanceПроверка остатка на счете. Гарантия, что пользователя достаточно средств для отправки на другой адрес.

3 дополнительных функции, рекомендуемые для использования:

  • name — имя токена;
  • decimal — число знаков после запятой;
  • symbol — символ для бирж.

Благодаря этим функциям была создана единая база кода, которая позволила разработчикам кошельков и биржам сотрудничать со всеми контрактами протокола ERC20. Унификация функций упростила разработку токенов. 

Как создать свой токен, используя стандарт ERC20

Наиболее популярный и простой способ — открыть исходник ERC20, написанный на языке программирования Solidity и поменять несколько строк. Затем залить контракт в сеть с помощью официальных клиентов, например, MetaMask.

Смарт-контракты

Это программы, которые исполняются автоматически и позволяют создавать децентрализованные миры, криптовалютные биржи и собственные токены.

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

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

Требования, выполняемые смарт-контрактами:

  • контроль баланса кошелька;
  • проверка переведенных средств;
  • пересылка токенов.

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

На каких языках программирования можно создать свои токены

С этой целью могут использоваться 4 языка программирования:

  • Mutan — Go-подобный язык;
  • LLL — Lisp-подобный;
  • Serpent — Python-подобный;
  • Solidity — подобен JavaScript и направлен на разработку смарт-контрактов.

Язык Solidity был основан на идее Гевина Вуда. Эту идею в 2014 году реализовали разработчики под руководством Кристиана Райтвизнера. Язык Solidity кроссплатформенный, но на практике, на нем пишут преимущественно для Ethereum. 

Чем токены отличаются от криптовалют

Крипотвалюта, в отличие от токена:

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

Токены — это аналог акций, которые выпускаются не на фондовом рынке, а в интернете с помощью ICO.

Токен, в отличие от криптовалюты:

  • выпускается инициатором ICO и может быть как скидкой, так и бонусом к продукту;
  • является маркером состояния, показывающим наличие средств, отражающим заслуги и дающим право на использование услуги или товара;
  • привязан к сети «Эфириум», работает в рамках формата, принятого внутри нее, позволяет отслеживать транзакции.
Чем токены отличаются от криптовалют

Простые примеры. Паспорт человека является токеном, так как предоставляет права гражданина, как и жетон, дающий право на проезд в метро. Жетоны можно обменять на деньги, если они станут востребованы. Цена возрастет, если из-за загруженности линий жетонов будет положено не более двух на месяц. Тогда жетоны могут появиться на бирже, где ими будут торговать. Выходя на биржу, токены не станут криптовалютой, как и жетоны не станут рублями, главная функция проездного документа сохранится.

В основе криптовалюты лежит блокчейн, а в основе токена — криптовалюта, то есть токен — производная криптовалюты. 

Практическое применение ERC20

Изначально токены использовали во время первичного сбора средств для развития компании. Они являлись цифровым активом с закрепленными обязательствами. Токены приобретались напрямую у разработчиков и их больше нигде нельзя было продать или купить. ICO «Эфириума» состоялось в 2014 году и собрало более $16 млн. Ethereum привлек внимание представителей многих отраслей, так как его можно использовать для того, чтобы в будущем оптимизировать и оцифровать неэффективные бизнес-процессы. 

Токены относятся к криптовалюте, если обладают собственным блокчейном и ими можно торговать на биржах. Примеры ERC20 токенов, которые создали свой блокчейн — Tron и EOS. Tron создал свой блокчейн из-за его перспективности: блокчейн-игры становятся популярней с каждым днем. EOS — конкурент Ethereum, в основном используемый для децентрализованных обменов и азартных игр.

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

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

Стейблкоины — это цифровые валюты с фиксированным курсом: 1 единица токенов равна 1 единице соответствующего фиата, например, доллара. 

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

Какие токены используют стандарт ERC20

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

USDT Tether

Стейблкоин, выпущенный компанией Tether Limited в 2015 году. Привязан к доллару США. Стоимость USDT Tether подкреплена американскими долларами на счетах компании.

У других фиатных валют есть свои стейблокины. Например, Binance GBP подкрепляется британским фунтом, а STASIS — евро.

Старая система базировалась на протоколе Omni, основанном на блокчейне Bitcoin. Из-за высоких тарифов и длительного подтверждения транзакций компания решила использовать блокчейн Ethereum.

WETH

ETH, или эфир, является базовой валютой Ethereum. При помощи приложения RELAY его можно менять на токены ERC20.

WETH — это «wrapped ETH» или «Эфир в оболочке». Он был введен потому что ETH появился еще до принятия стандарта ERC20 и не соответствовал емуДецентрализованные платформы, базирующиеся на Ethereum, осуществляют обмен токенами между пользователями на основе смарт контрактов. Чтобы обмен был корректным, токены должны быть одного стандарта.

WETH используется, чтобы обменять токены ETH на соответствующие протоколу ERC20. 

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

Среди них:

  • система Wrapped Ether, владеющая более чем 2 миллионами ETH на сумму 380 миллионов долларов;
  • одна из ведущих крипновалютных бирж Binance, 370 миллионов долларов;
  • биржа Bitfinex, менее 2 миллионов ETH.

LCS

LocalCoinSwap – децентрализованная платформа, предоставляющая пользователям возможность напрямую приобретать и продавать криптовалюту, пользуясь любым из доступных способов оплаты. LCS позволяет найти покупателя или продавца валюты и осуществить сделку без привлечения сайтов и кошельков. На платформе применяется традиционная система депонирования, в которой хранятся криптовалютные средства, подлежащие обмену. Когда оплата подтверждается покупателем и продавцом, система отправляет монеты покупателю. Платформа дает право получать дивиденды в соотношении 1 к 1 в конце квартала.

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

Для хранения токенов ERC20 можно использовать как аппаратные, так и электронные кошельки. Ниже приведены примеры таких кошельков.

Ledger

Ledger — французская компания, которая с 2014 года производит аппаратные кошельки для криптовалют. Кошельки Ledger представляют собой физические устройства, на которых хранится криптовалюта. Главные продукты компании — хранилища Ledger Nano S и Ledger Nano X, а также приложение Ledger Live. Модель Nano X новее и дороже, чем Nano S. Ledger Nano X поддерживает не только USB-подключение, но и соединение со смартфоном по Bluetooth. Аппаратные кошельки компании Ledger имеют защиту от взлома и возможность восстановления в случае потери.

MyEtherWallet

MyEtherWallet или MEW — кошелек для безопасного хранения монет, работающих на базе блокчейна Ethereum, появившийся в 2015 году. Помимо кошелька, разработчики также создали образовательный портал MEWtopia, обучающий пользователей взаимодействию с блокчейном. MyEtherWallet представлен в виде мобильного приложения MEW Wallet и расширения для браузера MEW CX. MEW Wallet — обновленная версия мобильного приложения MEW Connect с возможностью доступа к блокчейну Ethereum. Оно работает по принципу аппаратного кошелька, позволяет хранить, покупать и отправлять криптовалюту. 

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

Стандарт ERC-20 был создан первым. Начиная с 2017 года приходили сообщения, что он несовершенен и при транзакциях криптовалюта теряется.

Автоматическое выполнение контракта

В 2018 году разработчик Dexaran описал ошибку, которая ранее вызывала потерю миллионов долларов. Сделка завершается при успешной передаче, а при ошибке перевод средств должен быть отозван. Если ERC-20 работает со смарт-контрактами, в которых этот стандарт не поддерживается, транзакция зависает, приводя к замораживанию и утрате токенов.

Уязвимость BatchOverFlow

В 2018 году система, анализирующая перенос токенов объявила тревогу в связи с необычной сделкой: было перечислено гигантское число платежных средств. Результат проверки показал, что эта передача вызвана атакой «in-the-wild», использующей уязвимость в контракте. Сканирование и анализ подтвердили, что более десятка контрактов уязвимы для проблемы переполнения.

Уязвимость BatchOverFlow

Проблема с переполнением целочисленного типа заключена в функции batchTransfer.

В строчке 257 amount, переменная суммы — это умножение cnt на _value. Здесь _value — произвольное целое число размером 256 бит. Если параметр бесконечно большой, сумма переполняется и обнуляется. В этом случае хакер может успешно пройти проверку в строках 258–259 и отменить вычитание в строке 261.

Эта ошибка позволяла злоумышленникам создавать большое число токенов, отправлять их по обычному адресу и манипулировать рынком. После окончания проверки безопасности умных контрактов ERC20 команда проекта объявила, что установила защиту токенов от ошибки переполнения.

Простота развертывания

Развертывание токена становится технически простым. Простое создание цифровых активов делает ICO обычной процедурой, давая возможность провести ее командам, неспособным к выполнению обязательств перед инвесторами. В результате, начали появляться токены, которые используются с целью заработка на инвесторах, а не на развитии проекта. Приведем конкретные примеры.

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

В 2017 году Американская комиссия по ценным бумагам SEC выдвинула обвинение в мошенничестве основателям PlexCoin, которые привлекали инвесторов обещанием фантастической доходности в 1354% за 29 дней. PlexCoin обманывал инвесторов, цитируя выдуманных рыночных экспертов. Следствие установило, что из собранных средств 200 тысяч долларов основатели потратили на свои нужды.

В начале 2018 года основатель проекта Fantasy Market Джонатан Лукас сбежал. Он сумел привлечь более 4 миллионов долларов, обещая вложить их в разработку платформы, на которой токенами будет оплачиваться просмотр порно.

Еще один из ярких образцов мошенничества — проект Confido, выпустивший токены, собравший около 375 тысяч долларов, а затем удаливший все данные о себе.

Заключение

ERC20 — стандарт токенов сети Ethereum. Это официальный протокол компании для внесения предложений по совершенствованию блокчейна в сети. Протокол ERC20 упоминают как токен, или основу большинства токенов. Был создан в 2015 году для решения проблемы совместимости и поддержки. Стандарт ERC20 содержит 6 обязательных функций и 3 дополнительных, обеспечивающих создание единой базы кода.

После появления стандарта ERC20 рынок ICO стал быстро расширяться. Стало не нужно создавать для токенов стандарты совместимости с обменником, блокчейном, кошельком и DApps (децентрализованными приложениями с открытым кодом).

Чтобы создать свои токены на основе стандарта ERC20, необходимо открыть исходник ERC20 и внести свои изменения в код, написанный на языке программирования Solidity. Чтобы загрузить контракт в сеть, можно воспользоваться официальными клиентами — например, MetaMask. Токены отличаются от криптовалют тем, что в основе криптовалюты лежит блокчейн, а в основе токена — криптовалюта.

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

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

Токены, использующие стандарт ERC20: USDT Tether, WETH, LCS. Кошельки, поддерживающие токены ERC20: Ledger, MyEtherWallet.

Недостатки ERC20: автоматическое выполнение контракта, уязвимость BatchOverFlow, простота развертывания.

Рекомендуем почитать

Комментариев пока нет, добавьте свой отзыв ниже.


Добавить комментарий

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