Смарт-контракт
Смарт-контракт (англ. smart contract — умный контракт) — договор, записанный в виде компьютерной программы.
Текст смарт-контракта криптографически подписывается сторонами сделки и запускается на исполнение на доверенной платформе. Смарт-контракт контролирует условия договора и, при выполнении условий, исполняет его обязательства.[1] Для автоматической работы смарт-контракта все условия и обязательства договора должны быть программно доступны на доверенной платформе, например на платформах криптовалют. Первой страной, на государственном уровне подтвердившей юридическую силу смарт-контрактов, стала Белоруссия[2].
ИсторияПравить
Термин «умный контракт» придумал Ник Сабо. В 1994 году он написал введение в концепт[3], а в 1996 году — объяснение того, что умные контракты могли бы делать[4]. Ник Сабо предвидел цифровую торговую площадку, построенную на этих автоматических и криптографически защищенных процессах. Место, в котором транзакции и бизнес-процессы смогут совершаться без проверяющих посредников, которым нужно доверять[5]. В качестве простейшего примера Сабо писал, что «торговый автомат является контрактом на предъявителя: любой, у кого есть монеты, может участвовать в обмене с продавцом», причём это происходит в автоматическом режиме без непосредственного участия продавца, роль которого сводится к настройке автомата, загрузке товаров и инкассации денег, но от продавца не требуется непосредственного общения с покупателем. Смарт-контракт также самостоятельно выполняет описанные действия (например, предоставляет цифровой товар, отправляет деньги, открыто или закрыто публикует информацию), если выполнены закодированные в нём условия, точно так же, как это реализовано в торговом автомате. Уже к 1997 году был разработан ряд алгоритмов и протоколов, пригодных для базовой реализации идеи[6]. Но узким местом оставались системы платежей, которые не получались без посредников-администраторов.
Практические реализации идей Ника Сабо стали возможными благодаря появлению в 2008 году технологии блокчейн[7], что обеспечило контрактам полную автономность и позволило отказаться от стороннего администратора, который выполнял роль контролёра и арбитра. Уже в первом протоколе Биткойна через использование языка программирования скриптов стало возможным реализовать базовые функции умных контрактов. Но их возможности были ограничены — из соображений безопасности они не обладали полнотой по Тьюрингу и широкого применения не получили. Однако стали появляться разработки протоколов более высокого уровня (включая универсальные умные контракты) поверх протокола биткойна[8], по аналогии с тем, как поверх TCP/IP существует множество прикладных протоколов.
Умные контракты впервые получили широкое распространение с появлением Ethereum. Идея создания проекта появилась в 2013 году. В тот момент основатель журнала Bitcoin Magazine Виталик Бутерин пришёл к выводу, что технология блокчейна может использоваться значительно шире, не только в криптовалютах. Он выдвинул идею универсальной децентрализованной блокчейн-платформы, в которой любой желающий может программно реализовать разные системы хранения и обработки информации. Главное условие — действия должны быть описаны как математические правила[9].
Принцип работыПравить
Смарт-контракты Ethereum разрабатываются на одном из языков, спроектированных для трансляции в байт-код виртуальной машины Ethereum — Solidity (похож на Си или JavaScript), Vyper и Serpent (похожи на Python), LLL (низкоуровневая версия Лисп), Mutan (основан на Go)[10][11].
Стороны подписывают умный контракт, используя методы, аналогичные подписанию отправки средств в действующих криптовалютных сетях. После подписания сторонами контракт сохраняется в блокчейне и вступает в силу. Для обеспечения автоматизированного исполнения обязательств контракта непременно требуется среда существования (узлы блокчейна Ethereum), которая позволяет полностью автоматизировать выполнение пунктов контракта. Это означает, что умные контракты смогут существовать только внутри среды, имеющей беспрепятственный доступ исполняемого кода к объектам умного контракта.
Все условия контракта должны иметь программное описание и ясную логику исполнения. В связи с этим первые умные контракты имеют задачу формализации наиболее простых взаимоотношений, состоящих из небольшого количества условий. Имея беспрепятственный доступ к объектам контракта, умный контракт отслеживает по указанным условиям достижения или нарушения пунктов и принимает самостоятельные решения, основываясь на запрограммированных условиях. Таким образом, основной принцип умного контракта состоит в полной автоматизации и достоверности исполнения договорных отношений[12].
Взаимодействовать смарт-контракты с внешними системами могут через блокчейн-оракулов, которые могут сопоставить условия смарт-контрактов и внешней информации. Оракул посылает информацию смарт-контракту из внешних ресурсов в понятном для блокчейна виде[13].
Для того, чтобы умные контракты могли существовать, требуются определённые условия:
- Использование широко распространенных методов электронной подписи на основе публичных и приватных ключей (асимметричное шифрование).
- Существование открытых, децентрализованных и доверительных сторонам контракта баз данных для исполняемых транзакций, работа которых полностью исключает человеческий фактор. Как пример: блокчейн в Bitcoin.
- Децентрализация среды исполнения умного контракта. Как пример: Ethereum, Codius, Counterparty (англ.) (рус., Solana (англ.) (рус.,
- Достоверность источника цифровых данных. Как пример: корневые центры сертификации SSL в базах современных интернет-браузеров[14].
Объекты умного контрактаПравить
- Подписанты — стороны умного контракта, принимающие или отказывающиеся от условий с использованием электронных подписей. Прямым аналогом является подпись отправителя средств в сети Bitcoin, которая подтверждает внесение транзакции в цепочку блоков.
- Предмет договора. Предметом договора может являться только объект, находящийся внутри среды существования самого умного контракта, или же должен обеспечиваться беспрепятственный, прямой доступ умного контракта к предмету договора без участия человека.
- Условия. Условия умного контракта должны иметь полное математическое описание, которое возможно запрограммировать в среде существования умного контракта. Именно в условиях описывается логика исполнения пунктов предмета договора.
- Децентрализованная платформа. Для распределенного хранения смарт-контракта необходима его запись в блокчейне этой платформы[15].
Примеры примененияПравить
- По аналогии с IPO вводится первичное блокчейн-размещение (ICO англ. initial coin offerings) — метод краудфандинга для организации стартапов. На основе опубликованного меморандума инвесторы направляют средства на счет соответствующего умного контракта, получая взамен денежные знаки, играющие роль акций данного стартапа. По состоянию на август 2017 года объём инвестиций в ICO составляет 550 млн долларов[16][17].
- Децентрализованные финансовые сервисы (DeFi) — некастодиальные протоколы для кредитования под залог цифровых активов и платформы для торговли токенами и деривативами[18].
- Децентрализованная автономная организация — механизм координации деятельности группы людей для достижения общих целей, правила работы которого могут быть заданы в форме смарт-контрактов[17].
- Существует идея создания децентрализованного, основанного на Ethereum продукта, похожего на Facebook, где пользователи получат полный контроль над своими личными страницами, что даст им возможность самим получать доходы от рекламы, вместо какой-либо компании.
- Автоматизация предоставления банковских услуг: финансирование цепочек поставок, ипотечное кредитование, кредитование малого бизнеса[17][19].
- Оптимизация страховых бизнес-процессов (в части ведения страхового учёта и документооборота), а также процессов обработки страховых претензий и выплат компенсаций в типовых страховых случаях[17].
- Платформы для голосований без необходимости в отдельном органе для подсчёта голосов; проведение опросов без участия социологического центра.
- Возможность надёжного оформления договоров без привлечения нотариусов или регистрации в государственных реестрах.
Первая большая и перспективная область развития блокчейна — финансовая. Это и криптовалюта, и смарт-контракты, и госреестры. Например, сейчас, чтобы продать дом, нужно несколько недель, а это может занимать всего 3 минуты.
- Децентрализованная наука (DeSci) — это, децентрализованная среда, позволяющая создать саморегулируемую систему получения и распространения знаний, научных исследований, произведений литературы и искусства, а также справедливое распределение финансирования научных разработок и различных исследований, возможность свободного расширения сотрудничества ученых в этих областях без каких-либо границ и посредников.
ПерспективыПравить
Умные контракты могут выполняться автоматически. Они основаны на криптографии и способны обеспечивать большую безопасность, чем традиционные контракты, основанные на праве, и снизить прочие трансакционные издержки, связанные с заключением договоров и возможных судебных издержек. Потенциальные сферы применения: здравоохранение, кредитование, избирательная система, медиа, интернет вещей, аренда, поставки, клиринг и т. д.
По мнению британского журнала The Economist, умные контракты имеют перспективу стать наиболее важным приложением технологии блокчейн[16].
Применение инструментов смарт-контракта даёт импульс к появлению новых бизнес-моделей, что оказывает влияние на повышение конкуренции и развитие новых сервисов на финансовом рынке[17].
Юридическую значимость смарт-контракты могут получить при соответствии законам государства. Для этого нужно, чтобы смарт-контракты содержали условия и ограничения, установленные законодательством государства[21].
Белоруссия стала первой страной в мире, законодательно закрепившей смарт-контракты 21 декабря 2017 года согласно Декрету о развитии цифровой экономики[2][22]. Разработчиком правовой концепции смарт-контракта выступил белорусский юрист Денис Алейников[23][24]. В стране планируется разрешить банкам заключать смарт-контракты[25][26].
НедостаткиПравить
Наблюдатели выражают опасение, что распространение автоматизированных технологий поддержания контрактов может привести к ослаблению существующих социальных институтов, которые человечество создавало на протяжении многих поколений. Кроме того, такие технологии могут привести к исчезновению большого количества административных рабочих мест, также как роботизация привела к исчезновению рабочих мест в промышленности[16]. Это относится, в частности, к нотариусам, банковским служащим, а также к клеркам, занимающимся регистрацией сделок с недвижимым имуществом[27].
Смарт-контракт не обладает функциональной гибкостью. При использовании традиционных механизмов заключения соглашения всегда есть возможность договориться или изменить его условия, но при использовании смарт-контрактов реализовать такие изменения в ходе его исполнения проблематично. Отсутствие в мировой законодательной практике официально закрепленного статуса смарт-контракта может затруднить решение спорных вопросов, возникающих при нарушении условий его исполнения[17].
Процесс создания смарт-контракта является сложным, и чем больше условий и аспектов, которые должен отслеживать контракт (состояние товара в процессе транспортировки, таможенные действия и иное), тем сложнее их описать и учесть на момент заключения подобного договора[17].
Небрежность разработчиков может повлечь за собой злонамеренное использование смарт-контрактов[17], как показала история с утечкой свыше трех миллионов монет Ethereum из проекта The DAO[28].
ПримечанияПравить
- ↑ Introduction to Smart Contracts
- ↑ 1 2 Беларусь первой в мире законодательно закрепила smart-контракт
- ↑ Smart Contracts
- ↑ Nick Szabo -- Smart Contracts: Building Blocks for Digital Markets
- ↑ Умные контракты | ethereum.org
- ↑ Smart Contracts: Formalizing and Securing Relationships on Public Networks (неопр.). ojphi.org (1 сентября 1997). Дата обращения: 7 июня 2022.
- ↑ http://bitcoin.org/bitcoin.pdf
- ↑ RSK
- ↑ Создатель Ethereum Виталик Бутерин: «Блокчейн поможет искоренить коррупцию»
- ↑ Руководства, ресурсы и инструменты для разработчиков на Ethereum
- ↑ Chris Dannen ntroducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners
- ↑ Smart Contracts, Explained
- ↑ Блокчейн-оракулы: как они устроены и зачем нужны?
- ↑ Смарт-контракты: как использовать и насколько надежны для сделок (архивная копия)
- ↑ Смарт-контракты, пояснения
- ↑ 1 2 3 «If blockchains ran the world», The Economist, 6 July, 2017
- ↑ 1 2 3 4 5 6 7 8 Аналитический обзор по теме «Смарт-контракты» (неопр.). Центральный банк Российской Федерации (октябрь 2018). Дата обращения: 14 августа 2021.
- ↑ Бум криптокредитования и DeFi — очередной пузырь или новый импульс для биткоин-индустрии?
- ↑ Visa Crypto Thought Leadership – Auto Payments | Visa
- ↑ Виталик Бутерин: «Путин знает, что такое блокчейн — это и есть хайп»
- ↑ Из блокчейна слов не выкинешь: как он изменит Украину и почему опыт других стран нам уже не подходит (укр.). businessviews.com.ua. Дата обращения: 9 апреля 2018.
- ↑ В Беларуси полностью урегулировали крипту. Что, кому и как теперь можно в 8 пунктах. + Список всех документов (рус.). dev.by. Дата обращения: 6 февраля 2019.
- ↑ Денис Алейников: Беларусь может легализовать смарт-контракт первой в мире (неопр.). Office Life (12 ноября 2017). Дата обращения: 6 февраля 2019.
- ↑ В Беларуси введен уникальный правовой режим для участников криктоэкономики (неопр.). Deloitte CIS (27 декабря 2017). Дата обращения: 6 февраля 2019.
- ↑ В Беларуси банкам разрешат заключать смарт-контракты | naviny.by
- ↑ Юристы видят проблемы с внедрением смарт-контрактов. Разработчик: "С мнением Беларуси везде считаются" (рус.). TUT.BY (16 ноября 2018). Дата обращения: 6 февраля 2019. Архивировано из оригинала 7 февраля 2019 года.
- ↑ Профессионал года — создатель криптовалюты Ethereum Виталик Бутерин «Ведомости», 28.12.2017
- ↑ Уроки DAO: куда приводят мечты | ForkLog (рус.). forklog.com. Дата обращения: 9 апреля 2018.
ЛитератураПравить
- Акст Р. Что такое Смарт-контракт. или Ethereum за час. — Ridero, 2017. — С. 19. — ISBN 978-5-4485-2907-8.
- Dannen C. Introducing Ethereum and Solidity. — Brooklyn, New York, USA: Apress, 2017. — 197 с. — ISBN 978-1-4842-2535-6.
- Iyer K., Dannen C. Building Games with Ethereum Smart Contracts. Intermediate Projects for Solidity Developers. — Brooklyn, New York, USA: Apress, 2018. — 281 с. — ISBN 978-1-4842-3492-1.
- Бурков А. Ethereum: работа с сетью, смарт-контракты и распределенные приложения. — ЛитРес, 2020. — С. 542. — ISBN 978-5-0428-8384-2.
- Фролов А. Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство. — ЛитРес, 2022. — ISBN 978-5-0419-2925-1.