WhiteSwap Christmas logo
На головну сторінку блогу

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

Статті
16.08.2023
5 хв.
1033
news thumbnail

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

Смартконтракт – це код на блокчейні, який автоматично запускає дію під час виконання певних умов. Ти, напевно, вже знаєш, хто придумав смартконтракти, маєш уявлення про принципи їхньої роботи й знаєш, що саме розумні контракти свого часу зробили блокчейн Ethereum таким популярним. Ця стаття допоможе систематизувати та поглибити ці знання. Почнемо з простого: що таке смартконтракти в блокчейні, і як вони застосовується. Згодом перейдемо до складніших тем, таких як безпека смартконтрактів та як написати смартконтракт.

Для чого потрібні смартконтракти

Якщо дуже коротко, то смартконтракти потрібні, щоб робити наше життя простішим. Це можливість автоматизувати процеси, які без розумних контрактів зайняли б набагато більше часу. Це особливо помітно на контрасті зі звичайними паперовими документами. Розглянемо приклад.

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

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

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

Як це могло б працювати на смартконтракті?

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

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

У третьому кварталі 2022 року було опубліковано 48,689 підтвердженних смартконтрактів, що на 143% більше порівняно з 20,040 підтвердженими смартконтрактами, опублікованими в третьому кварталі 2021.

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

Але найчастіше смартконтракти використовуються, звичайно, на крипторинку. Наприклад:

  • Децентралізовані фінанси (DeFi)
  • Управління стейблкоінами
  • Стейкінг та фармінг
  • Ф'ючерси та опціони
  • Боти для автоматичного трейдингу
  • Кредитні дефолтні свопи
  • Play-to-earn ігри
  • Децентралізовані маркетплейси
  • DEXs

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

Переваги смартконтрактів

Якщо смартконтракти потрібні для автоматизації процесів, чи так для цього потрібен блокчейн? Адже без них ми постійно стикаємося з автоматизацією процесів. Наприклад, якщо в тебе є підписка на Netflix або Spotify, то при виконанні певної умови (закінчення терміну попередньої підписки) автоматично здійснюється угода (кошти списуються з банківського рахунку, а підписка продовжується). І без будь-яких блокчейнів все працює!

Справді, смартконтракти — не єдиний інструмент автоматизації. Однак вони мають низку переваг перед іншими програмами:

Такий контракт неможливо змінити. Жодна зі сторін і жодні треті особи не мають доступу до редагування контракту, тому його неможливо підробити. Якщо сторони хочуть змінити умови, необхідно укласти новий контракт.

Безпека смартконтрактів близька до максимальної, адже вони захищені блокчейном. Їх практично неможливо зламати. Це набагато краще звичайного електронного контракту і набагато краще паперового. Умови смартконтракту неможливо порушити, оскільки блокчейн виконує їх автоматично.

В решті решт, контракт на блокчейні неможливо втратити. Електронний контракт можна видалити з пристрою або хмари, паперовий може загубитись, а смартконтракт назавжди залишиться у відкритому доступі на блокчейні.

Як створити смартконтракт

Що таке смартконтракт? По суті це комп'ютерний код, а для його написання потрібні технічні знання. Звичайна людина з цим завданням не впорається. Навчитися створювати смартконтракти може девелопер, який володіє мовою програмування Python, Pascal, JS чи Haskel. Програма зчитує «умови контракту» цими мовами й переводить їх у байт-код — так код важить менше і працює швидше. Досвідчені девелопери можуть писати смартконтракти одразу у вигляді байт-коду на Michelson.

Що стосується вибору блокчейну, то розумні контракти підтримують мережі Ethereum, EOS, BSC, Stellar, Cardano, NEO та Tron (а також інші менш популярні мережі). Найчастіше смартконтракти пишуть на ефірі.

Варто буде зазначити, що існують сервіси для написання zero code smart contracts. Наприклад, Bunzz чи Thirdweb. Однак, ти сам розумієш, що ніякий конструктор не зрівняється з професійним розробником.

Часто для коректної роботи контракту потрібна допомога сторонньої програми – оракула. Це сполучна ланка між блокчейном та іншим інтернетом (офчейном). Без них сфера застосування смартконтрактів була б дуже вузькою.

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

Правовий статус смартконтрактів

Говорячи про статус смартконтрактів, зазвичай ставлять два запитання.

Чи законні смартконтракти?

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

Чи є смартконтракти юридично дійсними?

Юридична практика більшості країн, у тому числі США та України, вказує на те, що смартконтракти не прирівнюються до традиційних контрактів, але можуть виступати їх частиною.

Що це означає? Якщо угода була укладена виключно на блокчейні, вона не матиме юридичної сили. Однак, якщо ти уклав паперовий контракт і використовував смартконтракт як інструмент автоматизації, такий флоу має місце. Також контракт на блокчейні може автоматично генерувати текстові версії контрактів та надсилати їх учасникам угоди на підпис.

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

Смартконтракти у DEX

Однією з основних сфер застосування смартконтрактів є децентралізовані біржі, однією з яких є WhiteSwap. Існують три різні види DEX: Order Book, Automated Market Makers та DEX-агрегатори. У них відрізняється механіка, але всі вони використовують смартконтракти. Отже, DEX, на відміну від CEX, не зберігає кошти користувачів, лише надає інструмент їхнього автоматичного розподілу. Криптовалюти та токени циркулюють між гаманцями користувачів без посередників, і саме смартконтракти роблять це можливим.

Працює це приблизно так:

  • Ти створюєш запит на свап токенів (наприклад, обміняти 1 ETH на 1000 USDT).
  • Сервер перевіряє наявність ліквідності обраної пари. Без пулу ліквідності для здійснення угоди довелося б чекати покупця, який хоче купити 1 ETH за 1000 USDT рівно в цей час.
  • Якщо ліквідності достатньо, ти відправляєш на блокчейн 1 ETH + transaction fee.
  • Угода стає на чергу на обробку.
  • Контракт надсилає 1000 USDT з пулу ліквідності на твій гаманець.

Участь DEX тут мінімальна. Операції відбуваються автоматично, транзакції підтверджуються майнерами чи стейкерами.

Майбутнє смартконтрактів

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

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

Дивись також