весілля

Що таке смарт-контракт?

Смарт-контракт (англ. Smart contract - "розумний контракт") - комп'ютерний алгоритм, призначений для укладання і підтримки самовиконуваних контрактів, здійснюваних в блокчейн-середовищі.

Такі контракти записуються у вигляді коду, що існує в розподіленому реєстрі - блокчейні, який підтримується і управляється мережею комп'ютерів. Простими словами, розумні контракти дозволяють обмінюватися активами, не вдаючись до послуг посередників.

У чому фішка смарт-контрактів?

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

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

Як з'явилися розумні контракти?

Перші ідеї смарт-контрактів були запропоновані у 1994 році Ніком Сабо. Він описав смарт-контракт як комп'ютерний протокол, який на основі математичних алгоритмів самостійно проводить операції з повним контролем над їх виконанням.

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

Широке практичне застосування смарт-контракти отримали з появою і розвитком проекту Ethereum. У 2013 році його засновник прийшов до висновку, що біткоін погано підходить в якості базового протоколу для смарт-контрактів, оскільки з самого початку не був спроектований під цю задачу. Згодом він вирішив створити з нуля найбільш підходящий для смарт-контрактів протокол.

Як працює смарт-контракт і які його обов'язкові елементи?

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

Обов'язкові атрибути смарт-контракту:

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

Які бувають смарт-контракти?

Залежно від ступеня автоматизації, смарт-контракти можуть бути:

  1. Повністю автоматизованими.
  2. З копією на паперовому носії.
  3. Переважно на паперовому носії, при цьому частина положень перенесена в програмний код (наприклад, коли автоматизовані тільки платежі).

Рішення на базі блокчейна знаходяться лише на ранній стадії розвитку. Технології тестуються і допрацьовуються, тому на практиці поки що не використовуються по-справжньому складні смарт-контракти. На сьогоднішній день переважна більшість смарт-контрактів відносяться до третього типу, де автоматизовані лише окремі аспекти угод, зокрема, обмін грошових коштів на майнові права. Приклад: покупка з використанням смарт-контракту квартири в Києві через децентралізований маркетплейс Propy (оплата проводилася в Ethereum, а продавець територіально знаходився в Нью-Йорку).

блокчейн

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

Потенційні можливості та сфери використання смарт-контрактів великі - від простого мультипідпису до операцій з похідними фінансовими інструментами. Мультипідпис (multisig, escrow) - найпростіший, класичний приклад смарт-контракту. З його допомогою не довіряючі один одному контрагенти можуть заморозити деяку суму монет в блокчейні таким чином, що в разі необхідності витратити цю суму, потрібні були підписи більше половини учасників.

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

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

Які переваги у смарт-контрактів в порівнянні з традиційними договорами?

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

Таким чином, серед основних переваг розумних контрактів можна виділити:

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

Чи є у смарт-контрактів недоліки?

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

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

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

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

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