Русская Википедия:Смарт-контракт

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Смарт-контракт (Шаблон:Lang-en — умный контракт) — компьютерный алгоритм, предназначенный для формирования, управления и предоставления информации о владении чем-либо. Чаще всего они реализуются с применением технологии блокчейна. В более узком смысле под смарт-контрактом понимается набор функций и данных (прошлое или текущее состояние), находящихся по определённому адресу в блокчейне.[1] Для работы смарт-контракта все условия и обязательства описываются и в последующем их выполнение обеспечивается независимой распределённой вычислительной системой, чаще всего на базе криптовалют.

Первой страной, на государственном уровне подтвердившей юридическую силу смарт-контрактов, стала Белоруссия[2].

История

Концепцию и термин «умный контракт» придумал Ник Сабо: в 1994 году появилась его концептуальная статья «Smart Contracts»[3]. Целью было реализовать коммерческую операцию через компьютерную сеть без участия посредников. В качестве простейшего примера Сабо писал, что «торговый автомат является контрактом на предъявителя: любой, у кого есть монеты, может участвовать в обмене с продавцом», причём это происходит в автоматическом режиме без непосредственного участия продавца, роль которого сводится к настройке автомата, загрузке товаров и инкассации денег, но от продавца не требуется непосредственного общения с покупателем. Смарт-контракт также самостоятельно выполняет описанные действия (например, предоставляет цифровой товар, отправляет деньги, открыто или закрыто публикует информацию), если выполнены заложенные в нём условия, точно так же, как это реализовано в торговом автомате.

В другой статье 1996 года он более подробно исследовал потенциальные возможности применения умных контрактов и более лаконично изложил саму суть: «Смарт-контракты — это набор обещаний в цифровом формате, включая протоколы, по которым стороны выполняют эти обещания»[4]. Уже к 1997 году был разработан ряд алгоритмов и протоколов, пригодных для базовой реализации идеи[5].

Но узким местом оставались системы платежей, которые на тот момент всегда имели доверенных посредников (администраторов), что не позволяло сделать систему абсолютно автоматической, действующей лишь согласно выполненным условиям вне зависимости от воли какого-либо исполнителя. Практические реализации концепции Ника Сабо стали возможными благодаря появлению в 2008 году технологии блокчейн[6], что обеспечило контрактам полную автономность и позволило отказаться от стороннего администратора, который выполнял роль контролёра и арбитра. Уже в первых версиях Биткойна через использование языка программирования скриптов стало возможным реализовать базовые функции умных контрактов. Но из соображений безопасности биткойн-скрипты не обладают полнотой по Тьюрингу и широкого применения для реализации умный контрактов не получили. Однако стали появляться разработки протоколов более высокого уровня (включая универсальные умные контракты) поверх протокола биткойна[7], по аналогии с тем, как поверх TCP/IP существует множество прикладных протоколов.

Умные контракты получили широкое распространение с появлением Ethereum, в котором изначально была встроена универсальная виртуальная машина, позволяющая писать код на нескольких разных языках программирования. Идея создания проекта появилась в 2013 году. В тот момент основатель журнала Bitcoin Magazine Виталик Бутерин пришёл к выводу, что технология блокчейна может использоваться значительно шире, не только в криптовалютах. Он выдвинул идею универсальной децентрализованной блокчейн-платформы, в которой любой желающий может программно реализовать разные системы хранения и обработки информации. Главное условие — действия должны быть описаны как математические правила[8].

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

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

Стороны подписывают умный контракт, используя методы, аналогичные подписанию отправки средств в действующих криптовалютных сетях. После подписания сторонами контракт сохраняется в блокчейне и вступает в силу. Для обеспечения автоматизированного исполнения обязательств контракта непременно требуется среда существования (узлы блокчейна Ethereum), которая позволяет полностью автоматизировать выполнение пунктов контракта. Это означает, что умные контракты смогут существовать только внутри среды, имеющей беспрепятственный доступ исполняемого кода к объектам умного контракта.

Все условия контракта должны иметь программное описание и ясную логику исполнения. В связи с этим первые умные контракты имеют задачу формализации наиболее простых взаимоотношений, состоящих из небольшого количества условий. Имея беспрепятственный доступ к объектам контракта, умный контракт отслеживает по указанным условиям достижения или нарушения пунктов и принимает самостоятельные решения, основываясь на запрограммированных условиях. Таким образом, основной принцип умного контракта состоит в полной автоматизации и достоверности исполнения договорных отношений[12].

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

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

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

Объекты умного контракта

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

Примеры применения

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

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

Перспективы

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

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

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

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

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

Недостатки

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

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

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

Безопасность

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

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

В 2023 году появилось сообщение об успешном аудите смарт-контрактов с помощью ChatGPT — чат-бота на базе искусственного интеллекта[29].

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:BC Шаблон:Криптовалюты