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

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

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

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

Як працюють смарт-контракти?

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

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

Основні характеристики

Смарт-контракт найчастіше має такі характеристики:
  • Розподільність. Смарт-контракти реплікуються і розподілені по всіх вузлах мережі. Це одна з головних відмінностей від інших рішень, що використовують централізовані сервери.
  • Детермінованість. Смарт-контракти виконують дії, для яких вони призначені, після досягнення задоволених вимог. Крім того, результат завжди буде однаковим незалежно від того, хто виконує вимоги.
  • Автономність. Смарт-контракти можуть автоматизувати всі види завдань, працюючи як самостійно виконувана програма. У більшості випадків, якщо смарт-контракт не ініційований, він знаходиться "в бездіяльності" і не виконує будь-яких дій.
  • Незмінність. Не можна змінити процес роботи смарт-контракту після його розробки й активації. Зміни можуть бути внесені тільки в тому випадку, якщо розробники для цього реалізували певну функцію. Таким чином, можемо сказати, що смарт-контракти можуть забезпечити захист від зломів за допомогою доказу справжності.
  • Можливість налаштування. Перед реалізацією, смарт-контракти можуть розроблятися різними способами. У зв'язку з цим, дана технологія підходить для створення багатьох типів децентралізованих додатків (DApps).
  • Конфіденційність. Дві або більше сторони можуть взаємодіяти за допомогою смарт-контрактів, без знання і довіри один до одного. На додаток до цього, технологія блокчейн забезпечує точність і облік всіх даних.
  • Прозорість. Оскільки смарт-контракти засновані на публічному блокчейні, їх вихідний код доступний для кожного.
Переваги й варіанти використання

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

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

Недоліки смарт-контрактів

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

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

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

Незмінність, це добре в одних ситуаціях, але дуже погано в інших. Наприклад, коли децентралізована автономна організація під назвою «DAO» була зламана у 2016 році, хакери вкрали ETH на мільйони доларів через недоліки в коді смарт-контракту. Оскільки їх смарт-контракт був незмінним, розробники не змогли виправити код. В кінцевому підсумку це призвело до хардфорку, наслідком якого є друга ланцюжок мережі Ethereum. Простіше кажучи, одна ланцюг скасувала злом і повернула кошти законним власникам (це частина поточного блокчейна Ethereum). Інший ланцюжок вирішив не втручатися, ґрунтуючись на тому, що речі, які відбуваються в блокчейні, ніколи не повинні змінюватися (цей ланцюжок тепер називається Ethereum Classic).

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

Висновки

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

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