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