Смартконтракти — де і як вони використовуються

icon DAO
Фото - Смартконтракти — де і як вони використовуються
Смартконтракти – термін, тісно пов’язаний з ринком цифрових активів. Смартконтракти активно використовують у сфері децентралізованих фінансів (DeFi), за їх допомоги проводять голосування учасників у децентралізованих автономних організаціях (DAO).
Смартконтракт – цифровий аналог звичайних договорів, який автономно функціонує в середовищі блокчейну. Перевіряє виконання умов угоди усіма сторонами та проводить необхідні фінансові операції чи розрахунки, з використанням насамперед цифрових активів, зокрема криптовалют, токенів, цінних паперів, нематеріальних послуг, товарів у цифровому вигляді тощо. Операції відбуваються напряму між учасниками угоди без участі будь-яких посередників (нотаріуса, державних органів, банків тощо). 

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

Як створити смартконтракт

Смартконтракт – це комп’ютерний код, створений за допомогою таких об’єктно-орієнтованих мов програмування високого рівня, як Solidity, Vyper, Clarity, Move, Serpent, Fe та інших. Таких мов програмування вже декілька десятків на різний смак і під різні блокчейни. 

Код містить певний перелік точних інструкцій у форматі if-then, які автоматично виконуються за певних умов. Смартконтракт в режимі реального часу перевіряє настання тієї чи іншої умови і виконує певні операції, передбачені  алгоритмом «розумної» угоди. 

З огляду на те, що найпопулярнішою платформою для смартконтрактів залишається Ethereum, більшість мов програмування орієнтовані саме на цей блокчейн та дочірні екосистеми (Solidity, Vyper, Serpent та інші). 

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

У якому середовищі виконуються смартконтракти

Смартконтракти запускають до виконання у віртуальній машині (VM). Такий запуск означає те саме, що і набуття чинності звичайною угодою, скріпленою підписами сторін. 

На блокчейні Ethereum цю роль виконує EVM (Ethereum Virtual Machine – віртуальна машина Ethereum). Вона зберігає, керує смартконтрактами та контролює їх статуси, а також є платформою для виконання операцій з усіма цифровими активами на блокчейні Ethereum. За виконання смартконтракту, як і за будь-яку транзакцію, необхідно сплатити певну комісію у газ (Gas) – це внутрішня грошова одиниця у середовищі Ethereum. 

Кожен блокчейн першого рівня (L1) з можливістю створення смартконтрактів має власну віртуальну машину. Аналогічно функціонує NeoVM на блокчейні Neo та Trust EVM на блокчейні EOS. 

Які існують типи смартконтрактів

Існує декілька типів смартконтрактів: 

•  централізовані (з можливістю змінити частину чи всі умови угоди  після запуску); 

•  децентралізовані (без можливості внесення змін після запуску); 

•  комбіновані (діють одночасно з паперовими носіями); 

•  гібридні; 

•  відкриті (публічні); 

•  частково відкриті; 

•  приватні (повністю конфіденційні). 

Як відбувається обмін даними з реальним світом

Для обміну даними між криптовалютним та реальним світом використовуються оракули. Саме вони постачають смартконтрактам дані з відкритих джерел (баз даних, публічних реєстрів, звітності тощо) за допомогою відкритих API чи програмними методами. Оракули забезпечують не лише двосторонній зв’язок між смартконтрактами та зовнішнім світом, а й мінімізують підміну чи маніпуляцію даними ззовні. 

Гібридні смартконтракти створені таким чином, щоб, одночасно контролюючи умови, запрограмовані на блокчейні (on-chain), співставляти їх з даними, отриманими з-за меж блокчейну (off-chain). Саме на виконання запитів з боку гібридних смартконтрактів і «працюють» оракули. 

Де смартконтракти вже активно використовуються

Дуже широко смартконтракти використовуються в криптовалютній індустрії. За допомогою них керують емісією цифрових активів (випускають стандартизовані токени) та децентралізованими автономними організаціями (DAO), обмінюють активи на децентралізованих біржах (DEX). Смартконтракти є основою функціонування різних протоколів і децентралізованих додатків (dApps). 

В яких сферах потенційно можуть використовуватись смартконтракти

У майбутньому, за умови зміни законодавчої бази та широкого прийняття (легалізації) блокчейн-технологій урядами найбільш прогресивних країн, смартконтракти можуть використовуватися у таких сферах: 

•  обліку, розподілі та передаванні прав власності (у тому числі за  заповітом); 

•  операціях з цінними паперами/акціями/облігаціями тощо;

•  eCommerce; 

•  банківській сфері, кредитуванні та страхуванні; 

•  фінансовій звітності та бухгалтерії; 

•  оподаткуванні; 

•  медицині та сфері охорони здоров’я; 

•  виборчому праві (для проведення голосувань, виборів чи референдумів); 

•  IoT (інтернет речей); 

•  логістиці та перевезенні вантажів тощо. 

Переваги та недоліки смартконтрактів

 Як і будь-яка технологія чи програмне забезпечення, «розумні» контракти мають свої недоліки і переваги. 

Переваги:

•  економія часу та ресурсів (все повністю автоматизовано та контролюється на програмному рівні);

•  зменшення витрат (через усунення посередників);

•  відсутність людського фактору (нема помилок, затримки через виконавців тощо);

•  унікальність, незмінність та непідробність даних через використання блокчейну.

 Недоліки: 

•  наявність помилок та «дірок» у неякісному коді смартконтракту може призвести до хакерських атак та крадіжки активів; 

•  неможливість передбачити у коді усі умови і варіанти розвитку подій; 

•  неможливість передбачити та вчасно зафіксувати настання  форс-мажорних обставин; 

•  відсутність законодавчої бази для використання смартконтрактів.