Смартконтракти
Що таке смартконтракт?
Основні принципи смартконтрактів і блокчейна
- Визначення смартконтракту. Смартконтракти – це контракти, що призначені для автономного виконання й визначаються за допомогою комп’ютерного коду; найчастіше вони мають форму програм, побудованих на таких платформах, як блокчейн Ethereum.
- Смартконтракти порівняно з традиційними контрактами. Перевага смартконтрактів у порівнянні з традиційними контрактами полягає в одночасній незмінності й відсутності вимог до довіри. Це дає змогу заощаджувати ресурси, гроші й час, а також є потужним інструментом із безліччю потенційних сценаріїв застосування.
- Обмеження смартконтрактів. До числа обмежень смартконтрактів належать, зокрема, нездатність урахувати фактор суб’єктивності, складність удосконалення, що потребує консенсусу спільноти, і неможливість безпосередньо залучати дані реального світу без вимог до довіри.
Основні принципи смартконтрактів
Смартконтракт – це визначений комп’ютерною програмою контракт, який виконується автономно та в якому умови та виконання угоди вбудовані в незмінний код і записані в блокчейн.
Традиційно контракт – це угода між двома або кількома сторонами про обмін обіцянками та/або послугами, і часто ця угода складається з кількох частин. Наприклад, певна обіцянка, як-от грошовий платіж, може бути обміняна на іншу обіцянку або на послугу, або ж послуга може бути обміняна на іншу послугу.
Крім того, контракт може містити багато положень, які регулюють умови обміну, наприклад його час – чи виконується він негайно або має термін дії, – а також обставини, за яких він втрачає чинність. Саме через ці деталі деякі з найпоширеніших контрактів, як-от ті, що визначають умови кредитування й працевлаштування, є такими довгими.
У смартконтрактах частина «смарт» (від англ. smart – «розумний») означає лише те, що цей контракт виконується за допомогою комп’ютерного програмного коду, а не укладається на аркуші паперу або в якійсь іншій формі.
Термін «смартконтракт», який у 2020-х роках уже є досить звичним, був запропонований у 1990-х роках Ніком Сабо (Nick Szabo), юристом і спеціалістом із комп’ютерних наук, який був одним із перших прихильників криптовалют. У статті, опублікованій в 1996 році, Сабо визначив смартконтракт як «набір обіцянок, викладених у цифровій формі, включно з протоколами, відповідно до яких сторони виконують інші обіцянки».
Обіцянки смартконтрактів записуються у формі логіки типу «якщо-тоді», яка поширена в комп’ютерному програмуванні. Найкращим реальним прикладом функціональності «якщо-тоді» є торговий автомат, який Нік Сабо вперше використав, щоб проілюструвати роботу смартконтрактів. Якщо ви кладете в автомат 1 долар, він видає вам товар. Уся транзакція визначена заздалегідь програмою автомата без будь-якого зовнішнього впливу (людського або інституційного). Смартконтракти призначені для автономного виконання функцій в аналогічний спосіб.
Смартконтракти порівняно з традиційними контрактами
Згадайте, коли ви востаннє підписували традиційний контракт. Що вам знадобилося, окрім аркуша паперу й двох сторін, які укладали угоду?
Юристи часто відіграють важливу роль – спочатку для того, щоб скласти текст договору, а потім щоб забезпечити його правильне укладення. Якщо договір порушується, часто потрібен суддя, зал судових засідань та інші дорогі ресурси. У великих фінансових транзакціях, таких як купівля будинку, зазвичай використовується умовне депонування, тобто третя сторона утримує в себе кошти аж доти, поки перші дві сторони не виконають узгоджені умови.
Усі ці посередники й ресурси, необхідні для укладення угод із юридичними зобов’язаннями, мають свою ціну – не кажучи вже про довіру до цих установ, які повинні сумлінно виконувати свої обов’язки. Крім того, кожен ресурс, що використовується за таких умов, також потребує часу, а це означає, що на укладання контракту можуть піти дні або навіть тижні.
Фактично смартконтракти не залежать від цілої низки таких припущень і вимог завдяки кільком характеристикам:
- Незмінність – коли смартконтракт написаний і укладений, він уже не може бути змінений і, таким чином, стає постійним. Оскільки кожен із комп’ютерів, на яких працює блокчейн і які називаються вузлами, зберігає ідентичну копію контракту, будь-яка зміна контракту неможлива без консенсусу в мережі.
- Відсутність вимог до довіри – кожен смартконтракт також є самодостатнім, тобто не покладається для виконання своїх функцій на інших учасників, таких як юристи або фінансові установи. Завдяки усуненню зовнішнього впливу можна кожного разу очікувати ідентичного результату, не покладаючись на будь-яких зовнішніх учасників. Як наслідок, навіть найскладніші транзакції можуть виконуватися за лічені секунди або хвилини, коли в іншому випадку це зайняло б набагато більше часу.
Слід зазначити, що оскільки смартконтракти усувають посередників, вам не потрібно платити, покладатись на когось або чекати на їхнє виконання третіми сторонами, що за певних обставин робить цю технологію привабливішою альтернативою традиційним контрактам.
Що таке смартконтракти на блокчейні?
Смартконтракти – це серце й душа технології блокчейн.
Смартконтракти Bitcoin призначені для роботи на блокчейні Bitcoin: вони встановлюють конкретні правила проведення транзакцій і записують їх у публічний леджер.
Смартконтракти Ethereum спеціально створені для підтримки інших смартконтрактів (які також називаються програмами або децентралізованими програмами), що працюють поверх власних блокчейнів. Ці програми написані мовами програмування, які були спеціально розробленими для створення контрактів і називаються Solidity та Vyper.
Розглянемо приклад смартконтракту Ethereum із використанням Golem (GNT) – платформи, яка слугує ринком обчислювальних ресурсів. Смартконтракт Golem дає будь-кому змогу запитувати в спільноти обчислювальні ресурси за певну плату. Щойно мережа підтверджує надходження коштів від замовника й виконання завдань постачальником, умови вважаються підтвердженими й контракт виконується: замовник отримує обчислювальні ресурси від тих, хто їх запропонував, а плата в GNT автоматично переказується від нього на рахунки постачальників, які запропонували свої послуги. Якщо всі заздалегідь визначені умови не виконуються, то не виконується й контракт.
Обмеження смартконтрактів.
- Суб’єктивність – функціональність смартконтракту обмежена тим, що записано в його коді. Якщо в контракті є якийсь ступінь суб’єктивізму або він має бути гнучким, передбачити це в його структурі заздалегідь буде складно.
- Складно вносити зміни – якщо в коді є помилки або вразливості, для змінення контракту знадобляться великі зусилля з боку спільноти й консенсусна згода з боку вузлів мережі.
- Залучення реальних даних – смартконтрактам для виконання часто потрібні реальні дані, такі як вартість долара США, ціна акцій або місцезнаходження товару, що транспортується через різні країни. У той час як цю інформацію часто надають треті сторони, для її внесення в блокчейн із використанням позаланцюгових даних застосовується технологія оракула (як-от Chainlink або Band Protocol).
Почніть уже сьогодні
Якщо ви готові зробити наступний крок, натисніть кнопку нижче, щоб зареєструвати обліковий запис Kraken і почати працювати з протоколами смартконтрактів уже сьогодні!
Майбутнє смартконтрактів
Розробники лише почали досліджувати всю глибину можливостей, що пропонують смартконтракти в основі блокчейн-технологій. Кількість сценаріїв використання цих технологій зростає в геометричній прогресії, і багато хто бачить їхні перспективи в нових сферах, де наразі всі операції регулюються традиційними контрактами. Ось деякі приклади можливого використання: іпотека, управління цифровою ідентифікацією, логістика ланцюгів постачання, торгівля на фондовому ринку й цінні папери, списки розподілу органів для трансплантації, оренда й лізинг майна тощо.