Смарт-контракт

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 07:05, 14 лютого 2022, створена TohaomgBot (обговорення | внесок) (Перекладено дати в примітках з англійської на українську)
Перейти до навігації Перейти до пошуку

Смарт-контракт (англ. Smart contract — «розумний контракт») — різновид угоди в формі закодованих математичних алгоритмів, укладення, зміна, виконання і розірвання яких можливі лише з використанням комп'ютерних програм (блокчейн платформ) в рамках мережі Інтернет.

В реальному світі широке охоплення в реалізації смарт-контрактів здобула DAO, розподілена автономна організація[en] для венчурного фінансування, яка була запущена у травні 2016 року.

Першою країною, яка законодавчо закріпила розумні контракти стала Білорусь у 2017 році.[1]

Історія

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

У 1996 році Сабо описував його так:

Нові інституції і нові способи формалізації відносин цих інституцій стали можливі завдяки цифровій революції. Я називаю ці контракти «розумними» тому що вони більш функціональні, ніж їхні неживі паперові предки. Не передбачається використання штучного інтелекту. Смарт-контракти — це набір обіцянок у цифровому форматі, включно з протоколами, за якими сторони виконують ці обіцянки.
Оригінальний текст (англ.)
New institutions, and new ways to formalize the relationships that make up these institutions, are now made possible by the digital revolution. I call these new contracts «smart», because they are far more functional than their inanimate paper-based ancestors. No use of artificial intelligence is implied. A smart contract is a set of promises, specified in digital form, including protocols within which the parties perform on these promises. [2]

Сабо, натхненний дослідником Девідом Чаумом[en], також мав широке очікування того, що специфікації на основі чіткої логіки і перевірки, або виконання через криптографічні протоколи та інші механізми цифрової безпеки, може являти собою різке поліпшення в порівнянні з традиційним контрактом, навіть для деяких традиційних видів договірних положень, які можуть бути передані під владу комп'ютерних протоколів.[3]

У документі 2013 року, Марк Міллер[en] та інші підкреслювали можливості[en] як основи безпеки розумних контрактів, на відміну від Чаума та інших дослідників в криптографічній фінансовій спільноті, які використовують сучасні криптографічні протоколи[4], щоб забезпечити безпеку і конфіденційність цифрових грошей, облікових даних, підписання контракту, аукціонів, а також інших комерційних механізмів.

Кілька формальних мов були розроблені та запропоновані для визначення договірних положень.[5][6][7] IEEE провів два семінари з електронним укладенням договорів.[8]

Розумні контракти вперше отримали широке поширення з появою Ethereum. Ідея створення проекту виникла в 2013 році. В той момент засновник журналу Bitcoin Magazine Віталік Бутерін прийшов до висновку, що технологія блокчейна може використовуватися значно ширше, не тільки в криптовалютах. Він висунув ідею універсальної децентралізованої блокчейн-платформи, в якій будь-хто бажаючий може програмно реалізувати різні системи зберігання та обробки інформації. Головна умова — дії повинні бути описані як математичні правила.[9]

Останнім часом галас навколо блокчейну[10], смарт-контрактів використовується в сенсі загального розуміння цілі, що відбувається на блокчейні.[11] У цій інтерпретації смарт-контракт не обов'язково має відношення до класичної концепції договору, але може бути будь-якою комп'ютерною програмою.

Питання безпеки

Смарт-контракт — це «комп'ютеризований протокол транзакцій, який виконує умови контракту»[12].[13] Блокчейн, на основі смарт-контракта, видно всім користувачам зазначеного блоку. Проте, це призводить до помилок, в тому числі дірок в системі безпеки, які можуть побачити всі користувачі, але їх не можна виправити швидко.[14] Таким чином, була успішно виконана атака на DAO в червні 2016 року вартістю 50 млн USD у Ethereum, в той час, як розробники намагалися прийти до вирішення цієї проблеми. Обробка задачі на блокчейні вимагала часу, за який хакер може отримати доступ до ресурсів, і зняти кошти з DAO контракту.

Принцип роботи

Смарт-контракти Ethereum розробляються на одній з мов, спроектованих для трансляції в байт-код віртуальної машини Ethereum — Solidity (схожий на С або JavaScript), Vyper і Serpent (схожі на Python), LLL (низькорівнева версія Lisp), Mutan (заснований на Go).[15][16]

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

Всі умови контракту повинні мати програмний опис і ясну логіку виконання. У зв'язку з цим перші розумні контракти мають завдання формалізації найбільш простих взаємин, що складаються з невеликої кількості умов. Маючи безперешкодний доступ до об'єктів контракту, розумний контракт відстежує за вказаними умовами досягнення або порушення пунктів і приймає самостійні рішення, ґрунтуючись на запрограмованих умовах. Таким чином, основний принцип розумного контракту полягає в повній автоматизації і правдивості виконання договірних відносин.[17]

Для того, щоб розумні контракти могли існувати, потрібні певні умови:

  • Використання широко поширених методів електронного підпису на основі публічних і приватних ключів (асиметричне шифрування).
  • Існування відкритих, децентралізованих і довірчих сторонам контракту баз даних для виконуваних транзакцій, робота яких повністю виключає людський фактор. Як приклад: блокчейн в Bitcoin.
  • Децентралізація середовища виконання розумного контракту. Як приклад: Ethereum, Codius, Counterparty.
  • Правдивість джерела цифрових даних. Як приклад: кореневі центри сертифікації SSL в базах сучасних інтернет-браузерів.[18]

Об'єкти розумного контракту

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

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

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

Децентралізована платформа. Для розподіленого зберігання смарт-контракту необхідний його запис в блокчейні цієї платформи.

Винагорода та виконання

Сабо передбачає, що смарт-контракт — це інфраструктура, яка може бути реалізована шляхом тиражованих реєстрів активів[19] та виконання контрактів з використанням криптографічного хеш-ланцюга і Візантійської відмовостійкої винагороди. Кожен вузол у мережі рівноправних вузлів виступає як заголовок реєстру і умовна порука, що виконує зміни права власності та автоматично відзначає правила, що регулюють ці операції, і перевіряє ту ж роботу інших вузлів. Аскемос реалізував цей підхід в 2002 році, використовуючи схему як мову сценаріїв контракту.

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

Одна з пропозицій для використання Bitcoin для реєстрації активів і виконання контракту називається «кольорові монети».[20] Реєстрація доменного імені реєстру здійснюється в Namecoin; реєструємо назви для потенційно довільних форм власності, поряд з виконанням контракту, реалізовані в Crypti, Ripple, Mastercoin і Ethereum.[21][22] NXT[23] реалізує право власності на доказі власності, частки в базовій валюті.

Смарт-контракти можуть бути реалізовані за допомогою рікардіанському шаблону[en] проектування контракту.[24][25]

Додатки можуть включати в себе фінансові інструменти, такі як облігації, акції та похідні, договорів по забезпеченню, а також інші документи і угоди, де вузли можуть стежити за розвитком подій, на яких зумовлені розумні правила контракту. Переваги смарт-контракту як еквіваленту звичайного фінансового інструменту гіпотетично включають зведення до мінімуму ризику контрагента, скорочення термінів розрахунків, а також підвищення прозорості.[26] UBS експериментував з «розумними» облігаціями, які використовують bitcoin блокчейн,[27] в якому платіжні потоки гіпотетично могли б бути повністю автоматизовані, створюючи самостійно оплачуваний інструмент.[28]

Токени

Токен — запис в блокчейні, одиниця обліку, яка не являється криптовалютою, лише призначена для представлення цифрового балансу в деякому активі[29], іншими словами виконує функцію «замінника цінних паперів» в цифровому світі. Управління токеном зазвичай реалізується за допомогою смарт-контракту, в якому записані значення залишків на рахунках власників токенів, і який надає можливість переказу токенів з одного рахунку на інший. Отримати доступ до токенів можна через спеціальні додатки, які використовують схеми електронного підпису.

У популярній культурі

У романі Постійність[en] (2002) Карл Шредер відрізняє «економіку прав», в якому всі фізичні об'єкти є нано-мічені договірними вимогами, з тим, що оплата може застосовуватися для всіх видів використання службової інформації, наприклад, військова місія в глибокому космосі повинна постійно виправдовувати співвідношення витрат і вигод своєї місії на кораблі або він перестане працювати.[джерело?]

Примітки

  1. Беларусь первой в мире законодательно закрепила smart-контракт, БЕЛТА, 22 ДЕКАБРЯ 2017
  2. Nick Szabo -- Smart Contracts: Building Blocks for Digital Markets. www.fon.hum.uva.nl. Процитовано 29 липня 2017.
  3. Nick Szabo. Formalizing and Securing Relationships on Public Networks. First Monday.
  4. Miller, Van Cutsem, and Tulloh (2013). Distributed Electronic Rights in JavaScript.
  5. Welcome to ERights.Org. erights.org.
  6. A Formal Language for Analyzing Contracts. vwh.net. Архів оригіналу за 21 серпня 2006. Процитовано 10 грудня 2016.
  7. [1]
  8. http://tab.computer.org/tcec/cec04/programWEC.html
  9. Создатель Ethereum Виталик Бутерин: «Блокчейн поможет искоренить коррупцию»
  10. Архівована копія. Архів оригіналу за 24 листопада 2016. Процитовано 10 грудня 2016.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  11. http://www.multichain.com/blog/2015/11/smart-contracts-slow-blockchains/
  12. Tapscott, Don; Tapscott, Alex (May 2016). The Blockchain Revolution: How the Technology Behind Bitcoin is Changing Money, Business, and the World. с. 72, 83, 101, 127. ISBN 978-0670069972.
  13. https://medium.com/blockchain-hub/to-fork-of-not-to-fork-a9b077718fe3#.xk7ojtacq
  14. Peck, M. (28 травня 2016). Ethereum’s $150-Million Blockchain-Powered Fund Opens Just as Researchers Call For a Halt. IEEE Spectrum. Institute of Electrical and Electronics Engineers.
  15. Руководства, ресурсы и инструменты для разработчиков на Ethereum
  16. Chris Dannen ntroducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners
  17. Smart Contracts, Explained
  18. Смарт-контракты: как использовать и насколько надежны для сделок
  19. Nick Szabo (2005). Secure Property Titles with Owner Authority. Архів оригіналу за січень 15, 2014. Процитовано 12 січня 2014.
  20. Hal Hodson (20 November 2013). Bitcoin moves beyond mere money. New Scientist. Процитовано 12 January 2014.
  21. Ethereum: A Next-Generation Generalized Smart Contract and Decentralized Application Platform. Архів оригіналу за 11 січня 2014. Процитовано 12 January 2014.
  22. http://blockgeeks.com/guides/what-is-ethereum-a-step-by-step-beginners-guide
  23. Bitcoin Descendant NXT Features 100% New Code, Green Mining, Decentralized Trading, More. Yahoo Finance. 23 December 2013. Процитовано 12 January 2014.
  24. Grigg (2015). The Sum of all Chains - Lets Converge. Coinscrum.
  25. Clack та ін. (2016). Smart Contract Templates: foundations, design landscape and research directions (PDF). {{cite web}}: Явне використання «та ін.» у: |last= (довідка)
  26. Blockchain Technology: Preparing for Change (PDF). Accenture.
  27. Ross, Rory (12 вересня 2015). Smart Money: Blockchains Are the Future of the Internet. Newsweek. Процитовано 27 травня 2016.
  28. Wigan, David (11 червня 2015). Bitcoin technology will disrupt derivatives, says banker. IFR Asia. Процитовано 27 травня 2016.
  29. Что такое токен?. ForkLog (англ.). 2 листопада 2017. Процитовано 30 березня 2021.

Див. також

Посилання