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

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Умный контракт»)
Перейти к навигации Перейти к поиску

Смарт-контракт (англ. 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].

Для того, чтобы умные контракты могли существовать, требуются определённые условия:

  1. Использование широко распространенных методов электронной подписи на основе публичных и приватных ключей (асимметричное шифрование).
  2. Существование открытых, децентрализованных и доверительных сторонам контракта баз данных для исполняемых транзакций, работа которых полностью исключает человеческий фактор. Как пример: блокчейн в Bitcoin.
  3. Децентрализация среды исполнения умного контракта. Как пример: Ethereum, Codius, Counterparty  (англ.), Solana  (англ.),
  4. Достоверность источника цифровых данных. Как пример: корневые центры сертификации SSL в базах современных интернет-браузеров[14].

Объекты умного контракта[править | править код]

  • Подписанты — стороны умного контракта, принимающие или отказывающиеся от условий с использованием электронных подписей. Прямым аналогом является подпись отправителя средств в сети Bitcoin, которая подтверждает внесение транзакции в цепочку блоков.
  • Предмет договора. Предметом договора может являться только объект, находящийся внутри среды существования самого умного контракта, или же должен обеспечиваться беспрепятственный, прямой доступ умного контракта к предмету договора без участия человека.
  • Условия. Условия умного контракта должны иметь полное математическое описание, которое возможно запрограммировать в среде существования умного контракта. Именно в условиях описывается логика исполнения пунктов предмета договора.
  • Децентрализованная платформа. Для распределенного хранения смарт-контракта необходима его запись в блокчейне этой платформы[12].

Примеры применения[править | править код]

  • По аналогии с IPO вводится первичное блокчейн-размещение (ICO англ. initial coin offerings) — метод краудфандинга для организации стартапов. На основе опубликованного меморандума инвесторы направляют средства на счет соответствующего умного контракта, получая взамен денежные знаки, играющие роль акций данного стартапа. По состоянию на август 2017 года объём инвестиций в ICO составляет 550 млн долларов[15][16].
  • Децентрализованные финансовые сервисы (DeFi) — некастодиальные протоколы для кредитования под залог цифровых активов и платформы для торговли токенами и деривативами[17].
  • Децентрализованная автономная организация — механизм координации деятельности группы людей для достижения общих целей, правила работы которого могут быть заданы в форме смарт-контрактов[16].
  • Существует идея создания децентрализованного, основанного на Ethereum продукта, похожего на Facebook, где пользователи получат полный контроль над своими личными страницами, что даст им возможность самим получать доходы от рекламы, вместо какой-либо компании.
  • Автоматизация предоставления банковских услуг: финансирование цепочек поставок, ипотечное кредитование, кредитование малого бизнеса[16][18].
  • Оптимизация страховых бизнес-процессов (в части ведения страхового учёта и документооборота), а также процессов обработки страховых претензий и выплат компенсаций в типовых страховых случаях[16].
  • Платформы для голосований без необходимости в отдельном органе для подсчёта голосов; проведение опросов без участия социологического центра.
  • Возможность надёжного оформления договоров без привлечения нотариусов или регистрации в государственных реестрах.

Первая большая и перспективная область развития блокчейна — финансовая. Это и криптовалюта, и смарт-контракты, и госреестры. Например, сейчас, чтобы продать дом, нужно несколько недель, а это может занимать всего 3 минуты.

  • Децентрализованная наука (DeSci) — это, децентрализованная среда, позволяющая создать саморегулируемую систему получения и распространения знаний, научных исследований, произведений литературы и искусства, а также справедливое распределение финансирования научных разработок и различных исследований, возможность свободного расширения сотрудничества ученых в этих областях без каких-либо границ и посредников.

Перспективы[править | править код]

Умные контракты могут выполняться автоматически. Они основаны на криптографии и способны обеспечивать большую безопасность, чем традиционные контракты, основанные на праве, и снизить прочие трансакционные издержки, связанные с заключением договоров и возможных судебных издержек. Потенциальные сферы применения: здравоохранение, кредитование, избирательная система, медиа, интернет вещей, аренда, поставки, клиринг и т. д.

По мнению британского журнала The Economist, умные контракты имеют перспективу стать наиболее важным приложением технологии блокчейн[15].

Применение инструментов смарт-контракта даёт импульс к появлению новых бизнес-моделей, что оказывает влияние на повышение конкуренции и развитие новых сервисов на финансовом рынке[16].

Юридическую значимость смарт-контракты могут получить при соответствии законам государства. Для этого нужно, чтобы смарт-контракты содержали условия и ограничения, установленные законодательством государства[20].

Белоруссия стала первой страной в мире, законодательно закрепившей смарт-контракты 21 декабря 2017 года согласно Декрету о развитии цифровой экономики[2][21]. Разработчиком правовой концепции смарт-контракта выступил белорусский юрист Денис Алейников[22][23]. В стране планируется разрешить банкам заключать смарт-контракты[24][25].

Недостатки[править | править код]

Наблюдатели выражают опасение, что распространение автоматизированных технологий поддержания контрактов может привести к ослаблению существующих социальных институтов, которые человечество создавало на протяжении многих поколений. Кроме того, такие технологии могут привести к исчезновению большого количества административных рабочих мест, также как роботизация привела к исчезновению рабочих мест в промышленности[15]. Это относится, в частности, к нотариусам, банковским служащим, а также к клеркам, занимающимся регистрацией сделок с недвижимым имуществом[26].

Смарт-контракт не обладает функциональной гибкостью. При использовании традиционных механизмов заключения соглашения всегда есть возможность договориться или изменить его условия, но при использовании смарт-контрактов реализовать такие изменения в ходе его исполнения проблематично. Отсутствие в мировой законодательной практике официально закрепленного статуса смарт-контракта может затруднить решение спорных вопросов, возникающих при нарушении условий его исполнения[16].

Процесс создания смарт-контракта является сложным, и чем больше условий и аспектов, которые должен отслеживать контракт (состояние товара в процессе транспортировки, таможенные действия и иное), тем сложнее их описать и учесть на момент заключения подобного договора[16].

Безопасность[править | править код]

Небрежность разработчиков может повлечь за собой злонамеренное использование смарт-контрактов[16], как показала история с утечкой свыше трех миллионов монет Ethereum из проекта The DAO в 2016 году[27].

В 2017 году профессор Швейцарской высшей технической школы Цюриха Мартин Вечев и бывшие докторанты Губерт Рицдорф и Петр Цанков учредили ChainSecurity. Основная цель компании — сделать технологии блокчейн более безопасными. В этих целях она разрабатывает и использует программы автоматизированного сканирования для аудита смарт-контрактов. Поставщики смарт-контрактов могут обратиться в ChainSecurity с просьбой провести их аудит и таким образом получить сертификат безопасности своих контрактов[28].

Также аудит смарт-контрактов проводит компания OpenZeppelin, которая является официальным партнёром Ethereum Foundation[29].

Примечания[править | править код]

  1. Introduction to Smart Contracts — Solidity 0.8.20 documentation. docs.soliditylang.org. Дата обращения: 15 марта 2023.
  2. 1 2 Беларусь первой в мире законодательно закрепила smart-контракт (рус.). www.belta.by (22 декабря 2017). Дата обращения: 15 марта 2023.
  3. Smart Contracts. www.fon.hum.uva.nl. Дата обращения: 15 марта 2023.
  4. Nick Szabo -- Smart Contracts: Building Blocks for Digital Markets. www.fon.hum.uva.nl. Дата обращения: 15 марта 2023.
  5. Умные контракты. ethereum.org. Дата обращения: 15 марта 2023.
  6. Smart Contracts: Formalizing and Securing Relationships on Public Networks. ojphi.org (1 сентября 1997). Дата обращения: 7 июня 2022.
  7. http://bitcoin.org/bitcoin.pdf
  8. Smart contracts secured by Bitcoin | Rootstock (брит. англ.). rootstock.io. Дата обращения: 15 марта 2023.
  9. Ольга Любимова. Создатель Ethereum Виталик Бутерин: «Блокчейн поможет искоренить коррупцию» (рус.). Inc. Russia. Дата обращения: 15 марта 2023.
  10. Ресурсы для разработчиков Ethereum. ethereum.org. Дата обращения: 15 марта 2023.
  11. Chris Dannen. Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners. — Apress, 2017-03-16. — 197 с. — ISBN 978-1-4842-2535-6.
  12. 1 2 Andrew Tar. Smart Contracts, Explained (англ.). Cointelegraph (31 октября 2017). Дата обращения: 15 марта 2023.
  13. Блокчейн-оракулы: как они устроены и зачем нужны?
  14. ❰ Смарт-контракты: как использовать и насколько надежны для сделок ᐈ Сообщество Сryptonet. web.archive.org (17 мая 2020). Дата обращения: 15 марта 2023.
  15. 1 2 3 Disrupting the trust business (англ.). worldif.economist.com (6 июля 2017). Дата обращения: 15 марта 2023.
  16. 1 2 3 4 5 6 7 8 Аналитический обзор по теме «Смарт-контракты». Центральный банк Российской Федерации (октябрь 2018). Дата обращения: 14 августа 2021.
  17. Бум криптокредитования и DeFi — очередной пузырь или новый импульс для биткоин-индустрии? (англ.). ForkLog (25 ноября 2019). Дата обращения: 15 марта 2023.
  18. Visa Crypto Thought Leadership – Auto Payments (англ.). usa.visa.com. Дата обращения: 15 марта 2023.
  19. Виталик Бутерин: «Путин знает, что такое блокчейн — это и есть хайп»
  20. Из блокчейна слов не выкинешь: как он изменит Украину и почему опыт других стран нам уже не подходит (укр.). businessviews.com.ua. Дата обращения: 9 апреля 2018.
  21. В Беларуси полностью урегулировали крипту. Что, кому и как теперь можно в 8 пунктах. + Список всех документов. dev.by. Дата обращения: 6 февраля 2019.
  22. Денис Алейников: Беларусь может легализовать смарт-контракт первой в мире. Office Life (12 ноября 2017). Дата обращения: 6 февраля 2019.
  23. В Беларуси введен уникальный правовой режим для участников криктоэкономики. Deloitte CIS (27 декабря 2017). Дата обращения: 6 февраля 2019.
  24. В Беларуси банкам разрешат заключать смарт-контракты | naviny.by
  25. Юристы видят проблемы с внедрением смарт-контрактов. Разработчик: "С мнением Беларуси везде считаются". TUT.BY (16 ноября 2018). Дата обращения: 6 февраля 2019. Архивировано из оригинала 7 февраля 2019 года.
  26. Профессионал года – создатель криптовалюты Ethereum Виталик Бутерин. Ведомости. Дата обращения: 15 марта 2023.
  27. Уроки DAO: куда приводят мечты | ForkLog. forklog.com. Дата обращения: 9 апреля 2018.
  28. Security flaws uncovered in blockchain platform (англ.). ethz.ch. Дата обращения: 15 марта 2023.
  29. OpenZeppelin Security. EIP-4337 - Ethereum Account Abstraction Audit (амер. англ.). OpenZeppelin blog (19 апреля 2022). Дата обращения: 15 марта 2023.

Литература[править | править код]

  • Акст Р. Что такое Смарт-контракт. или 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.

Ссылки[править | править код]