Смарт-контрактСмарт-контракт (англ. smart contract — умный контракт) — компьютерный алгоритм, содержащий условия договора, предназначенный для автоматического контроля и исполнения договорных отношений. Для работы смарт-контракта все условия и обязательства договора описываются на языке программирования, программа запускается на доверенной вычислительной системе. В настоящее время возможности исполнения смартконтрактов встречаются на платформах криптовалют. Первой страной, на государственном уровне подтвердившей юридическую силу смарт-контрактов, стала Беларусь[1]. ИсторияКонцепцию и термин «умный контракт» придумал Ник Сабо: в 1994 году появилась его концептуальная статья «Smart Contracts»[2]. Целью было реализовать коммерческую операцию через компьютерную сеть без участия посредников. В качестве простейшего примера Сабо писал, что «торговый автомат является контрактом на предъявителя: любой, у кого есть монеты, может участвовать в обмене с продавцом», причём это происходит в автоматическом режиме без непосредственного участия продавца, роль которого сводится к настройке автомата, загрузке товаров и инкассации денег, но от продавца не требуется непосредственного общения с покупателем. Смарт-контракт также самостоятельно выполняет описанные действия (например, предоставляет цифровой товар, отправляет деньги, открыто или закрыто публикует информацию), если выполнены заложенные в нём условия, точно так же, как это реализовано в торговом автомате. В другой статье 1996 года он более подробно исследовал потенциальные возможности применения умных контрактов и более лаконично изложил саму суть: «Смарт-контракты — это набор обещаний в цифровом формате, включая протоколы, по которым стороны выполняют эти обещания»[3]. Уже к 1997 году был разработан ряд алгоритмов и протоколов, пригодных для базовой реализации идеи[4]. Но узким местом оставались системы платежей, которые на тот момент всегда имели доверенных посредников (администраторов), что не позволяло сделать систему абсолютно автоматической, действующей лишь согласно выполненным условиям вне зависимости от воли какого-либо исполнителя. Практические реализации концепции Ника Сабо стали возможными благодаря появлению в 2008 году технологии блокчейн[5], что обеспечило контрактам полную автономность и позволило отказаться от стороннего администратора, который выполнял роль контролёра и арбитра. Уже в первых версиях Биткойна через использование языка программирования скриптов стало возможным реализовать базовые функции умных контрактов. Но из соображений безопасности биткойн-скрипты не обладают полнотой по Тьюрингу и широкого применения для реализации умных контрактов не получили. Однако стали появляться разработки протоколов более высокого уровня (включая универсальные умные контракты) поверх протокола биткойна[6], по аналогии с тем, как поверх TCP/IP существует множество прикладных протоколов. Умные контракты получили широкое распространение с появлением Ethereum, в котором изначально была встроена универсальная виртуальная машина, позволяющая писать код на нескольких разных языках программирования. Идея создания проекта появилась в 2013 году. В тот момент основатель журнала Bitcoin Magazine Виталик Бутерин пришёл к выводу, что технология блокчейна может использоваться значительно шире, не только в криптовалютах. Он выдвинул идею универсальной децентрализованной блокчейн-платформы, в которой любой желающий может программно реализовать разные системы хранения и обработки информации. Главное условие — действия должны быть описаны как математические правила[7]. Принцип работыСмарт-контракты Ethereum разрабатываются на одном из языков, спроектированных для трансляции в байт-код виртуальной машины Ethereum — Solidity (похож на Си или JavaScript), Vyper и Serpent (похожи на Python), LLL (низкоуровневая версия Лисп), Mutan (основан на Go)[8][9][10]. Стороны подписывают умный контракт, используя методы, аналогичные подписанию отправки средств в действующих криптовалютных сетях. После подписания сторонами контракт сохраняется в блокчейне и вступает в силу. Для обеспечения автоматизированного исполнения обязательств контракта непременно требуется среда существования (узлы блокчейна Ethereum), которая позволяет полностью автоматизировать выполнение пунктов контракта. Это означает, что умные контракты смогут существовать только внутри среды, имеющей беспрепятственный доступ исполняемого кода к объектам умного контракта. Все условия контракта должны иметь программное описание и ясную логику исполнения. В связи с этим первые умные контракты имеют задачу формализации наиболее простых взаимоотношений, состоящих из небольшого количества условий. Имея беспрепятственный доступ к объектам контракта, умный контракт отслеживает по указанным условиям достижения или нарушения пунктов и принимает самостоятельные решения, основываясь на запрограммированных условиях. Таким образом, основной принцип умного контракта состоит в полной автоматизации и достоверности исполнения договорных отношений[11]. Взаимодействовать смарт-контракты с внешними системами могут через блокчейн-оракулов, которые могут сопоставить условия смарт-контрактов и внешней информации. Оракул посылает информацию смарт-контракту из внешних ресурсов в понятном для блокчейна виде[12]. Для того, чтобы умные контракты могли существовать, требуются определённые условия:
Объекты умного контракта
Примеры применения
ПерспективыУмные контракты могут выполняться автоматически. Они основаны на криптографии и способны обеспечивать большую безопасность, чем традиционные контракты, основанные на праве, и снизить прочие трансакционные издержки, связанные с заключением договоров и возможных судебных издержек. Потенциальные сферы применения: здравоохранение, кредитование, избирательная система, медиа, интернет вещей, аренда, поставки, клиринг и т. д. По мнению британского журнала The Economist, умные контракты имеют перспективу стать наиболее важным приложением технологии блокчейн[15]. Применение инструментов смарт-контракта даёт импульс к появлению новых бизнес-моделей, что оказывает влияние на повышение конкуренции и развитие новых сервисов на финансовом рынке[16]. Юридическую значимость смарт-контракты могут получить при соответствии законам государства. Для этого нужно, чтобы смарт-контракты содержали условия и ограничения, установленные законодательством государства[19]. Беларусь стала первой страной в мире, законодательно закрепившей смарт-контракты 21 декабря 2017 года согласно Декрету о развитии цифровой экономики[1][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]. Примечания
Литература
Ссылки |
Portal di Ensiklopedia Dunia