Історія появи технології
Принцип функціонування смартконтрактів розробив американський криптограф Нік Сабо. Приблизно у 1994 році він прийшов до думки, що є теоретична можливість застосувати цифровий децентралізований реєстр для укладання контрактів, що виконуються автоматично. На той момент його ідея була надто футуристичною, тому її ніхто не реалізував. Лише у 2005 році були зроблені спроби створити алгоритм цифрового активу Bit Gold, який називають «чернеткою Біткоїна».
Концепція роботи блокчейна, яка вперше була реалізована в Bitcoin, полягає у зберіганні всього ланцюжка даних. Причому реєстр з повним переліком проведених операцій зберігається не на центральному сервері у третьої сторони, а у кожного учасника мережі (нода). Це стало основою реалізації ідеї смартконтрактів. Зокрема, з’явилася можливість переглянути будь-яку інформацію про транзакції за всю історію існування платформи. Другою перевагою стала безпека: навіть якщо частина блокчейна буде виведена з ладу, дані легко відновити завдяки повним копіям, які зберігаються в інших користувачів.
Однак реалізувати смартконтракти в Bitcoin не вдалося: ця функція була свідомо обмежена розробниками мережі. Тому першим в історії став смартконтракт Ethereum у 2013 році. Розробник Віталік Бутерін, використовуючи мову Тюрінг, створив децентралізований блокчейн із можливістю програмування різних варіантів зберігання. Правило одне: для повноцінної реалізації контракти мають відповідати чітким математичним умовам. Наразі смартконтракти функціонують і на інших блокчейнах: Codius, Counterparty, Solana.
Як працюють віртуальні машини блокчейнів
Для функціонування віртуальних машин потрібні низькорівневі мови — так звані байт-коди. Їх застосування в першу чергу виправдане підвищеною швидкістю інтерпретації: віртуальні машини сприймають байт-код оперативніше, ніж команди, прописані високорівневими мовами. Для розуміння наведемо умовний приклад на основі простої арифметичної дії:
- низькорівнева мова: 3+3=6;
- високорівнева (варіант №1): три плюс три дорівнює шість;
- високорівнева (варіант №2): Якщо Скласти три І три, Отримаємо шість;
- високорівнева (варіант №3): результатом підсумовування трійки та трійки буде шістка.
Читаючи приклади високорівневою мовою, ми все одно в розумі перекладаємо їх у простіший і зручний формат: 3+3=6. Те ж саме відбувається і в програмуванні: компілятор перетворює високорівневу мову на простий байт-код. Досвідчені розробники блокчейнів використовують спеціальні низькорівневі мови.
Види смартконтрактів
Смартконтракти класифікують за:
- середовищем створення: централізовані та розподілені проєкти;
- видом ініціювання: встановлені та обмежені;
- ступенем таємності: відкриті, частково-відкриті та конфіденційні;
- ступенем автоматизації: автоматизовані (працюють без паперових носіїв), часткові (потрібна копія контракту на папері).
Простий смартконтракт з однією точкою входу
Функції, які користувачі задають у смартконтракті, називаються точками входу (введення), а значення, що повертаються — виведенням. Точка входу є ключовою функцією контракту, оскільки вона відповідає за вхідні транзакції та активує інші необхідні дії. У такого смартконтракту можлива активація лише послідовності функцій. Тобто така цифрова угода не призначена для виконання кількох завдань. Наприклад, контракт не зможе прийняти платіж та надіслати його.
Смартконтракт з кількома точками входу
Щоб розширити кількість функцій, розробники доповнюють точку введення кількома псевдоточками. Кожна з них прив’язана до конкретної функції, а спеціальний оператор пояснює віртуальній машині, яку з них потрібно викликати в конкретній ситуації. Це розширює можливості цифрових угод.
Переваги та недоліки розумних контрактів
Ключова перевага смартконтрактів полягає в автоматизації рутинних процесів. Це дозволяє повністю нівелювати такі фактори ризику, як «людський чинник», а також вплив третьої сторони. Загалом у технології такі плюси:
- Робота без посередників. Можна провести угоду, повністю або частково позбавившись контролю та участі третіх осіб. Це виключає ризики маніпуляцій, підвищує безпеку, робить операції прозорими, а витрати на їхнє проведення — низькими;
- Прозорість. У буквальному значенні кожна зі сторін угоди має доступ до перевірки правильності виконання умов, без будь-яких обмежень;
- Безпека. Дані про здійснення смартконтракту та умови містяться в реєстрі. Завдяки цьому вдається майже повністю виключити ризики шахрайства та маніпуляцій. Щоб контракт «закрився», кожна сторона має чітко виконати умови;
- Перспективність. Нині головний об’єкт, для якого ініціюють смарт контракт, — це криптовалюта. Але вже є напрацювання та напрямки для ширшого використання технології. Це сфери державного управління, охорони здоров’я, логістики та багато інших;
- Зниження витрат. Технологія нівелює фінансові ризики та не вимагає додаткових витрат на послуги третьої сторони.
Недоліки смартконтрактів:
- Немає правового обґрунтування. Юридичний статус смартконтрактів не визначено, і це обмежує їхнє використання за межами криптовалютної сфери;
- Складність налаштування. Потрібно прорахувати всі можливі варіанти подій та створити правильний алгоритм;
- Відсутність довіри. Люди, не пов’язані впритул з блокчейном і цифровими валютами, неспроможні уявити, як можна довірити угоду математичним алгоритмам, і діяти без посередників. Але це здебільшого проблема еволюції технології;
- Ризик помилки при оформленні. «Людський чинник» таки може проявитися під час підготовки договору: на етапі, коли треба переводити правові норми в алгоритми. Будь-яка помилка може нівелювати угоду і навіть викликати додаткові проблеми;
- Математична точність. Це і перевага, і проблема технології. Смарт контракт не передбачає форс-мажорів: йому потрібно працювати за чіткими параметрами;
- Наближеність до цифрової валюти. Це обмежує технологію, тому що дуже багато людей не довіряють криптоактивам і не хочуть розбиратися з ними.
Висновки
Принцип роботи смартконтрактів відносно новий, тому ще проходить стадії розвитку, популяризації, виправлення недоліків. Але вже зараз очевидно, що для технології смартконтракт криптовалюта — не межа. Якщо знайдуться можливості підвести під цей принцип юридичні норми, цифрові угоди можна використовувати у сфері фінансового документообігу, для операцій з акціями, зберігання даних, відстеження ланцюжків постачання, ідентифікації особистості та інших напрямів.