токен ERC-20

Що таке токени ERC-20

Останнім часом, одним з найбільш поширених методів залучення коштів на запуск і розвиток проектів в криптовалютній індустрії стали так звані первинні розміщення монет ICO. Більшість ICO використовують в якості платформи мережу Ethereum, або, якщо говорити більш точно, смарт-контракти цієї мережі. Під час проведення кампаній із залучення коштів, організатори ICO, зазвичай, приймають в якості оплати ETH або BTC, на заміну нараховуючи інвесторам токени. Найчастіше це токени стандарту ERC-20.

ERC (Ethereum Request for Comments) - це один зі стандартів ERC -офіційний протокол для внесення пропозицій щодо поліпшення мережі Ethereum; 20 - унікальний ідентифікаційний номер пропозиції. Технічні специфікації для токенів, що випускаються на блокчейні Ethereum, були опубліковані у 2015 році. Токени, що відповідають цим специфікаціям, відомі як токени стандарту ERC-20 і фактично є смарт-контрактами на блокчейні Ethereum. Незважаючи на те, що маркери ERC-20 функціонують в межах фреймворка, встановленого командою Ethereum, цей фреймворк досить широкий, забезпечуючи розробникам велику гнучкість при їх створенні.

Стандарт ERC-20 визначає набір правил, які повинні бути дотримані для того, щоб токен був прийнятий і мав можливість взаємодіяти з іншими токенами в мережі. Самі токени є блокчейн-активами, які можуть мати цінність, а також можуть бути відправлені й отримані як будь-яка інша криптовалюта.

Чим була викликана необхідність створення стандарту ERC-20

До появи стандарту ERC-20, існувало безліч проблем сумісності між різними формами Ethereum-токенів, кожен з яких мав абсолютно унікальний смарт контракти. Іншими словами, для того, щоб біржа або гаманець могли підтримувати токен, його творцям кожен раз було необхідно писати абсолютно новий код. Таким чином, підтримка зростаючого числа токенів ставала все більш проблематичною, займаючи надто багато часу. Для вирішення цієї проблеми і був створений стандартний протокол для всіх токенів.

Відмінність токенів ERC-20 від інших відомих криптовалют, наприклад, біткоіна або Litecoin, в тому, що вони прив'язані до мережі Ethereum, використовують прийнятий всередині цієї мережі формат адрес і відправляються за допомогою Ethereum-транзакцій. Відповідно, транзакції за участю токенів ERC-20 можна простежувати в оглядачі блоків.

скріншот

На перший погляд, така транзакція може виглядати порожньою, оскільки в полі "Value" нуль, проте кількість відправлених токенів (в даному випадку - OmiseGo) можна побачити в окремому полі.

Важливо розуміти, що токени ERC-20 не є повністю незалежними - як було сказано вище, в їх основі лежить блокчейн Ethereum, на розподілені обчислювальні можливості якого вони і покладаються у своїй роботі.

Для чого потрібні маркери ERC-20

Сценарії використання токенів ERC-20- найрізноманітніші. Наприклад, вони можуть слугувати як акції проекту, сертифікати, що підтверджують володіння активами, бали в програмах лояльності або як криптовалюта. Також можливі варіанти, при яких токени ERC-20 одночасно виконують кілька таких ролей.

Серед найбільш відомих токенів ERC-20 можна називати: 0x, Aragon, Augur, Aeternity, Aion, Binance Coin, BAT, Bancor, Civic, Decentraland, Dentacoin, DigixDAO, Dragon, District0x, EOS, FirstBlood, Gnosis, Golem, Iconomi, Kin , KuCoin, Kyber, Melonport, Matchpool, Numeraire, OmiseGo, Po.et, Raiden, RChain, Ripio, SingularDTV, Status, Storj, TAAS, TenX, TTron, VeChain, Veritaseum, Viberate, WeTrust, Wings і iExec RLC.

Стандарт ERC-20 передбачає шість обов'язкових і три опційних (але рекомендованих) параметри для будь-якого смарт-контракту.

Обов'язкові параметри включають в себе функцію totalSupply, яка відповідає за загальну емісію токенів, забезпечуючи неможливість створення нових токенів після досягнення максимального числа. Функція balance0f визначає початкову кількість токенів, приписаних до певної адреси. Зазвичай, це адреса, що належить організаторам ICO.

Також стандарт описує два методи переміщення токенів, необхідних для їх розподілу серед користувачів і можливості здійснення транзакцій. Так, функція transfer забезпечує передачу токенів користувачу, який інвестував в проект під час ICO; функція transferFrom необхідна для здійснення транзакцій між користувачами.

Крім того, необхідні ще дві функції для верифікації двох попередніх методів переміщення токенів. Функція approve служить для перевірки того, що смарт-контракт, виходячи із загальної емісії, може здійснювати дистрибуцію токенів, в той час як функція allowance необхідна для перевірки того, чи є на адресі достатній баланс токенів для відправки на іншу адресу.

Серед опціональних параметрів - визначення максимальної кількості дрібних цифр після коми (для порівняння, біткоін має вісім таких цифр - 1.00000000 BTC), назви токена і його символу.

Набір цих параметрів дозволяє біржам і провайдерам гаманців створювати єдину кодову базу, що взаємодіє з будь-яким смарт-контрактом ERC-20.

Чи є ризики під час використання токенів ERC-20

Оскільки токени ERC-20 фактично є смарт-контрактами, вони, незважаючи на всю свою ефективність, мають певні ризики. Наприклад, смарт-контракт не може бути змінений після того, як його ініціювали організатори ICO, також в ньому можуть виявитися баги і вразливості, які можуть привести до втрати коштів.

Історія Ethereum знає чимало подібних інцидентів - одним з найбільш відомих прикладів став злам The DAO у 2016 році. Для усунення його наслідків і повернення коштів, в мережі було проведено хардфорк, в результаті якого новий ланцюг продовжив існування під назвою Ethereum, а противники такого рішення зберегли старий ланцюг, оголосивши про створення Ethereum Classic.

Які інші проблеми можуть виникнути з токенами ERC-20

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

Крім того, одним з недоліків стандарту ERC-20 можна вважати те, що він робить можливість створення токенів досить тривіальною справою на технічному рівні. Це дозволяє багатьом проектам досить просто запустити ICO, що підтверджується і сукупною кількістю токенів - станом на 1 травня 2018 їх існувало вже близько 80 тисяч. Це веде до великої кількості схожих один на одного токенів, істотно ускладнюючи процес їх вибору інвесторами.

Інша проблема в тому, що токени можуть бути помилково відправлені на смарт-контракт іншого ICO. В цьому випадку, якщо смарт-контракт не передбачає таку можливість, токени будуть втрачені. Станом на кінець 2017 року, таким чином було втрачено понад $3 млн! Вирішити цю проблему покликано пропозицію ERC-223, що описує ситуацію, під час якої, не сумісна зі стандартом ERC-20 транзакція, відхиляється. Також можна очікувати, що певних змін в майбутньому зазнає і сам протокол ERC-20.

Фото: flickr.com
Обробка: Vinci