bitcoin
$9.364,97
0,21%
ethereum
$243,18
0,88%
tether
$1,00
0,03%
ripple
$0,19
0,47%
bitcoin-cash
$243,73
0,68%
bitcoin-cash-sv
$196,00
-0,72%
cardano
$0,11
1,04%
litecoin
$44,33
0,48%
eos
$2,62
-0,11%
crypto-com-chain
$0,14
0,09%
binancecoin
$16,46
1,10%
chainlink
$5,38
0,38%
tezos
$2,46
0,74%
stellar
$0,07
0,06%
okb
$5,13
-0,22%
tron
$0,02
0,09%
leo-token
$1,22
0,97%
monero
$64,99
0,27%
usd-coin
$1,00
-0,16%
huobi-token
$4,27
0,58%
vechain
$0,01
0,56%
neo
$10,59
0,80%
ethereum-classic
$6,13
-0,48%
iota
$0,25
0,15%
dash
$70,66
0,55%
cdai
$0,02
-0,35%
compound-governance-token
$193,56
-1,17%
cosmos
$3,04
1,15%
zcash
$55,71
0,12%
compound-usd-coin
$0,02
-0,22%

Что такое токены ERC-20 и какие их отличия от криптовалют

Как появляется токен и чем он отличается от криптовалют
91
3
0

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

Одним из наиболее популярных методов привлечения средств на запуск и развитие проектов в криптоиндустрии стало размещение монет – ICO. В качестве платформы пользователи выбирают обычно удобную для этого платформу ethereum. Что нужно жителю криптовалютного мира от платформы? Конечно, речь идет о смарт-контрактах этой сети. При проведении кампаний по привлечению финансирования организаторы ICO принимают оплату в виде ethereum или bitcoin. Взамен инвесторам начисляются токены, чаще всего ERC-20.

Родная платформа валюты ethereum – Ether. Кроме Ether, платформа поддерживает и другие токены, которые тоже являются криптовалютами.

Как же появляется токен ERC-20?

Для чего нужны данные токены? ERC-20 появляется с помощью смарт-контракта, который отвечает не только за создание токена, но и за проведение транзакций, отслеживание баланса владельца. Чтобы получить несколько ERC-20, необходимо отправить монетой Ether смарт-контракт, который выдаст пользователю необходимое количество ERC-20 (других токенов). 

Если у пользователя есть желание создать свой токен, необходимо создать смарт-контракт, который создает tokens, проводит транзакции и отслеживает баланс получателей. Звучит очень просто, однако все операции очень рискованны. Почему? Ведь однажды созданный смарт-контракт уже никак не может быть изменен. Такая ошибка может привести к тому, что через нее можно будет красть токены.

Каждый токен может иметь абсолютно разные условия, прописанные в смарт-контракте. Если вы хотите сделать ваш токен доступным для торговли и обмена, то вам необходимо создавать уникальный код, который будет взаимодействовать с вашим смарт-контрактом и давать людям доступ к обмену. То же касается и online wallet. Каждый кошелек, который захочет поддерживать ваш token, будет вынужден писать код для взаимодействия со смарт-контрактом.

Поддержка сотен tokens с различными условиями и смарт-контрактами весьма проблематична. Собственно, поэтому и были созданы ERC-20. Ethereum request for comment имеет приписку 20 просто потому, что этот номер был присвоен во время создания стандарта. Ethereum request for comment-20 – это директива,определяющая шесть обязательных функций для смарт-контракта, которые обязаны быть присвоены при создании нового токена.

Чтобы начать работать с ERC-20, необходимо сначала выбрать название токена, а потом и его символ – Civic и CVC.

Обязательные функции при создании токена:

Обязательные функции при создании токенов img-responsiveОбязательные функции при создании токенов
  • TotalSupply – указать максимальное количество выпускаемых токенов. Когда лимит будет достигнут, смарт-контракт прекращает выпуск новых;
  • Decimals – указать параметры, которые определяют количество цифр после запятой для токена;
  • BalanceOF – записывает баланс держателей токенов;
  • Трансфер – берет токены из общего количества и перечисляет их пользователю; 
  • Трансфер From – используется для передачи токенов между двумя пользователями;
  • Aprove – проверяет информацию о том, сможет ли смарт-контракт дать пользователю определенное количество токенов;
  • Allowance – проверяет, имеется ли достаточно токенов, чтобы отослать их кому-нибудь другому.

Если пользователь хочет, чтобы его токеном был ERC-20, важно использовать все указанные шесть функций при построении смарт-контракта. До создания данного стандарта все токены сильно отличались друг от друга. К кошелькам создавались разные приложения, поэтому необходимо было писать уникальный код для каждого токена. Со стандартом ERC-20 это требование отпало и к кошелькам создали всего один уникальный код для поддержки всех токенов. Это упростило все!

Таким образом за последние несколько лет удалось создать достаточное количество онлайн кошельков – ledger nano s, trezor, mytherwallet, metamask, coinomi, trust, которые поддерживают все ERC-20 токены без какого-либо обновления. 

Какие риски в использовании ERC-20?

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

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

Некоторые проекты выпускают в сети базовые принципы стандарта странным образом, что создает настоящую неразбериху в момент определения специфики работы их токенов. К примеру, два года назад из-за того, функциональность смарт-контрактов не предусматривала, что токены могут быть направлены smart contracts в других ICO – было утрачено больше трех миллионов долларов: $685 тыс. – EOS, 190 тыс. – Tronix, 170 тыс. – DGD, 100 тыс. – OMG, 80 тыс. – ZRX, 70 тыс. – GNT, 50 тыс. – STORJ. Инвесторы пытались просто внести депозиты через трансфер и столкнулись с багом, который отправил их деньги в пустоту. Хотя особо и не говорят о том, что деньги потеряны навсегда, но по факту так и есть.

Почему происходит путаница функций transfer и transferFrom?

ERC-20 явно не хватает инструментов для обработки транзакций. Их запуск осуществляется автоматически. Это происходит даже тогда, когда не должно в принципе. Например, инвестор хочет принять участие в ICO и отправляет ETH по определенному адресу. А вот разработчики принимают только биткоины, поэтому транзакция будет отклонена. Операция может быть проведена успешно только в том случае, если инвестор отправит в ICO токены стандарта ERC-20. Деньги будут списаны со счета и отправятся прямо по назначению. Но если речь идет об отправке ETH, а принимаются только BTC, то монеты просто уйдут в никуда. Они затеряются где-то в blockchain и вернуть их будет невозможно.

Все упомянутые проблемы происходят из-за несогласования работы функций transfer и transferFrom. Transfer специализируется на том, чтобы токены отправлялись по конкретному адресы. TransferFrom используется для отправки переводов внутри системы и депозитов. TF актуален для участия в ICO и его нужно обязательно комбинировать с approve, который  осуществляет проверку, может ли получатель принять tokens.