Разновидности токенов ERC
Эта статья будет посвящена общим стандартам токенов ERC и их отличиям друг от друга.
Одна из главных особенностей Ethereum — возможность создавать токены на блокчейне.
Токен — это единица учёта, не являющаяся полноценной криптовалютой (так как не имеет собственного блокчейна, но имеет гораздо более широкий спектр применения), предназначенная для представления цифрового баланса в некотором активе, иными словами выполняющая функцию «заменителя ценных бумаг» в цифровом мире. Токены представляют собой запись в блокчейне.
Что означает ERC?
ERC — это аббревиатура, обозначающая Ethereum Request for Comments. Это предложение, котороесоздается разработчиками сети Эфириум в форме меморандума, описывающего методы, поведение, исследования или инновации, применимые к работе платформы. После одобрения основными разработчиками и сообществом предложение становится стандартом.
Следовательно, в результате мы имеем набор стандартов или предложений (например, для токенов). Эти правила представляют собой набор функций, которые должен реализовывать смарт-контракт. В свою очередь, контракты, реализующие один стандарт, могут использоваться через единый интерфейс.
Рассмотрим самые популярные стандарты, а именно:
- ERC20
- ERC223
- ERC721
- ERC827
- ERC1155
- ERC777
ERC20
Это наиболее распространенный стандарт токенов. Он служит основой для многих DApp, работающих в настоящее время на платформе. Он популярен благодаря своей простоте и функциональности. Обычно он имеет шесть основных функций, которые включают в себя:
- Функция totalSupply — определяет количество токенов, которые будут созданы для распространения. осле достижения максимума смарт-контракт перестает их выпускать.
- Функция Transfer — выполняет перевод токенов с первичного адреса индивидуальным пользователям, которые решили приобрести их во время ICO.
- Функция TransferFrom — пользователь может передавать токены и обмениваться ими. Эта функция работает как посредник, который получает адрес вашего кошелька, получателя, сумму для отправки, а затем выполняет транзакцию.
- Функция balanceOf — отслеживает баланс токенов на каждом кошельке.
- Функция Approve — проверяет, остались ли токены у смарт-контракта.
- Функция allowance — гарантирует, что на неком адресе достаточно токенов для их пересылки на другой адрес.
С помощью этих 6 функций создание новых токенов и разработка для них платформ и кошельков чрезвычайно просты. Этот стандарт уже использовался тысячами различных проектов.
ERC223
Призван решить основную проблему стандарта ERC20. Из-за недостатков проектирования, люди могут послать токены на смарт-контракт, считая, что посылают их на обычный кошелек — таким образом пользователи необратимо теряли токены. В ERC-223 эта ошибка исправлена — здесь можно одной функцией (tokenFallback) переводить токены на смарт-контракты и кошельки.
Кроме того, с токенами ERC-223, в отличие от ERC-20, для перевода требуется одна операция, а не две, а значит, и вдвое меньше газа для его оплаты.
ERC721
Первое использование этого стандарта произошло в игре CryptoKitties. В ней игроки могут покупать, продавать и разводить цифровых котят. Котенок в этой игре является уникальным цифровым предметом коллекционирования.
Каждый из них имеет свою ценность, поэтому вы не можете использовать стандарт ERC-20 для котят. Вам нужен стандарт ERC-721, который позволяет создавать невзаимозаменяемые токены (non-fungible tokens), то есть в пределах одной платформы или экосистемы могут быть токены, имеющие разную стоимость.
Подробнее об особенностях этого стандарта читайте в статье.
Среди прочих проектов, созданных на основе стандарта ERC-721, стоит упомянуть: CryptoPunks, Decentraland, Rare Pepes, WePower и Cryptocup.
ERC827
Токен отличается максимально информативным функционалом, считается наиболее сильным конкурентом ERC20. Благодаря токену ERC827 может пересылаться не только определённое число криптовалюты, но и данные интересующей транзакции, а также, допускает передачу токенов и позволяет их тратить третьими лицами до тех пор, пока их владелец это одобряет. Это особенно полезно, когда нужно использовать токены повторно другими приложениями, такими как кошельки и биржи (стоит отметить, что при этом 3-я сторона не будет иметь доступа к приватному ключу - в данном случае, параметры безопасности блокчейна не нарушаются вовсе).
ERC1155
ERC-1155 является своего рода улучшенной версией ERC-721. Данный стандарт токенов был запущен создателями Enjin (социальная платформа для геймеров).
Так как любой токен выпущенный по стандарту ERC-20 идентичен другому токену (например, 1 ETH = 1 ETH), то мы, играя в игру, в которой находятся сотни тысяч различных предметов должны были бы выпустить тысячи различных ERC-20 со своим уникальным адресом, транзакционными сборам и т.п. Это стало бы не только очень затратно, но и нанесло бы ущерб самой игре, так как загруженность сети была бы огромной, ведь каждой ноде пришлось бы обрабатывать такое огромное количество данных.
Именно для этого и нужен токен стандарта ERC-1155, который позволит одновременно выполнить транзакцию, состоящую из групп таких элементов (внутриигровых предметов, скинов, навыков и т.п.), как взаимозаменяемых, так и неделимых одновременно. Такой стандарт токена объединяет в себе сразу оба стандарта ERC-20 и ERC-721. Таким образом, предметы записаны в одной транзакции с минимальным количеством информации, необходимой для отличия токена одного такого элемента от другого.
Например, если вы имеете доспехи, меч, золото и внутриигровые коллекционные карточки в какой-либо игре, вы сможете продать все эти элементы при использовании всего одной транзакции ERC-1155, экономя расходы на газ и обеспечивая более высокую скорость исполнения транзакций.
ERC777
Этот стандарт определяет новый способ взаимодействия с контрактами по токенам, оставаясь полностью совместимым с ERC20.
- Стандарт позволяет использовать одну транзакцию для работы со смарт-контрактами вместо двух, как это было в ERC20, что снижает накладные расходы всего блокчейна на эфире и уменьшает его нагрузку. Это работает, например, при обмене одного токена на другой.
- Также позволяет пользователю отклонять входящие токены с черного списка адресов (внесение в черный список адресов может быть вызвано различными причинами, такими как взлом или незаконная деятельность).
- Держатели токенов могут разрешать/запрещать передачу токенов другими операторами от их лица. Такими операторами могут выступать верифицированные контракты, такие как, например, биржи или автоматические системы взимания платы.
- Каждая транзакция содержит специальное информационное поле, которое может быть использовано оператором или держателем токенов в свободной форме для лучшей коммуникации и передачи данных.