Что такое токены стандарта ERC-20?
Токены ERC-20 стандарта — это монеты, разработанные и используемые исключительно на платформе Ethereum. Их можно обменивать на другие монеты или передавать в крипто-кошелек. Сообщество Ethereum создало эти стандарты с тремя необязательными правилами и шестью обязательными.
Необязательные правила:
- Token Name (название токена)
- Symbol(символ)
- Decimal (Десятичный) (up to 18)
Обязательные правила:
- totalSupply (общий объем предложения)
- balanceOf
- transfer
- transferFrom
- approve (одобрить)
- allowance (надбавка)
Это сложно для восприятия? Давайте разбираться подробнее.
Что такое Эфириум, в первую очередь?
Ethereum — это децентрализованная сеть компьютеров с двумя основными функциями.
Это: blockchain, который может записывать транзакции, и виртуальная машина, которая может создавать смарт-контракты.
Из-за этих двух функций, Ethereum может поддерживать децентрализованные приложения (DApps). Эти DApps построены на существующей блокчейн платформе Ethereum. В свою очередь, Ethereum расходует вычислительную мощность в своей сети, которую можно оплатить только в эфире, единственной межплатформенной валюте.
В зависимости от своей цели, DAPP могут создавать маркеры ERC-20 для функционирования в качестве валюты, доли в компании, для очков в программе лояльности или даже доказательства владения, например, количества золота или документов в доме.
Как умные контракты вписываются во все это?
Смарт-контракты используются для создания токенов ERC-20. Они также используются для облегчения транзакций токенов и записи остатков монет на счете.
Смарт-контракты написаны на языке программирования «“Solidity” (Солидность) на основе логики If-This-Then-That (IFTTT).
Представьте это на примере торгового терминала:
Что происходит после того, как смарт-контракт создает токен?
Именно здесь приходит ERC-20. После того, как маркер был создан, он может быть продан, потрачен или передан кому-то другому.
ERC-20 является универсальным языком, который используют все токены в сети Ethereum. Это позволяет одному токену торговаться с другим.
Предположим, мы хотели сделать крипто-казино. Мы хотим, чтобы наши игроки использовали наши фишки для простоты.Таким образом, игрок обменивает свои деньги на наши жетоны и направляется к покерному столу.
Аналогия понятна, но как именно это будет работать в блокчейне?
Давайте рассмотрим каждый из правил для ERC-20 в нашем примере с крипто-казино. Они очень важны для разработчиков.
Начнем с необязательных правил:
Название токена: Blu Chip
Символ: BLU
Десятичная: 2 *
* Мы хотим, чтобы наши токены были делимыми, чтобы ставка минимальных игроков была 0,01 BLU. Мы могли бы оставить десятичное число в 0 и сделать 1 BLU минимальным или поднять десятичное значение до 18, в результате получим .000000000000000001 BLU наименьшее возможное деление, но давайте сделаем это проще.
Теперь к обязательным правилам: что такое «totalSupply»?
«TotalSupply» (общий объем предложения) идентифицирует общее количество маркеров ERC-20. Первое, что нужно нашему казино, — это общее количество токенов BLU в обращении. Скажем, наш покерный стол имеет в общей сложности 10 BLU с десятью игроками.
Как понять правило «transfer»?
[Transfer] позволяет передать определенное количество токенов из общего источника в учетную запись пользователя. Прежде чем игра начнется, игроки должны получить BLU от дилера. Каждый игрок получает 1 BLU.
Как понять правило «balanceOf»?
Когда функция [balanceOf] выполняется, она возвращает количество токенов, которые имеет данный адрес в своем аккаунте.
В первых рядах нашей игры в покер, 5 игроков посмотрели на свои карты и решили не играть. Каждый из оставшихся 5-ти решил сделать ставку — 5 BLU. Используя [balanceOf], мы видим, что у пяти игроков есть 1 BLU, а у пяти есть .5 BLU.
Как я могу получить токены ERC-20 от других пользователей?
[TransferFrom] — это функция, которая позволяет пользователю передавать токены другому пользователю.
Хорошие новости! Вы выиграли из первых рук и получили 2,5 BLU от других игроков. Но для того, чтобы взять это от них, вам нужно [transferFrom]. Без этого, что должно остановить кого-то другого от кражи вашего BLU?
Есть ли способ сделать поддельный токен?
Не совсем, потому что правило [approve] (одобрить) проверяет транзакцию на общий запас токенов. Это правило гарантирует, что нет никаких недостающих или дополнительных токенов.
Другой способ защитить целостность нашей гипотетической игры в покер — убедиться, что никто не принес дополнительный BLU к столу. Таким образом, [approve] позволяет обмен, проверяя, что общее количество BLU на таблице равно 10.
Могу ли я лгать и говорить, что у меня есть больше токенов, чем я имею в действительности?
Нет! Перед выполнением транзакции функция [allowance] (надбавка) проверяет баланс учетной записи пользователя и отменяет транзакцию, если имеется недостаточно токенов.
Мы не разрешаем кредит в нашем «крипто-казино», поэтому нам нужно убедиться, что у каждого игрока достаточно BLU, чтобы сделать ставку. Если у них только 1 BLU, то они не могут поставить 2 BLU.
Каковы преимущества ERC-20?
Принцип действия ERC-20 простой. До маркеров ERC-20 разработчики могут использовать другую терминологию в коде — например, один токен использует [totalAmount], а другой использует [totalNumber].
С универсальным стандартом новые токены могут быть переведены на биржу или переведены на кошелек автоматически, как только он будет создан.
ERC-20 также упрощает создание новых токенов, и именно поэтому Ethereum стал самой популярной платформой для ICO в 2017 году.
Есть ли проблемы с ERC-20?
ERC-20 не идеален. Есть некоторые проблемы, которые не устраняют стандарты токена ERC-20.
Бывают ситуации, когда токены могут быть непреднамеренно уничтожены, когда они используются в качестве платы за смарт- контракт, а не за использование эфира.
Чтобы исправить эту ошибку, сообщество Ethereum в настоящее время работает над новым стандартом под названием ERC-223. Однако эти стандарты не совместимы с ERC-20, поэтому разработчикам рекомендуется продолжать использовать ERC-20 до тех пор, пока не будет реализована совместимость.
В апреле 2018 года несколько бирж приостановили токены и сняли токены из Ethereum из-за ошибки batchOverflow. Она описывается как «проблема с переполнением целочисленного числа» и может потенциально позволить злоумышленнику «обладать огромным количеством токенов».
Было отмечено, что в настоящее время нет традиционного подхода к обеспечению безопасности для устранения этих уязвимостей.
Какие есть уже реальные примеры?
Каждый токен на платформе Ethereum является маркером ERC-20.
Давайте посмотрим на некоторые из них:
- EOS (EOS), в настоящий момент пятая по величине криптовалюта с почти 12 млрд.$ на рынке, пытается построить сеть, которая может использовать межблочную связь.
- TRON (TRX) занимает 10-е место среди всех криптоконверсий на момент написания статьи и описывается как «протокол с открытым исходным кодом для индустрии цифровых развлечений». Он нацелен на создание платформы контента с экосистемой, соединяющей всех людей, создающих различные виды содержание.
- «Enterprise level public blockchain platform» VeChain (VEN), 15-я криптовалюта с точки зрения рыночной капитализации, планирует внедрить технологию Internet of Things (IoT) для предоставления секретных ключей для каждого продукта, которые позволяют отслеживать их.
Читайте также: Coinbase купили биржу и проведут ребрендинг
Кстати, вы можете подписаться на наш Telegram канал @Incrypted_net и получать новости максимально оперативно. В мире криптовалют и блокчейн все решают новости. А выигрывает тот, кто получает их раньше всех.
______________________________________________
Подписывайся, чтобы не упустить ничего важного!