З головного: що таке смарт контракт? Смарт контракт це програмний код на блокчейні, який виконує набір дій, про які домовилися залучені сторони. Смарт договір дійсно працює, хоча й обмежений поки у функціональності.
Зміст:
- Терміни про смарт контракт
- Принцип роботи розумного контракта
- Смарт контракт види
- Смарт контракт криптовалюта
- Приклади використання смарт-контрактів
- Бонус: для охочих навчитися створювати розумні контракти
Пасхалка: текст довгий, але всередині є інтригуюча історія.
– Cмарт контракт терміни
Смарт контракти – це комп’ютерні алгоритми, призначені для укладання та підтримки контрактів. Такий контракт пишеться у кодовій формі та виконуються на блокчейні.
Блокчейн є розподіленим реєстром даних і ведеться та керується мережею комп’ютерів. Детальніше про роботу блокчейну читайте у нашій серії статей.
Простими словами, блокчейн дозволяє смарт-контрактам виконувати складні правила та обмінювати активи, уникаючи послуг посередника. Щоб отримати повну картину, звернімось до прикладу на крипто ринку:
Трейдер знаходить покупця для одного зі своїх предметів. Тепер трейдер та покупець підписують контракт із зашифрованою в ньому логікою.
Як тільки покупець отримує свій товар, його платіж автоматично перераховується торговцю. Жодна зі сторін не повинна нічого робити: процес повністю автоматизований за допомогою коду.
Вони просто погоджуються з умовами та ставлять свої цифрові підписи в алгоритмі.
Інші нюанси також можна закодувати в смарт-контракт. Наприклад, якщо товар надійшов пошкодженим, торговець отримує лише частину суми. Отже, якщо стандартний юридичний договір буде включати умови відносин, що забезпечуються законом, контракт на основі блокчейну забезпечує взаємозв’язок між усіма залученими сторонами за допомогою коду та криптографії.
Як працює смарт контракт?
На відміну від юридичного договору, смарт контракт (поки) не має юридичної сили.
- Якщо хтось вирішить змінити зміст контракту, це побачать усі учасники мережі – ноди. Коли смарт-контракт виконує закодовану в ньому операцію (наприклад, переказує платіж), ця інформація оновлюється для кожної сторони. В результаті кожна сторона може стежити за процесом виконання контракту.
- Ноди перевіряють такі контракти як блоки. Якщо смарт контракт викликає сумнів (у разі зловмисної ноди), він може не потрапити до реєстру.
- Смарт-контракти можуть виконувати такі функції:
- Керувати домовленостями між користувачами
- Функціонувати як рахунки з декількома підписами (оплата надсилається лише тоді, коли всі ноди погодилися)
- Зберігати інформацію
Три головні фічі смарт контракта
Існує три особливості, що характеризують функціональність розумних контрактів:
- Детермінованість
- Обмеженість
- Ізольованість
Фіча #1: Детермінованість
Програму можна назвати детермінованою, якщо вона кожного разу повертає однакові результати на ввідні дані. Наприклад, якщо 2 + 2 = 4, тоді 2 + 2 завжди буде 4.
Фіча #2: Обмеженість
З математичної точки зору, ми можемо зіткнутися з «проблемою збою»: неможливістю зрозуміти, чи може певна програма виконувати свою функцію протягом заданого часу. Алан Тюрінг, якого вважають батьком сучасної інформатики, дійшов висновку, що немає шансів дізнатись, чи може дана програма закінчитися за певний час чи ні.
Це серйозна проблема для розумних контрактів, оскільки вони повинні дійти певного результату у визначений термін. Таким чином, існують заходи, що гарантують можливість розірвання договору. Одним із рішень є комісія — в Ефіріумі це gas. Коли кількість виконаних інструкцій досягає ліміт, контракт вичерпується. Інший приклад — це таймер: контракт розривається, коли досягається обмеження по часу.
Фіча #3: Ізольованість
У блокчейні кожен може завантажити смарт-контракт. Однак ці контракти можуть містити вірус або помилку. Щоб убезпечити весь блокчейн, украй важливо зберігати контракт ізольованим від усієї екосистеми. Існують спеціальні системи, які допомагають виконувати контракти в безпечний спосіб:
- Віртуальна машина на Ефіріумі
- Докер, як у Hyperledger Fabric
Історія створення смарт контракта
Розумні контракти були вперше запропоновані на початку 1990-х років Ніком Сабо, який і ввів цей термін. Відомий криптограф використовував його для позначення «набору обіцянок, зазначених у цифровій формі, включаючи протоколи, в яких сторони виконують ці обіцянки». У 1998 році цей термін був використаний для опису об’єктів на рівні служби управління правами системи The Stanford Infobus, яка була частиною Стенфордського проекту цифрової бібліотеки.
У 2014 році Віталік Бутерін, співзасновник платформи Ethereum, запропонував власну ідею щодо вдосконалення мережі Біткоїн. І вже за рік був запущений сам Ефіріум, який є платформою для впровадження цих самих удосконалень і дозволяє створювати автономні контракти.
У якийсь момент Біткоїн також почав передавати більше інформації за допомогою протокола Script, але він значно відстає від смарт контрактів, що є «повними за Тюрінгом» (тобто діють, як універсальний комп’ютер). Ethereum дозволив розробникам впроваджувати нові алгоритми та децентралізовані застосунки поверх блокчейну. Саме тому корпоративні контракти на блокчейні є наступним кроком у цифровій революції для бізнесу.
Як це не дивно звучить сьогодні, але в 2017 Республіка Білорусь видала Указ про розвиток цифрової економіки, ставши першою країною, яка легалізувала smart contracts. Білоруський юрист Денис Алєйніков вважається автором юридичного концепту розумних контрактів, представлених в цьому указі.
В 2018, Сенат США зазначив у своєму звіті:
Попри те, що смарт контракти можуть звучати по-новому, концепція вкорінена в основному договірному праві. Зазвичай судова система вирішує договірні суперечки та забезпечує виконання умов, але також часто існує інший метод арбітражу, особливо щодо міжнародних операцій. За допомогою смарт контрактів програма застосовує контракт, вбудований у код
Ряд американських штатів прийняли законодавство щодо використання розумних контрактів, такі як Аризона, Невада, Теннессі та Вайомінг.
– Види смарт контрактів
Контракти на блокчейні мають наступні атрибути:
- Використання методів електронного підпису (як токен ЕЦП) на основі відкритих та приватних ключів, доступних двом або більше сторонам угоди.
- Наявність приватного децентралізованого середовища (наприклад, Ефіріум), в якому пишуться ці контракти і яке підтримує ввід та вивід інформації для програм передбачення (спосіб пов’язати інформацію з реального та цифрового світів).
- Предмет контракту та наявність інструментів, необхідних для його виконання (криптовалюти для розрахунку, програми передбачення тощо).
- Точно описані умови його виконання, які сторони підтверджують підписом, а також надійність джерела цифрових даних.
Переваги смарт-контрактів:
Точність. Якщо контракт добре запрограмований, існує незначна ймовірність похибки.
Швидкість. Розумні контракти автоматизують процеси та не вимагають жодних операцій вручну.
Менше ризиків. Повторимось, що блокчейн – це розподілена база даних. Саме тому смарт контракти не тягнуть за собою ризики, витрати й інші проблеми юридичних угод.
Менше посередників. Такі контракти знімають або поступово зменшують роль постачальників довірчих послуг.
– Смарт контракт і криптовалюта
Ми достатньо згадували Ethereum? Розумний Ефір: розбираємось, що таке Ефіріум та ефір (ETH), з допомогою якого працює більшість смарт-контрактів. Однак це не єдина смарт криптовалюта. Ось платформи, які найчастіше використовують розумні контракти:
- Neo
- EOS
- Tezos
- Stellar
- Cardano
- Hyperledger Fabric
Ну що, готові купити смарт контракт?
– Приклади використання смарт-контрактів
Першим відомим кейсом використання смарт контракта у криптовалюті був проект Slock.it на базі мережі Ефіріум. Автори зазначали, що проект був таким собі Airbnb без посередників. Ви оплачуєте контракт ефіром і вуаля – отримуєте доступ до квартири. На певний час, звісно.
Спільноті ідея зайшла і почали збирати на те гроші. Це було одне з перших ІСО і перша ДАО (децентралізована автономна організація), вона так і звалась – The DAO. Але один хакер використав вразливість Ethereum, щоби 17 червня 2016 списати з рахунку The DAO мільйони доларів чужих грошей.
Цікавий факт: в імейлі, який розробник ДАО Emin Gün надіслав одному зі своїх аспірантів, раніше зазначив, що є розумний контракт з можливою проблемою. Гюн побоювався, що ця хиба може дозволити хакерам зробити необмежене зняття крипти. Для цього зловмисник повинен був стати інвестором ДАО, заплативши всього долар.
0xF35e2cC8E6523d683eD44870f5B7cC785051a77D – це адреса користувача, який здійснив атаку. Та як і все на блокчейні, це лиш анонімний рядок символів. Попри це, кожна адреса залишає історію у блоці, відкритому для спільноти. А щоб виконати атаку, хакер повинен був створити смарт-контракт, який би взаємодіяв із ДАО. Після активації атакуючий контракт почав надсилати приблизно 4000 доларів в ефірі через обліковий запис нападника кожні щочотири хвилини, аби спустошити ДАО…
Якщо коротко, це був перший та останній раз, коли блокчейн Ефіріума довелося відкочувати назад. Частина спільноти була категорично проти і так криптосвіт поповнився новим клоном – Ethereum Classic. Але про це іншим разом.
– Інші кейси застосування смарт контрактів
Фінансовий сектор має найбільший попит на смарт-контракти. Цікаво, що близько половини всіх банківських злочинів вчиняються нинішніми чи колишніми працівниками. Тому банки постійно переглядають можливі рішення щодо усунення людського фактора, включаючи технологію блокчейн. Впровадження смарт-контрактів може спростити ці процеси, тому найбільші гравці розпочали розвиток у цій галузі.
Як доказ, консорціум R3 залучив більш як півсотні фінансових інституцій, а також провідні світові банки та розробляє платформу під назвою Corda. З допомогою Корди, оптимізованої для фінансового сектору, понад 15 банків-членів розробили прототип смарт контрактів для своїх операцій. Наприклад, Barclays використовує такі контракти для автоматизації платежів та зміни власника транзакції. HSBC і Bank of America замінили акредитиви на розумні контракти.
Розумні контракти можуть змінити спосіб ведення бізнесу. Вони внесуть радикальні зміни шляхом прискорення транзакцій, скорочення бюрократії та підвищення загальної сукупної ефективності. Багато галузей, таких як музика, мистецтво, фінанси, роздрібна торгівля, нерухомість, телекомунікації та ланцюги поставок, можуть отримати значну користь від використання смарт-контрактів. Однак справжній потенціал смарт-контрактів доки не доступний через обмеження інфраструктури: вона ще просто не існує.
– Bonus: Розробка смарт контрактів
Якщо вас зацікавила тема блокчейн розробки, продовжіть свою освіту з блокчейн академії Binance Academy. Щоб отримати докладнішу інформацію про смарт-контракти та колосальний перелік ресурсів, ви можете звернутися до статті Хасиба Куреші. А якщо ви вже почали кодити, перегляньте список відкритих задач, що стосуються смарт контрактів на OpenZeppelin.