Що таке смарт-контракт і які його особливості?
Смарт-контракти являють собою комп'ютерний код, у якому прописані всі умови обміну між сторонами. Угода укладається на базі блокчейн, а її об'єктом може слугувати будь-який актив.
Такі контракти записуються у вигляді коду, що існує в блокчейні, який підтримується і управляється мережею комп'ютерів. Простими словами, розумні контракти дають змогу обмінюватися активами, не вдаючись до послуг посередників. Крім того, такі транзакції є відстежуваними, прозорими і незворотними.
-
Обов'язкові атрибути Смарт-Контрактів:
- Використання методів електронного підпису на основі публічних і приватних ключів, наявних у двох або більше сторін угоди.
- Наявність приватного децентралізованого середовища (наприклад, Ethereum), у яке записуються смарт-контракти і яке підтримує входи і виходи для оракулів, що забезпечують зв'язок реального і цифрового світу; сам предмет договору і наявність необхідних для його виконання інструментів (криптовалютних розрахункових рахунків, програм-оракулів тощо).
- Точно описані умови його виконання, які учасники договору підтверджують підписом, а також достовірність джерела цифрових даних.
-
Обмеження Смарт-контрактів:
- У програмі дуже складно отримати випадкові числа та іншу невизначеність. У деяких лотереях розумним учасникам вдається «підгадати» джекпот.
- Не так просто «сховати» якусь інформацію. Наприклад, список учасників аукціону або їхні ставки.
- Якщо для роботи контракту потрібна інформація, якої в блокчейні немає (наприклад, поточний курс якоїсь валюти), то хтось довірений повинен додавати цю інформацію в блокчейн.
- Для взаємодії з контрактами користувачам потрібен ефір — це внутрішня валюта Ethereum. Не можна влаштувати голосування серед тих, у кого ще немає гаманців з грошима.
- Смарт-контракти працюють досить повільно. На весь світ можна виконувати 3-5 транзакцій на секунду.
- Самі смарт-контракти зазвичай виконують небагато дій, адже в блокчейні кожен майнер повинен буде ці дії повторити і звірити результат. Раптом у нього буде повільний комп'ютер.
- Якщо в смарт-контракті є помилки, то це назавжди. Єдиний вихід виправити помилку - перейти на інший смарт-контракт, але тільки якщо можливість виведення грошей і такого переходу була передбачена в програмі від початку. Як правило, дуже мало хто це передбачає.
- Смарт-контракти можуть зависнути або взагалі працювати не так, як всі очікували, тому що не розібралися в програмному коді. Однак смарт-контракти постійно поліпшуються, а отже, є ймовірність, що незабаром ці недоліки буде усунуто, шляхом впровадження на платформи розробок, що дають змогу укладати додаткові угоди.