Смарт-кантракт (англ.: smart contract — разумны кантракт) — камп’ютарны алгарытм, прызначаны для фарміравання, кіравання і прадастаўлення інфармацыі аб валоданні чым-небудзь. Часцей за ўсё гаворка ідзе пра ўжыванне тэхналогіі блокчэйна. У больш вузкім сэнсе пад смарт-кантрактам разумеецца набор функцый і даных, якія знаходзяцца па вызначаным адрасе ў блокчэйне[1].
Першай краінай, якая на дзяржаўным узроўні пацвердзіла юрыдычную сілу смарт-кантрактаў, стала Беларусь[2].
Канцэпцыю і тэрмін «Smart contracts» у пачатку 1990-х прапанаваў Нік Сабо. Ужо да 1997 годзе быў распрацаваны шэраг алгарытмаў і пратаколаў, прыдатных для базавай рэалізацыі ідэі[3]. У якасці найпростага прыкладу Сабо пісаў, што «гандлёвы аўтамат з’яўляецца кантрактам на прад’яўніка: любы, у каго ёсць манеты, можа ўдзельнічаць у абмене з прадаўцом», прычым гэта адбываецца ў аўтаматычным рэжыме без непасрэднага ўдзелу прадаўца, роля якога зводзіцца да налады аўтамата, загрузцы тавараў і інкасацыі грошай, але ад прадаўца не патрабуецца непасрэдныя зносіны з пакупніком. Смарт-кантракт таксама самастойна выконвае апісаныя дзеянні (напрыклад, прадастаўляе лічбавы тавар, адпраўляе грошы, адкрыта або закрыта публікуе інфармацыю), калі выкананы закадаваныя ў ім умовы, сапраўды гэтак жа, як гэта рэалізавана ў гандлёвым аўтамаце.
Практычныя рэалізацыі сталі магчымымі дзякуючы з’яўленню ў 2008 годзе тэхналогіі блокчэйн[4], што забяспечыла кантрактам поўную аўтаномнасць і дазволіла адмовіцца ад іншага адміністратара, які б выконваў ролю кантралёра і арбітра. Некаторыя прынцыпы разумных кантрактаў былі закладзены ўжо ў першым пратаколе Біткойна, аднак рэалізаваць іх можна было толькі праз выкарыстанне мовы праграмавання скрыптоў, і яны не валодалі паўнатой па Цьюрынгу з меркаванняў бяспекі. Шырокага прымянення яны не атрымалі. Аднак сталі выказвацца ідэі, што па-над пратаколу біткойна могуць быць створаны розныя пратаколы больш высокага ўзроўню, уключаючы паўнавартасныя разумныя кантракты[5], па аналогіі з тым, як па-над TCP/IP існуе мноства пратаколаў прыкладнога ўзроўню.
Разумныя кантракты ўпершыню атрымалі шырокае распаўсюджванне са з’яўленнем Ethereum. Ідэя стварэння праекта з’явілася ў 2013 годзе. У той момант заснавальнік часопіса Bitcoin Magazine Віталік Бутэрын прыйшоў да высновы, што тэхналогія блокчэйна можа выкарыстоўвацца значна шырэй, не толькі ў крыптавалютах. Ён высунуў ідэю ўніверсальнай дэцэнтралізаванай блокчэйн-платформы, у якой любы жадаючы можа праграмна рэалізаваць розныя сістэмы захоўвання і апрацоўкі інфармацыі. Галоўная ўмова — дзеянні павінны быць апісаны як матэматычныя правілы[6].
Смарт-кантракты Ethereum распрацоўваюцца на адной з моў, спраектаваных для трансляцыі ў байт-код віртуальнай машыны Ethereum — Solidity (падобны на Сі або JavaScript), Vyper і Serpent (падобныя на Python), LLL (нізкаўзроўневая версія Лісп), Mutan (заснаваны на Go)[7][8].
Бакі падпісваюць разумны кантракт, выкарыстоўваючы метады, аналагічныя падпісанню адпраўкі сродкаў у дзеючых крыптавалютных сетках. Пасля падпісання бакамі кантракт захоўваецца ў блокчэйне і ўступае ў сілу. Для забеспячэння аўтаматызаванага выканання абавязацельстваў кантракту абавязкова патрабуецца асяроддзе існавання (вузлы блокчэйна Ethereum). Яно дазваляе цалкам аўтаматызаваць выкананне пунктаў кантракту. Гэта азначае, што разумныя кантракты змогуць існаваць толькі ўнутры асяроддзя, якая мае бесперашкодны доступ выкананага кода да аб’ектаў разумнага кантракту.
Усе ўмовы кантракту павінны мець праграмнае апісанне і ясную логіку выканання. У сувязі з гэтым першыя разумныя кантракты маюць задачу фармалізацыі найбольш простых узаемаадносін, якія складаюцца з невялікай колькасці ўмоў. Маючы бесперашкодны доступ да аб’ектаў кантракту, разумны кантракт адсочвае ўмовы дасягнення або парушэння і пунктаў і прымае самастойныя рашэнні, грунтуючыся на запраграмаваных умовах. Такім чынам, асноўны прынцып разумнага кантракту складаецца ў поўнай аўтаматызацыі і дакладнасці выканання дамовы[9].
Узаемадзейнічаць смарт-кантракты з знешнімі сістэмамі могуць праз блокчэйн-аракулаў, якія могуць супаставіць умовы смарт-кантрактаў і знешняй інфармацыі. Аракул пасылае інфармацыю смарт-кантракту з знешніх рэсурсаў у зразумелым для блокчэйна выглядзе[10].
Для таго, каб разумныя кантракты маглі існаваць, патрабуюцца пэўныя ўмовы:
Першая вялікая і перспектыўная вобласць развіцця блокчэйна — фінансавая. Гэта і крыптавалюта, і смарт-кантракты, і дзяржрэестры. Напрыклад, цяпер, каб прадаць дом, трэба некалькі тыдняў, а гэта можа займаць усяго 3 хвіліны.— Віталік Бутэрын, Масква, 30 жніўня 2017[16]
Прыхільнікі разумных кантрактаў сцвярджаюць, што многія іх віды могуць быць зроблены часткова або цалкам самадастатковымі. Разумныя кантракты, заснаваныя на крыптаграфіі, здольны забяспечваць вялікую бяспеку, чым традыцыйныя кантракты, заснаваныя на праве, і знізіць іншыя трансакцыйныя выдаткі, звязаныя з заключэннем дагавораў і магчымых судовых выдаткаў. Патэнцыйныя сферы ўжывання: ахова здароўя, крэдытаванне, выбарчая сістэма, медыя, інтэрнет рэчаў, арэнда, пастаўкі, клірынг і г. д.
На думку брытанскага часопіса The Economist, разумныя кантракты маюць перспектыву стаць найбольш важным дадаткам тэхналогіі блокчэйн[13].
Прымяненне інструментаў смарт-кантракту дае імпульс да з’яўлення новых бізнес-мадэляў, што аказвае ўплыў на павышэнне канкурэнцыі і развіццё новых сэрвісаў на фінансавым рынку[14].
Юрыдычную значнасць смарт-кантракты могуць атрымаць пры адпаведнасці законам дзяржавы. Для гэтага трэба, каб смарт-кантракты ўтрымлівалі ўмовы і абмежаванні, устаноўленыя заканадаўствам дзяржавы[17].
Беларусь стала першай краінай у свеце, што заканадаўча замацавала смарт-кантракты 21 снежня 2017 года паводле дэкрэту аб развіцці лічбавай эканомікі[2][18]. Распрацоўшчыкам прававой канцэпцыі смарт-кантракту выступіў беларускі юрыст Дзяніс Алейнікаў[19][20]. У краіне плануецца дазволіць банкам заключаць смарт-кантракты[21][22].
Назіральнікі выказваюць асцярогу, што распаўсюджванне аўтаматызаваных тэхналогій падтрымання кантрактаў можа прывесці да паслаблення існуючых сацыяльных інстытутаў, якія чалавецтва стварала на працягу многіх пакаленняў. Акрамя таго, такія тэхналогіі могуць прывесці да знікнення вялікай колькасці адміністрацыйных працоўных месцаў, таксама як рабатызацыя прывяла да знікнення працоўных месцаў у прамысловасці[13]. Гэта адносіцца, у прыватнасці, да натарыусаў, банкаўскіх служачых, а таксама да клерка, якія займаюцца рэгістрацыяй здзелак з нерухомай маёмасцю[23].
Смарт-кантракт не валодае функцыянальнай гнуткасцю. Пры выкарыстанні традыцыйных механізмаў заключэння пагаднення заўсёды ёсць магчымасць дамовіцца або змяніць яго ўмовы, але пры выкарыстанні смарт-кантрактаў рэалізаваць такія змены ў ходзе яго выканання праблематычна. Адсутнасць у сусветнай заканадаўчай практыцы афіцыйна замацаванага статусу смарт-кантракту можа абцяжарыць вырашэнне спрэчных пытанняў, якія ўзнікаюць пры парушэнні ўмоў яго выканання[14].
Працэс стварэння смарт-кантракту з’яўляецца складаным, і чым больш умоў і аспектаў, якія павінен адсочваць кантракт (стан тавару ў працэсе транспарціроўкі, мытныя дзеянні і іншае), тым складаней іх апісаць і ўлічыць на момант заключэння падобнага дагавора[14].
Нядбайнасць распрацоўшчыкаў можа пацягнуць за сабой зламыснае выкарыстанне смарт-кантрактаў[14], як паказала гісторыя з уцечкай звыш за трох мільёнаў манет Ethereum з праекта The DAO[24].