У 2015 році, коли була запущена платформа Ethereum, мрія про універсальні обмінювані криптовалюти стала близькою, як ніколи. Вона дала можливість здійснювати транзакції будь-якої складності за чіткими і заздалегідь прописаними правилами — смарт-контрактами. Візантійські генерали нарешті змогли трохи розслабитися і зайнятися більш важливими, ніж війна, справами. Більш того, платформа була здатна працювати як маркетплейс з будь-якими видами інвестицій, такими, як криптовалюта, фінансові контракти, страховка або краудфандінг.
Саме смарт-контракти, вперше повністю реалізовані в Ethereum, відкрили абсолютно нові можливості щодо створення децентралізованих проектів та стартапів на основі технології блокчейн. Одним з таких стартапів був, наприклад, The DAO – платформа для пошуку проектів для інвестування. ICO цього проекту стало одним з найуспішніших в історії. Однак через помилки в вихідному коді $60 млн були вкрадені з мережі. Проте кількість нових криптовалют і проектів продовжувало зростати з експоненціальною швидкістю, а коди ставали все защищеннее від можливих атак.
Роль стандарту ERC-20
Незабаром після запуску платформи Ethereum стало зрозуміло, що для спрощення взаємодії криптовалютних проектів вони всі повинні використовувати один вид смарт-контракту. Першим таким смарт-контрактом став ERC-20. ERC (Ethereum Request for Comments) — це офіційний протокол внесення пропозицій щодо поліпшення мережі Ethereum, а 20 — ідентифікаційний порядковий номер пропозиції. Всі бажаючі розробники можуть вносити свої зміни до стандартів та в разі схвалення, протокол може бути прийнятий в середовище.
Стандарт ERC став визначати набір правил, які повинні бути дотримані для того, щоб токен був прийнятий і мав можливість взаємодіяти з іншими токенами в мережі. Самі токени являють собою блокчейн-активи, які можуть мати цінність, а також можуть бути відправлені й отримані як будь-яка інша криптовалюта. Код стандарту знаходиться у відкритому доступі на Github, і будь-яка людина, що має досвід програмування, може створювати токени ERC-20. Саме поява стандарту ERC-20 призвело до вибуху кількості стартапів на платформі Ethereum у 2016-2017 роках.
Принцип роботи стандарту ERC-20
Згідно з сертифікації, стандарт ERC-20 реалізує наступні функції:
- Ім’я (name) — функція, що містить назву сертифіката.
- Символ (symbol) — повертає значення рядка короткого символу токена.
- Розрядність (decimals) визначає число, на яке слід розділити значення суми підписання, для відображення. Просто це майбутня подільність криптовалюти.
- Загальний об’єм (total supply) визначає значення загального числа токенів.
- Баланс (balanceOf) показує баланс на рахунку гаманця, заданого параметром address _owner (де _owner – відповідний гаманець).
- Передача (transfer) реалізує передачу коштів у мережі деякої суми на певну адресу.
- Передача від (transferFrom) — передача токенів з одної вказаної адреси на іншу.
- Схвалення (approve) дозволяє виведення коштів з рахунку аж до максимально допустимої суми, переданої функції як параметр.
- Дозволену кількість (allowance) показує, скільки дозволено користувачам за адресою X вивести коштів з гаманця користувача з адресою Y.
Також стандарт передбачає два види подій:
- Передача (transfer) — подія переказу токенів між рахунками.
- Схвалення (approval) — подія, яка ініціюється при успішному виконанні функції approve, описаною вище.
Принцип роботи смарт-контрактів за стандартом ERC-20 гранично простий. При цьому він працює не як банківський переказ, де гроші списуються з одного рахунку і переказуються на інший. Власник електронного гаманця запускає процес трансферу якогось числа токенів, після чого в смарт-контракт відправляється директива про зміну власника зазначеної суми токенів, майже одночасно значення балансу відправника зменшується, а у отримувача поповнюється на зазначену суму. Тобто сторони угоди не взаємодіють один з одним, а зі смарт-контрактом. Це призводить до спрощення всіх мережевих операцій — немає потреби в тривалій звірки з базами даних, необхідно лише перевірити відповідність угоди до умов контракту.
Приклади проектів на основі ERC-20
Зараз 95% всіх ICO на платформі Ethereum використовують саме цей стандарт. Легко зрозуміти, що серед проектів можна знайти безліч бульбашок, шахрайських стартапів або просто незліченна кількість схожих, як близнюки, проектів, про які ніхто ніколи не дізнається. Але в цьому морі вже почали з’являтися великі риби, які заслуговують уваги.
Нижче наведемо приклади деяких таких проектів:
iEx.ec – платформа хмарних обчислень, яка ставить своєю метою об’єднання комп’ютерів в одну гігантську мережу обчислювальних потужностей, і планує знизити пороги входу для бажаючих отримати доступ до високошвидкісних обчислень. Буде найбільш корисною для нового покоління бізнесу.
RCN – мережа для p2p-кредитування, яка використовує блокчейн і смарт-контракти для прозорого проведення угод з участю гаранта. Гарантом виступає юридична особа з доступом до локальної юрисдикції та зафіксованої в блокчейн-реєстрі кредитної історії позичальника, який оцінює умови угоди і бере на себе частину ризику.
Wings – платформа для створення децентралізованих автономних організацій (ДАО), яка дозволяє окремим громадянам і організаціям висувати нову пропозицію на розгляд учасників спільноти, а також надає інструменти правового регулювання для компаній та фізичних осіб.
Серед інших відомих проектів на основі стандарту ERC-20 можна виділити Augur, Aion, BAT, Bancor, Civic, Decentraland, DigixDAO, FirstBlood, Gnosis, Golem, Iconomi, Matchpool, Po.et, Ripio, SingularDTV, Status, Storj, TAAS, TenX, Veritaseum, Viberate, WeTrust.
Проблеми при використанні стандарту ERC-20
Оскільки токени ERC-20 є смарт-контрактами, вони не можуть бути змінені після того, як їх запустили організатори ICO. Крім того, в них можуть виявитися баги і уразливості, які можуть призвести до втрати коштів (як у випадку з The DAO). Інша проблема полягає в тому, що токени можуть бути помилково відправлені на смарт-контракт іншого ICO. У цьому випадку, якщо смарт-контракт не передбачає таку ймовірність, токени будуть втрачені. За станом на кінець 2017 року таким чином було втрачено понад $3 млн.
Пам’ятаєте, як розвивався інтернет? Спочатку сайти створювали люди, віддані справі і ідеї вільно поширюваної інформації, а потім туди прийшли абсолютно всі і, відповідно, наповнили інтернет незліченною кількістю не завжди потрібних даних. Став від цього інтернет жахливим місцем, як передрікали песимістично налаштовані експерти? При наявності певних фільтрів – ні, це все-таки чудове місце і місцями навіть краще, ніж ми могли сподіватися. Приблизно те ж відбувається зараз з Ethereum, і завдяки відкритим кодам створювати криптопроекти на ньому може будь-який користувач. Це вже призвело до великої кількості схожих один на одного токенів і істотно ускладнює процес їх вибору інвесторами.
Ще одна досить серйозна проблема стосується масштабованості всієї платформи. На даний момент у мережі функціонує прийнятна кількість користувачів, але якщо вона різко зросте або раптом стане таким, як у системи Visa, вона ризикує стати дуже повільною. Як повідомив творець Ethereum Віталік Бутерін, команда платформи працює над цією проблемою.
Висновок
Введення стандарту ERC на платформі Ethereum стало справжньою подією в криптовалютному світі, так як дозволило звичайним людям створювати децентралізовані проекти, які потенційно можуть радикально змінити світ в майбутньому. ERC-20 викликав безпрецедентний бум ICO у 2016 — 2017 роках, став викликом традиційній економіці і змусив людей замислитися про походження власних цінностей, а інвесторів і представників влади нервово соватися на своїх стільцях.
Перспективи розвитку криптовалютного ринку і технології блокчейн зараз настільки вражають, що ми безсумнівно ще почуємо про різні види стандартів і нові поліпшення для них.