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

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

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

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

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

Ідея з’явилася на світ ще у 1994 році, про неї вперше заговорив американський вчений Нік Сабо. У 1997 він описав принцип роботи смарт-контрактів у науковій статті. Його головна ідея — мінімізувати втручання третіх сторін й автоматизувати виконання прописаних домовленостей.

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

How does smart contract work?

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

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

Централізовані й децентралізовані

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

У смарт-контрактах із децентралізованим середовищем існує група валідаторів — для їхнього функціонування має бути створений протокол синхронізації баз даних. В ідеалі будь-хто може все перевірити і підтвердити.

Types of smart contracts

Смарт-контракти довільного програмування і повні за Тюрингом

Останні — це смарт-контракти за Тюрінгом — тобто такі, що дозволяють задати будь-які алгоритми для виконання умов: прописувати цикли, формули розрахунку ймовірностей та навіть створювати власні алгоритми електронного підпису. Саме такими є смарт-контракти на Ефіріумі.

Натомість на деяких платформах є кілька видів строго типізованих контрактів, кожному з яких відповідають певні параметри. Популярними прикладами будуть Bitshares і Steemit.

Також можна виокремити проміжний вид, коли певні схеми й алгоритми можна використовувати в довільному порядку.

Автоматизовані та ручні за способом ініціації

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

Найпопулярнішими сьогодні є смарт-контракти на Ефіріумі, ось декілька фактів про них:

  • На платформі Ethereum можна створити смарт-контракти з особливими умовами, параметрами, алгоритмами, але за кожен подібний елемент має бути сплачена додаткова комісія (Gas)
  • Вихідний код смарт-контракту, створений користувачем, завжди конвертується в спеціальний байт-код. До речі, для написання смарт-контрактів використовується мова Solidity
  • Смарт-контракти не ідеальні, Ефіріумні — теж. Багато недоліків спричинені саме людським фактором. У складних угодах трапляються помилки, які можуть призвести до викрадення коштів, заморозки рахунків чи навіть неочікуваного самознищення контракту

А взагалі смарт-контракти — це величезний стрибок вперед. Це спосіб швидко і безпечно встановлювати угоди між будь-ким. І хоч розробникам варто вирішити ще безліч нюансів, та все ж переваги розумних угод над традиційними — очевидні. Хтозна, чи за кілька десятків років ми згадаємо, що колись використовували папір і ручку, щоб підписати угоду, а не просто клацали пару разів мишкою комп’ютера...

Aдаптований переклад редакції "Що біткоїться".

Автор: DistributedLab.

"Що біткоїться" — це освітньо-медійний ресурс про криптовалюти, блокчейн і нові технології з гумором. Ранкові брифи щодня на Телеграм-каналі.

Коментарі