Смарт-контракт в договорной практике: программный код и «цифровая надстройка» классического договора

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

Например, проведенное мной исследование общих вопросов нематериальных объектов дало основания заключить, что новые (вновь возникшие) объекты далеко не всегда могут становиться объектами гражданских прав и вовсе не могут становиться объектами гражданского оборота. В свою очередь разработка проблематики токенов позволила увидеть несовершенство доктринальных позиций, а за ними – и законодательных решений в отношении бездокументарных ценных бумаг, что в итоге выступает препятствием для уяснения правовой природы токенов, включая NFT.

Настоящее исследование, посвященное анализу смарт-контрактов (англ. smart contract), преследует те же цели – дать ему правовую оценку, что требует прежде всего тщательного исследования самой сущности смарт-контракта.

  1. Исходная идея смарт-контракта
    Автор термина «смарт-контракт» – американский криптограф Ник Сабо, введший этот термин в употребление в 1994 году, подчеркивал, что концепция договора и его принципы формировались в праве многие века, тогда как цифровая революция ставит задачу создать новые институты за гораздо более короткий период времени. Исходя из этого он предлагал разрабатывать «полезные цифровые институты» с учетом существующих законов, процедур и теорий для применения их в киберпространстве. Главной целью разработки смарт-контрактов изначально ставилось обеспечение соблюдения общих условий договора, которое бы превосходило предусмотренное для традиционных («бумажных») соглашений, а также минимизация нарушений и снижение различного рода издержек, включая расходы на посредников, потерь от мошенничества, затрат на арбитраж и др.

Поясняя суть предложенного термина, автор обращает внимание на то, что компьютеры и сети упрощают и удешевляют выполнение сложных алгоритмов и передачу больших сообщений, а объединение учеными-компьютерщиками и криптографами алгоритмов и сообщений позволяет создавать широкий спектр новых протоколов, обеспечивающих защиту новых отношений в новой среде – «подобно тому как договорное право, бизнес-формы и бухгалтерский контроль долгое время формализовали и защищали деловые отношения в мире на бумажной основе». Поиск контрагентов, переговоры, принятие обязательств, исполнение и вынесение решений – все это автор относит к сфере применения смарт-контрактов, подчеркивая, что «смарт-контракты используют протоколы и пользовательские интерфейсы для облегчения всех этапов процесса заключения контрактов».

Очевидно, что Н. Сабо вовсе не уравнивает смарт-контракт и договор, а по сути рассматривает первый как совокупность программно-аппаратных средств для обеспечения второго (речь идет о криптографических и других механизмах компьютерной безопасности).

Сказанное позволяет заключить, что смарт-контракт не есть простая замена формы договора с устаревшей бумажной на цифровую. Смарт-контракт предполагает снабжение договора полноценным автоматизированным «снаряжением»: разнообразные протоколы, формирующие основу смарт-контракта, могут обеспечить договор необходимым (автономно работающим) инструментарием на всем его пути – от заключения до исполнения, и даже более того – смарт-контракт может быть встроен в программное обеспечение физического объекта (например, автомобиль), что позволит осуществлять его передачу от одного лица другому путем передачи контроля над ключами управления.

Это подробно описывает Н. Сабо: «Основная идея смарт-контрактов заключается в том, что многие виды договорных положений (такие как залог, поручительство, разграничение прав собственности и т.д.) могут быть встроены в аппаратное и программное обеспечение, с которыми мы имеем дело, таким образом, чтобы сделать нарушение контракта дорогостоящим (при желании, иногда непомерно дорогостоящим) для нарушителя. Канонический пример из реальной жизни, который мы можем считать примитивным предком смарт-контрактов, – скромный торговый автомат. В пределах ограниченной суммы потенциальных потерь (сумма в кассе должна быть меньше, чем стоимость взлома этого автомата) торговый автомат принимает монеты и с помощью простого механизма… выдает сдачу и товар в соответствии с отображаемой ценой. Торговый автомат – это договор на предъявителя: любой, у кого есть монеты, может участвовать в обмене с продавцом. Ящик с замком и другие механизмы безопасности защищают хранящиеся монеты и содержимое от злоумышленников в достаточной степени, чтобы обеспечить прибыльное развертывание торговых автоматов в самых разных областях.

Смарт-контракты выходят за рамки торгового автомата: предлагается внедрять (смарт)контракты во все виды имущества, которое имеет ценность и контролируется цифровыми средствами… Стратегия разработки смарт-контрактов предполагает, что мы последовательно совершенствуем протоколы безопасности для более полного внедрения в имущество условий договора, которые с ним связаны. Эти протоколы будут передавать контроль над криптографическими ключами для управления имуществом лицу, которое по праву владеет этим имуществом, на основании условий договора».

Вследствие сказанного можно говорить о том, что под смарт-контрактами Ник Сабо понимал криптографические и другие инструменты компьютерной безопасности, которые обеспечивают заключение, исполнение и контроль договора в цифровой среде. И его определение понятия смарт-контракта как «компьютеризированного протокола транзакций, который выполняет условия контракта», упоминаемое в большинстве работ по исследуемой тематике, является тому подтверждением.

  1. Смарт-контракты на блокчейн-платформах
    Ник Сабо определил основные принципы работы смарт-контракта в начале 90-х гг. Однако в то время их невозможно было эффективно использовать из-за уровня развития технологий. М.Ю. Юрасов и Д.А. Поздняков констатируют: «В связи с этим у сторон возникала необходимость обращаться к третьим лицам (банки, поручители, страховые организации и т.д.), которые способствовали бы добросовестному исполнению договора. Получалось, что перенесение условий договора (полностью или частично) в компьютерный код не имело смысла, а чаще всего влекло для сторон дополнительные издержки».

Подходящая среда для полноценной реализации смарт-контракта возникла с появлением технологии блокчейна, являющегося разновидностью распределенного реестра.

На первом этапе развития блокчейна, когда его основное предназначение усматривалось в создании альтернативной государственным платежной системы (bitcoin; 2009), инструменты блокчейна не были спроектированы специально под смарт-контракты (протокол bitcoin плохо подходил для смарт-контрактов в качестве базового протокола). Широкое применение смарт-контракты нашли на втором этапе развития блокчейна, когда последний стал использоваться не только для проведения расчетов, но и для осуществления разнообразных транзакций. Именно с момента запуска блокчейна Ethereum (2015), который был задуман программистом Виталиком Бутериным для создания пользователями децентрализованных приложений, все желающие получили возможность писать на блокчейне собственные программы, применяя смарт-контракты.

При этом надо отметить, что В. Бутерин, описывая в Белой книге Ethereum «смарт-контракты нового поколения», предложил отличное от данного Н. Сабо понятие, определив их как «системы, которые автоматически перемещают цифровые активы в соответствии с произвольными, заранее определенными правилами». Примечателен и еще один момент, на который обращается внимание в литературе: если вначале В. Бутерин говорил о том, что смарт-контракты могут быть реализованы с помощью скриптов Ethereum, то затем каждый скрипт, выполняемый в блокчейне Ethereum, стал называться смарт-контрактом. В итоге это привело к тому, что термин «смарт-контракты» нередко отождествляется с Ethereum, хотя используются они и на других блокчейн-платформах – в частности, AxCore, Corda, Digital Asset Platform, Fabric и др. – в целом характеризуемых как «помощники» смарт-контракта.

Очевидно, что сегодня смарт-контракты вовсе не обязательно связаны с выполнением условий классического договора (как это предполагал в свое время Н. Сабо), а предназначены для автоматического выполнения, контроля или документирования различных действий и событий в рамках различных приложений. В связи с этим отмечается: «В качестве примера смарт-контракта как компьютерной программы можно привести программу по хранению целых чисел «SimpleStorage». Хранение целых чисел – это ее единственное предназначение. В этом «смарт-контракте» нет ни сторон, ни каких-либо прав и обязанностей сторон, то есть, ничего из того, к чему привыкли юристы, когда речь идет о контракте (договоре)».

С учетом сказанного неудивительно, что в 2018 году В. Бутерин признал, что пожалел об использовании термина «смарт-контракт»: «Честно говоря, сейчас я весьма сожалею о том, что мы взяли на вооружение термин «смарт-контракты». Мне следовало назвать их как-нибудь более скучно и технично, что-то вроде «неизменяемых скриптов».

Поскольку смарт-контракты используются в блокчейне, в литературе нередко обращается внимание на уникальные характеристики, выделяющие их среди прочих компьютерных программ. В частности, Джош Старк указал следующее: «Во-первых, сама программа записывается в блокчейне, что придает ей свойственную блокчейну неизменность и устойчивость к цензуре. Во-вторых, программа может сама управлять активами блокчейна – хранить и переводить суммы в криптовалюте. В-третьих, программа выполняется блокчейном, то есть она всегда будет выполняться так, как написано, и никто не сможет вмешаться в ее работу». Кроме того, автор подчеркивал, что смарт-контракт во многих случаях используется не изолированно (автономно), а в качестве небольшой составляющей части крупного приложения на блокчейн-платформе.

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

  1. Смарт-контракт как компьютерная программа («код смарт-контракта»)
    Примечательно, что разногласия в отношении природы смарт-контракта характерны не только для юристов, но и для технических специалистов. Причем интересно, что в отношении последних Дж. Старк еще в 2016 году отметил, что их дискуссии о природе смарт-контракта «на самом деле являются просто спорами между конкурирующими терминологиями». В связи с этим автор предложил четко разграничивать случаи, когда термин используется для обозначения (1) конкретной технологии, которая хранится, проверяется и выполняется в блокчейне – автор именует ее как «код смарт-контракта» (англ. smart contract code) и (2) применения этой технологии в качестве дополнения или замены юридических контрактов, для чего им используется термин «умные юридические контракты» (англ. smart legal contracts). Дж. Старк специально подчеркивает: «Использование одного и того же термина для обозначения разных понятий делает невозможным ответ даже на простые вопросы».

Поддерживая предложенную Дж. Старком идею использования разных терминов для различных аспектов смарт-контракта, тем не менее не могу безоговорочно согласиться с предложенной им градацией и терминологией. И если наименование «код смарт-контракта» применительно к смарт-контракту в контексте программного кода возражений не вызывает (его правовая оценка будет дана ниже), то трактовка смарт-контракта в качестве «дополнения или замены юридических контрактов» и наименование «умный юридический контракт» поддержать вряд ли возможно (этому вопросу будет посвящена следующая часть настоящей статьи).

Понимание смарт-контракта в качестве криптографически защищенного программного кода достаточно часто встречается в литературе, поэтому с учетом сказанного в предыдущей части настоящей работы в прояснении нуждается вопрос соотношения понятий «код» и «компьютерная программа» (в терминологии ГК РФ «программа для ЭВМ»), приобретающий особое значение в контексте права интеллектуальной собственности.

Прежде всего следует подчеркнуть, что вслед за Соглашением по торговым аспектам прав интеллектуальной собственности (англ. Agreement on Trade-Related Aspects of Intellectual Property Rights (TRIPS Agreement)) национальные законодательства, прямо относящие компьютерные программы к числу объектов авторских прав, нередко упоминают исходный и объектный код.

В частности, в ст. 1261 Гражданского кодекса указывается, что авторские права могут возникать на все виды программ для ЭВМ, которые могут быть выражены на любом языке и в любой форме, включая исходный текст и объектный код. То есть исходный код (в терминологии ГК РФ «исходный текст») и объектный код в российской законодательстве прямо отнесены к разновидностям формы компьютерной программы. Причем содержание нормы названной статьи свидетельствует о том, что и другие разновидности кода могут быть отнесены к форме компьютерной программы, что требует уточнения в части того, о каких еще разновидностях может пойти речь.

Изначально компьютерная программа (как набор процессорных команд) записывается в формате исходного кода (англ. source code) – на любом удобном для программиста-разработчика языке программирования, например, на языке C++, Java, Python, Ruby, JavaScript (языки высокого уровня) либо на языке ассемблера (языки низкого уровня). Исходный код – человекочитаемый код, он может быть сохранен в обычном текстовом формате, что позволяет его править программисту, знающему соответствующий язык. Нередко исходный код содержит комментарии программиста-разработчика, необходимые для лучшего понимания и настройки компьютерной программы.

Компьютерная программа, написанная на человекочитаемом языке программирования, легко может быть прочитана другим человеком, знакомым с этим языком, но никак не компьютером (машиной), процессор которого воспринимает только машинный язык. Поэтому для того, чтобы сделать возможным исполнение команд и инструкций непосредственно процессором компьютера, исходный код проходит фазу компиляции – преобразования исходного кода в объектный (англ. object code) с помощью компилятора или иного интерпретатора.

В отношении объектного кода обычно отмечается, что он содержит в себе набор процессорных команд на машиночитаемом языке и не может быть понят человеком. С учетом этого в случае возникновения потребности соответствующие изменения вносятся не в объектный, а в исходный код, который затем снова компилируется или переводится в объектный код интерпретатором. Обратное же преобразование объектного кода в исходный (декомпиляция) не может быть произведено автоматически и признается сложным процессом «обратной разработки» (англ. reverse engineering).

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

Нельзя не отметить, что иногда объектный код рассматривается как лишь промежуточное представление компьютерной программы, как часть машиночитаемого кода, которая еще не увязана в законченную программу. При таком подходе признается, что завершенной компьютерная программа становится в результате обработки объектного кода компоновщиком, по итогам чего код предстает в двоичном формате (в виде нулей и единиц), представляя собой машиночитаемый исполняемый код (англ. executable code): «исполняемый код – это файл или программа, которая указывает задачи в соответствии с закодированными инструкциями, которые процессор может непосредственно выполнить». Надо заметить, что программисты, обращая особое внимание на то, что объектный и исполняемый код крайне сложно разграничивать, подчеркивают: «Основное различие между объектным и исполняемым кодом заключается в том, что объектный код – это программа или файл, который создается после компиляции исходного кода, а исполняемый код – это файл или программа, которая указывает задачи в соответствии с закодированными инструкциями, которые процессор может непосредственно выполнить».

В контексте права интеллектуальной собственности изложенное дает основание для следующих заключений. Исходный код компьютерной программы разрабатывается программистом и рассматривается как результат его интеллектуальной деятельности, вследствие чего созданная им программа получает авторско-правовую охрану.

В свою очередь объектный код нет оснований признавать самостоятельным результатом интеллектуальной деятельности, поскольку он возникает в результате автоматизированного преобразования (посредством компилятора или интерпретатора) исходного кода в объектный. Иными словами, объектный код – это лишь другая форма одной и той же программы. Вследствие сказанного правовую охрану получает не код (исходный, объектный, исполняемый), а именно компьютерная программа независимо от формы ее представления, то есть вне зависимости от того, в исходном, объектном, исполняемом или каком-либо ином коде она представлена.

Для целей настоящей работы различаются смарт-контракты, создаваемые для целей (1) работы приложения (его можно обозначить как «код смарт-контракта для приложения») и (2) автоматизации заключения, исполнения или прекращения конкретного договора («код смарт-контракта для договора»).

Под «кодом смарт-контракта для приложения» в рамках настоящей статьи понимается компьютерная программа, обычно входящая в состав информационной системы (программного приложения) и применяемая для различных целей – таких как, например, ведение бухгалтерского учета предприятия через распределенный реестр, автоматизации управления компанией, а также используемая, в частности, «для передачи цифровых активов в процессе их предпринимательского оборота, для голосования (на общем собрании участников корпорации, в ходе проведения заседания совета директоров и даже в ходе референдумов), а также при проведении так называемого первичного размещения токенов». В контексте права интеллектуальной собственности здесь могут исследоваться различные аспекты авторских прав на компьютерную программу, но в целом ситуация не имеет специфики, абсолютно ординарна и потому не будет исследоваться в рамках настоящей статьи.

О «коде смарт-контракта для договора» может идти речь, когда смарт-контракт разрабатывается программистом специально для автоматизации заключения, исполнения или прекращения определенного договора или его части (некоторых условий).

Важно заметить, что при написании такого смарт-контракта программист вовсе не осуществляет перевод договора с одного языка на другой (с «человеческого» в машиночитаемый), как иногда отмечается в публикациях, а создает специальную компьютерную программу, которая затем переводится в исполняемый код. Это дает программисту все основания рассчитывать на авторско-правую защиту его творения.

Не менее значимо, что, когда смарт-контракт создается на основе текста согласованного сторонами договора, исходный код – это вовсе не текст самого договора, а набор процессорных команд, который пишет программист специально для заключения, исполнения или прекращения этого договора. То есть в машиночитаемый (исполняемый) код переводится вовсе не сам договор, а написанная на его основе компьютерная программа, изначально созданная на человекочитаемом языке программирования.

Сказанное дает основания утверждать, что «код смарт-контракта для договора» представляет собой специальную компьютерную программу, которая обеспечивает договор всем необходимым для его автоматического заключения, исполнения и (или) прекращения. Вследствие этого смарт-контракт надо рассматривать как вполне самостоятельную «цифровую надстройку», которая очевидно связана с договором и является инструментом его заключения, исполнения или прекращения, но не может рассматриваться как собственно сам договор. Эта «цифровая надстройка», будучи компьютерной программой, подчиняется прежде всего нормам права интеллектуальной собственности, но может и должна быть учтена при применении положений договорного права.

  1. Смарт-контракт как «цифровая надстройка» классического договора (смарт-контракт в договорной практике)
    Несмотря на ярко выраженную техническую сущность смарт-контрактов юристы, склонные анализировать новые явления на предмет присутствия в них юридической составляющей и отчасти сбитые с толку термином «умный контракт», начали активно исследовать смарт-контракт в контексте договорного права, высказывая самые разнообразные суждения.

Анализ российских и зарубежных публикаций свидетельствует о том, что в юридической доктрине к настоящему времени не выработано единого мнения о природе смарт-контрактов. Напротив, в литературе встречаются полярно различающиеся точки зрения, в которых отражено разное понимание смарт-контракта. Его предлагается рассматривать в качестве: нового вида или типа договора; новой формы взаимодействия договаривающихся сторон; автономной формы сделки; нового института договорного права; компьютерной программы, не подпадающей под гражданско-правовое регулирование и проч.

В российской литературе превалирует позиция, по которой смарт-контракт есть новый (самостоятельный) тип или вид договора – авторы сравнивают смарт-контракт с классическим договором, выявляя совпадающие или отличительные признаки. Формированию такой позиции немало способствовала статья А.И. Савельева с одиозным названием «Договорное право 2.0: «умные» контракты как начало конца классического договорного права», которая стала одной из первых русскоязычных работ на данную тему: автор, предлагая понимать смарт-контракт как договор, попытался уместить его «в существующие каноны договорного права». Такой взгляд, конечно, был поддержан не всеми: например, А. Тюльканов, обоснованно критикуя саму эту идею, подчеркивал, что «смарт-контракт едва ли укладывается в прокрустово ложе, уготованное ему нормами договорного права, отчего по сути теряется какой-либо смысл классификации смарт-контракта как договора». Несогласие с трактовкой смарт-контракта в качестве договора демонстрируют и другие авторы, на основе проведенных исследований заключающие: «Смарт-контракт не может быть реализован вне цифровых технологий и пространства, что опровергает суждения о перспективе вытеснения смарт-контрактами всех используемых в обороте договорных форм… Отсутствуют основания для рассмотрения смарт-контракта как нового классификационного элемента системы договорного регулирования (вид или тип договора)».

В зарубежной литературе достаточно часто делается упор на то, что смарт-контракт является компьютерной программой, и обращается внимание на необходимость четко отличать его от самого договора, заключению, исполнению, прекращению которого она способствует – предназначение первого состоит «в автоматическом оформлении, исполнении и прекращении какого-либо договора». В связи с этим обычно подчеркивается, что смарт-контракт является только инструментом заключения, исполнения или прекращения договора, обеспечивая осуществление разнообразных транзакций: например, при выполнении определенных договорных условий производя перечисление оплаты или открывая доступ к имуществу, а в случае просрочки должника удерживая с последнего штраф или пеню и проч.

Разногласия юристов в отношении природы смарт-контрактов отчетливо проявляются при разработке нового правового регулирования. Например, в США в разных штатах реализован различный подход при определении сущности смарт-контракта. Часть штатов законодательно закрепила дефиницию смарт-контракта как компьютерной программы, которая управляется событиями, функционирует на основании распределенного, децентрализованного и воспроизводимого реестра, позволяет хранить активы и совершать с ними транзакции через этот реестр (см., например, законодательство Аризоны, Луизианы). Другие штаты пошли по пути отнесения смарт-контрактов к числу договоров (например, в Blockchain Technology Act штате Иллинойс смарт-контракт определен как контракт, записанный в качестве электронного документа, который может быть проверен с помощью блокчейна).

Неверный вектор в понимании нового технологического явления и неправильная его правовая квалификация не может не вызывать правоприменительные проблемы. Это крайне отрицательно сказывается на эффективности защиты прав граждан и юридических лиц. Поэтому законодатель должен решать этот вопрос четко – не ограничиваясь введением в правовое поле легального понятия «смарт-контракт» (и может быть даже и обходясь только перечислением характеризующих его черт), а закрепляя подходы, которые позволят решать возникающие на практике проблемы.

Как обосновывалось выше, техническая сущность смарт-контракта препятствует его трактовке в качестве классического договора, вследствие чего нет оснований изменять основополагающие положения договорного права. Но, будучи «цифровой надстройкой» классического договора, смарт-контракт требует некоторого специального регулирования, которое даст ответы на поставленные практикой вопросы.

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

Так, очень актуальным является вопрос действительности договора, заключенного сторонами устно и зафиксированного только в коде смарт-контракта, при том что национальное законодательство для таких случаев предписывает письменную форму сделки. В американской литературе в связи с этим высказывается мнение, что требование письменной формы может быть преодолено с помощью специального законодательства: например, Единый закон об электронных транзакциях (Uniform Electronic Transactions Act (UETA)), принятый в 1999 г. и ставший основой законодательства в 47 штатах США, предусматривает, что за некоторыми исключениями электронные записи, которые включают записи, созданные компьютерными программами, и электронные подписи имеют такую же юридическую силу, как и их письменные аналоги. Вместе с тем, например, германские исследователи исходят из того, что машиночитаемый (исполняемый) код не способен выразить волеизъявление сторон ввиду того, что он нечитаем для человека.

Ввиду подобных разночтений представляется интересным разобрать обозначенный вопрос более подробно.

Прежде всего необходимо обратить особое внимание на то, что исполняемый (машиночитаемый) код – это форма компьютерной программы (смарт-контракта), а не самого договора, о чем говорилось в предыдущей части настоящей статьи. Вследствие этого при создании «кода смарт-контракта для договора» форма самого договора остается изначальной: она может быть классической письменной – в виде одного «бумажного» документа или «бумажных» писем сторон; электронной – в случае заключения договора посредством электронной почты, в мессенджерах и проч.; и даже устной, что, конечно, несколько усложняет, но не исключает создание на ее основе смарт-контракта.

Примечательно, что последнее обстоятельство повлекло за собой предложение различать две парадигмы смарт-контракта. Для случаев, когда код разрабатывается для договора, составленного в виде текста и имеющего прямую ссылку на использование смарт-контракта, предлагается наименование «вспомогательные смарт-контракты» (англ. ancillary smart contracts). Для ситуаций, когда стороны договариваются устно и затем фиксируют согласованные ими условия сразу в коде (без оформления текстовым соглашением) предлагается употреблять наименование «смарт-контракты только в форме кода» (англ. code-only smart contracts).

С учетом сказанного можно заключить следующее. Когда законодательство, предусматривая требование о письменной форме сделки, признает такую форму соблюденной, если сделка совершена с помощью электронных средств, «смарт-контракт только в форме кода» вполне вписывается в установленные правовые рамки. Но надо иметь в виду, что закон для таких случаев может устанавливать некоторые дополнительные условия.

В то же время вполне допустимым видится использование «смарт-контракта только в форме кода» для целей подтверждения самого факта заключения сторонами договора. О возможности рассматривать смарт-контракт как доказательство заключения договора и техническое (автоматическое) исполнение договора или его отдельных положений упоминается во французской литературе, да и в российских публикациях признается, что смарт-контракт, записанный в блокчейне, может «интерпретироваться как объективное доказательство достижения сторонами юридически действительного соглашения, заключенного в устной форме посредством конклюдентных действий».

Ряд проблем в сфере применения смарт-контракта связан с сущностными различиями, существующими между естественным и компьютерным (машинным) языками: в отличие от машинного языка, предполагающего только одно значение и один результат, для естественного языка, как известно, свойственна многозначность, использование отсылочных категорий, интерпретирование. В литературе подчеркивается, что указанное должно обязательно учитываться в методологии составления и толкования договора при записи его условий в форме программного кода. Кроме того, сторонам рекомендуется составлять для программиста отдельный «список условий», которые должны выполняться с помощью смарт-контракта, – это облегчит программисту «расшифровку» договора для целей написания кода.

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

Нельзя исключать и того, что при написании смарт-контракта программист может допустить ошибку в коде, которая, например, заблокирует автоматическую выплату платежа по договору. Такая ошибка ни в коей мере не влияет на его авторское право на компьютерную программу (программист продолжает оставаться автором даже неработающей компьютерной программы), но она станет препятствием для надлежащего и своевременного исполнения договора и, вполне возможно, приведет к возникновению убытков у сторон договора. В связи с этим необходимо изначально определиться с распределением ответственности в таких обстоятельствах и пределом ответственности программиста, а также решить вопрос страхования рисков на случай, если смарт-контракт не обеспечил выполнение действий, предусмотренных условиями договора.

Обозначенные и другие практические вопросы не требуют создания специального закона о смарт-контрактах – часть из них может быть решена точечными дополнениями действующего законодательства, другие требуют не правового регулирования, а создания обычаев, некоторые – будут решаться по-разному самими сторонами. Это обусловлено тем, что смарт-контракт как «цифровая надстройка» классического договора представляет собой практический (технический), а не правовой инструмент договорной практики.

Подводя итоги, надо подчеркнуть, что несмотря на присутствие слова «контракт» в наименовании, смарт-контракт остается компьютерной программой, что является непреодолимым препятствием для уравнивания его с договором в гражданско-правовом смысле. Четкость в понимании предмета – идет ли речь о смарт-контракте как программном коде или смарт-контракте, выступающем «цифровой надстройкой» классического договора, – позволяет находить ответы на возникающие вопросы.

Марина Рожкова, доктор юридических наук, главный научный сотрудник Института законодательства и сравнительного правоведения при Правительстве РФ, советник по науке декана юридического факультета Государственного академического университета гуманитарных наук, профессор Российской государственной академии интеллектуальной собственности, президент IP CLUB