В чем суть токена по стандарту ERC-20 на блокчейне Ethereum

image

Со временем блокчейн всё сильнее проникает в нашу жизнь, и появляется необходимость понимать основные его технологии, в том числе работу децентрализованных приложений (dApps). Большинство dApps в данный момент создано на Ethereum, возможности которого гораздо более гибкие, чем выпуск привычных ERC20 токенов.

Зачем нужны стандарты

Внутри смарт-контракта (что это?) можно прописать уникальную механику токена. Он будет работать, но другие разработчики (и смарт-контракты) не смогут обращаться к нему с помощью универсальной логики. Пример: вы создали токен для игрового предмета (децентрализованный гейминг сейчас активно развивается) и хотите, чтобы он мог торговаться на маркетплейсах для игровых предметов (каком-нибудь таком). Но маркетплейсы не знают, как обращаться к функциям внутри вашего контракта, им нужен отдельный смарт-контракт, чтобы поддерживать ваш токен. На помощь приходят стандарты. Зная способы взаимодействия с ними, создатели других dApps заложили в код всё необходимое для работы с токеном на опредёленном стандарте.

Как появляются стандарты

Ethereum является open-source проектом (кстати, ERC — это Ethereum Request for Comments), поэтому логично, что новый стандарт токена может предложить любой пользователь. Если стандарт решает какую-то важную проблему, то он может стать официальным стандартом Ethereum (то есть попасть в этот список).

Взаимозаменяемые и не взаимозаменяемые токены

Отправной точкой для классификации стандартов токенов является их взаимозаменяемость или её отсутствие. Fungible (взаимозаменяемые) токены равны друг другу, их можно использовать в качестве валюты. Semi-fungible (на половину взамозаменяемые) токены почти неотличимы друг от друга, но всё-таки уникальны (пример: билеты в кинотеатре, стоимость может быть одна, но место у каждого точно уникальное) . Non-fungible (не взаимозаменяемые) токены полностью уникальны, токенизированный объект в единственном экземпляре (пример: объекты авторского права) . Eсли не узнаёте котёнка, то это одна из первых игр на Ethereum (и стандарте ERC-721), CryptoKitties.

Что такое ERC-20 токен?

Опциональные:

  • Token Name (имя токена);
  • Symbol (символ);
  • Decimal (количество знаков после запятой).

Обязательные:

  • totalSupply;
  • balanceOf;
  • transfer;
  • transferFrom;
  • approve;
  • allowance.

Запутались? Разберёмся в деле.

Что такое Эфириум вообще?

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

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

Благодаря этому Эфириум может поддерживать выполнение децентрализованных приложений (DApps). DApps построены на базе Эфириума и могут использовать ресурсы системы Эфира. Процесс не бесплатный, разработчики платят за использование ресурсов платформы монетами ETH, нативной валютой экосистемы.

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

Зачем были введены идентификаторы на основе Эфириума

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

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

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

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

В итоге это приводит к созданию новых стандартов для токенизации.

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

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

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

Самый популярный и востребованный маркер, это ERC20. С меньшим успехом пользуются другие идентификаторы, в частности ERC223, ERC-721 и ERC-777.

перейти

Что происходит после того, как смарт-контракт создаёт токен?

С этого момента в дело вступает ERC-20.

После создания токена его можно обменять, потратить или дать кому-нибудь ещё. ERC-20 — это универсальный язык экосистемы Эфириума, который как раз таки позволяет обменивать одни токены на другие.

Источник иллюстрации — Storify News

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

Аналогия ясна, но как именно это работает?

Рассмотрим подробнее каждый из вышеупомянутых параметров токена в нашем криптоказино.

Разработчики должны безукоризненно следовать правилам.

Начнём с опциональных параметров:

  • Token Name: Blu Chip;
  • Symbol: BLU;
  • Decimal: 2.

Почему именно 2? Мы хотим, чтобы наши токены можно было разделить до такой степени, чтобы минимальная ставка игрока была не ниже 0,01 BLU. Мы могли бы оставить ноль, и тогда минимальная ставка составила бы 1 BLU, так как в таком случае разделить токены нельзя. Для ясности дела не будем углубляться в эти детали.

Начнём с главных параметров. Что такое [totalSupply] ?

[totalSupply] идентифицирует общее количество созданных ERC-20 токенов.

Первая вещь, с которой нужно определиться — количество фишек. Скажем, на нашем покерном столе лежат 10 BLU на десять игроков.

Что насчёт [transfer] ?

[transfer] позволяет передать определённое количество токенов из их общего числа на кошелёк пользователя.

Перед началом игры каждый игрок должен получить свои BLU от дилера. Всем достаётся по одной фишке.

Для чего предназначена функция [balanceOf] ?

Функция [balanceOf] при вызове возвращает количество токенов на определённом адресе.

В первой раздаче пятеро из игроков взглянули на свои карты и решили пропустить этот раунд. Оставшиеся пять поставили по 0,5 BLU. Используя функцию [balanceOf], мы можем определить точное количество фишек на руках у каждого игрока.

Как я могу получить ERC-20 токены от других пользователей?

Функция [transferFrom] позволяет передавать монеты на другие адреса.

Хорошие новости! Наш игрок выиграл 2,5 BLU в первом раунде. Чтобы он смог получить свои фишки, мы воспользуемся функцией [transferFrom].

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

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

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

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

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

Можно ли подделать токен?

Не совсем, параметр [approve] проверяет каждую транзакцию относительно общего количества токенов.

Благодаря [approve] мы можем удостовериться, что ни один из посетителей не принёс с собой поддельные BLU.

Могу ли я как-нибудь соврать о количестве токенов на своём кошельке?

Нет.

Перед самой транзакцией функция [allowance] проверяет баланс пользователя. Если на нём недостаточно средств, она отменяет перевод.

В нашем заведении не выдают кредиты. Если у одного игрока есть всего одна фишка, он не сможет поставить 2 BLU на кон в следующем раунде.

Какими преимуществами располагает ERC-20?

Он делает всё проще.

Без стандарта ERC-20 разработчики могли бы использовать собственные правила и терминологию в коде монет. К примеру, одни обозначали бы общее количество токенов функцией [totalAmount], другие — функцией [totalNumber].

К тому же биржам тоже пришлось бы учитывать особенности каждого отдельного проекта. Благодаря ERC-20 новые токены можно автоматически добавлять на биржу, перемещать между кошельками и так далее. Этот стандарт также упростил задачу создания новых монет, что сделало Эфириум самой популярной платформой для ICO в 2017 году.

Кошельки для токенов BEP-2

Аппаратные

Некоторые токены BEP-2, включая BNB, поддерживаются криптовалютными кошельками Ledger и Trezor. В любой момент можно зайти на их сайты и посмотреть список поддерживаемых активов, который регулярно обновляется.

Онлайн (веб-кошельки)

Binance Chain Wallet – браузерный кошелек в виде расширения, по функционалу аналогичный Метамаск, но только ориентированный на работу с монетами стандартов BEP2 и BEP20. Быстро устанавливается, дает возможность удобного обмена с одного стандарта на другой. По умолчанию в кошельке присутствует только поддержка BNB, но любые другие токены перечисленных блокчейнов пользователь может добавлять и удалять вручную.

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

Таким образом, на Binance DEX Wallet можно хранить любые активы, которые есть в листинге данной биржи.

Десктопные

Мобильные

Кошельки Enjin и Mathwallet также подходит для управления токенами BEP-2.

А что насчёт проблем?

Стандарт ERC-20 не идеален.

В некоторых ситуациях токены могут быть уничтожены. Так происходит, когда их используют в качестве платёжного средства за смарт-контракты вместо Эфириума. Чтобы исправить проблему, комьюнити криптовалюты в данный момент работает над новым стандартом под названием ERC-223.

Источник иллюстрации — eCrypto

Сейчас он не совместим с ERC-20, поэтому разработчики пока могут использовать старый стандарт. Как только совместимость будет достигнута, большая часть проектов будет в состоянии мигрировать как раз на ERC-223.

В апреле 2021 года несколько бирж приостановили депозиты токенов на базе Эфириума из-за бага в функции batchOverflow. По словам экспертов, уязвимость была достаточно серьёзной и могла привести к созданию огромного количества токенов «из воздуха».

Стандарт ERC-777 и ERC-820

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

В одном случае рабочий вид ERC777 лучше, чем первоначальный вариант ERC-20, потому что в данном случае, он точно также, как и ERC-223 устраняет дефекты архитектуры дизайна, который в своё время привёл к потерям более $3 млн.

Это в свою очередь делает категорию ERC777 уникальным, за счёт внедрения широты диапазонов механизмов обработки транзакций.

Чтобы понять суть группы ERC777, необходимо сначала «забежать» вперёд и уточнить нюансы маркера ERC-820. В этой группе «Центральный реестр смарт-контрактов» устанавливается непосредственно в сети эфириум. Структура Реестра позволяет любому человеку «изучить» адрес смарт-контракта и проверить функции, которые он поддерживает.

Аналогичный Центральный Реестр используется и в ERC-777. Сам идентификатор также устанавливает совершенно обновлённый набор функций, а не повторяет тот же набор действий «передачи» и «одобрения», которые внедрены в ERC-20.

Вместо них программа группы ERC777 использует опцию «отправить», которая применима для передачи самого эфира.

Дополнительная важная опция для ERC-777 заключается в том, что она позволяет «одобренным операторам» дать положительное решение для смарт-контрактов, которые переносят жетоны от имени пользователей.

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

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

Однако, к сожалению, на сегодняшний день пока еще нет известных приложений, основанных с маркером ERC-777.

Поэтому нельзя привести достоверных фактов эффективного использования данного варианта.

Вполне возможно, в недалёком будущем можно судить результаты работы данной группы.

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

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

Обобщая ERC-777

  • Исключает ключевые недостатки ERC-20;
  • Полностью совместим с алгоритмом работы ERC-20;
  • Использует действия, предназначенные для передачи самого ETH, тем самым делая транзакции гладкими и безупречными;
  • «Одобренные операторы» получают больше возможностей для управления, и делает категорию клиентоориентированный на заказчика, чем ранее созданные варианты;
  • Возможна дополнительный выпуск токенов в сеть.

перейти

Ссылка на основную публикацию
Похожее