В криптоиндустрии принцип Code Is Law многие считают основополагающим. Согласно концепту, предложенному активистом Лоуренсом Лессигом еще в 1999 году, если мы применим его к блокчейну, — автономно работающий код смарт-контрактов определяет и суть сделки, и правила ее проведения, и отношения сторон. Если он что-либо допускает, значит это законно.
В колонке для ForkLog юрист и партнер фирмы Aurum Сергей Островский разбирает принцип Code Is Law, сравнивает смарт-контракты и классические договоры, а также дает несколько рекомендаций для использования концепта на практике.
Материал носит исключительно информационный характер и не является юридической консультацией. Для получения консультации по вашей конкретной ситуации обратитесь к квалифицированному юристу.
Ключевая уловка
Концепт Code Is Law устанавливает верховенство кода — все, что написано в коде, правильно и имеет высшую силу вне зависимости от прочих обстоятельств. После развертывания код работает автономно и выполняет сделку в соответствии с теми условиями, которые были определены заранее. Никаких посредников, судов или ручного вмешательства — только чистая автономная логика.
Но вот ключевая уловка: хотя он и может управлять выполнением транзакций, код не существует в правовом вакууме. Наоборот: классическое право и законодательство продолжают действовать, они регулируют блокчейн-транзакции и даже имеют преимущество над кодом.
Простой пример. Представьте, что вы опытный хакер, обнаруживший уязвимость в блокчейн-протоколе. Код содержит брешь, и вы используете ее, чтобы вывести миллионы. Вы думаете: «Если код позволил эту транзакцию, значит она законна». Но то, что вы воспринимаете как хитрый ход, закон будет рассматривать как кражу или мошенничество.
Смарт-контракты и традиционные договоры
Чтобы лучше понять, как смарт-контракты вписываются в классические правовые системы, сравним их с традиционными договорами.
Основные различия
В традиционных договорах центральную роль играет намерение сторон. Суды придают большое значение тому, о чем договорились стороны и как они интерпретируют соглашение. Суд может установить обстоятельства заключения сделки, намерения и ожидания ее участников, интерпретировать непонятные условия и даже изменить контракт, например, в связи с непредвиденными событиями.
Однако смарт-контракты гибкостью не обладают. Они исполняются автоматически на основе заранее определенной логики, зачастую не оставляя пространства для толкований или изменений. Если возникает ошибка или непредвиденное событие, смарт-контракт будет выполнен в соответствии с изначальными параметрами, что может привести к несправедливым или непреднамеренным результатам.
Интерпретация и намерения сторон
На практике намерения сторон и их реальная договоренность имеют значительный юридический вес. Если спор по смарт-контракту попадет в суд, он в первую очередь установит фактическую договоренность сторон и их реальные намерения, чтобы определить суть сделки, не полагаясь на автоматическую логику.
Суды могут вмешаться, если строгое исполнение кода приводит к несправедливым последствиям, например в случаях мошенничества, ошибки или непредвиденных обстоятельств. Если смарт-контракт допустил непреднамеренный результат либо несправедливый исход в сделке, суд может отдать предпочтение первоначальным намерениям сторон, даже если это полностью игнорирует логику смарт-контракта.
Таким образом, с юридической точки зрения, контракт — это не только «то, что написано», но и намерения сторон, их ожидания, обстоятельства заключения договора и более широкий контекст сделки в целом. Смарт-контракт же не включает указанные элементы, а лишь отвечает за исполнение сделки.
Почему концепт «Код — это закон» не может быть абсолютным
Дискуссия о Code Is Law затрагивает более глубокие философские вопросы, особенно спор между правовым позитивизмом и естественным правом. Правовой позитивизм утверждает, что законы — это правила, созданные людьми и обеспечиваемые общественными институтами: судами, регуляторами и законодательными органами. С этой точки зрения законы пишутся, интерпретируются и применяются людьми, что обеспечивает гибкость и адаптацию для достижения справедливых результатов. С другой стороны, естественное право предполагает, что определенные законы являются врожденными и универсальными, подобно законам природы.
Code Is Law больше соответствует естественному праву. Концепт рассматривает код как неизменный набор правил, управляющих поведением без необходимости человеческого вмешательства. Однако современные юридические системы основаны на позитивизме. Это значит, что созданный людьми закон имеет приоритет над самовыполняющимся кодом. Поэтому в реальности закон всегда превалирует, это и есть «верховенство права».
Правительства активно регулируют блокчейн и криптовалюты, создают специальные правовые режимы и стараются всячески интегрировать Web3 в существующую юридическую систему. И криптосделки, и люди, которые за ними стоят, живут по тем или иным законам, и их сделки регулируются правом. Без правового признания правила, основанные на коде, теряют юридическую силу.
Если код — это закон, почему эксплойты и взломы незаконны?
Как уже говорилось, уязвимость в коде не дает пользователям законного права на ее использование. То, что код допускает определенное действие, не означает, что оно является законным или этически приемлемым. Код не является абсолютным и с юридической точки зрения уступает как закону, так и договоренностям сторон. Следовательно, правомерность какого-либо действия будет прежде всего определяться исходя из закона и договоренностей, и лишь затем — из кода.
Принцип «содержание важнее формы» (substance over form), который широко применяется регуляторами разных стран, говорит о том, что реальность и суть взаимоотношений имеют большее значение, чем формальная сторона и то, как эти отношения презентуются или подаются. Смарт-контракт — это форма транзакции, а договоренность и намерения сторон — ее суть.
Поэтому использование уязвимости смарт-контракта может рассматриваться как несанкционированный доступ или взлом. Извлечение выгоды из эксплойта будет квалифицироваться как мошенничество или кража. Жертвы могут подавать иски и привлекать правоохранительные органы, что может привести к серьезным юридическим последствиям.
Предположим, кто-то использует уязвимость в вашем DeFi-протоколе, чтобы присвоить средства. Хакеры могут утверждать, что «Код — это закон» и они просто следовали заложенным в код правилам. Однако правовые системы, скорее всего, увидят в этом своего рода ограбление банка, что подчеркивает превосходство юридических норм над кодом.
Случай The DAO
В 2016 году The DAO — та самая оригинальная ДАО — привлекла более $150 млн в Ethereum, стремясь революционизировать венчурное инвестирование с помощью смарт-контрактов. Однако хакер сумел воспользоваться уязвимостью и вывести из протокола более $60 млн.
Здесь возникает дилемма. С одной стороны, код разрешал эксплойт, и технически хакер следовал установленным правилам. С другой стороны, этически его действия считаются кражей. Из этого следует вопрос: вывод средств хакером — это легитимное действие или преступление?
Некоторые утверждали в защиту хакера, что раз код позволил эксплойт, он был законен и совершался в рамках установленных правил системы. Однако более широкое сообщество Ethereum сочло это кражей и приняло решение провести спорный хардфорк блокчейна, откатив сеть к состоянию до атаки.
Как использовать «Код — это закон» на практике?
Вот три рекомендации о том, как криптобизнес и Web3-проекты могут применять концепт Code Is Law на практике.
Используйте гибридные структуры
Одного кода недостаточно — смарт-контракты, какими бы мощными они ни были, должны вписываться в существующие правовые рамки. Чтобы устранить разрыв между кодом и законодательством, можно использовать гибридную модель, в которой смарт-контракт регулирует исполнение транзакции, а юридические инструменты — более широкий контекст самой сделки, такие как правовая квалификация, условия и намерения сторон.
Многие криптопроекты уже используют гибридные структуры, зачастую даже не осознавая этого. Как пример — распределение токенов во время private sale. Обычно оно осуществляется через смарт-контракты, которые отвечают за процессинг самой транзакции — перемещение активов — в то время как юридический договор регулирует сделку, определяет намерения и обязательства сторон.
Внедряйте аварийные механизмы
Неизменяемость — одно из ключевых ограничений смарт-контракта. Преимущество с точки зрения безопасности, которое может быстро стать проблемой при возникновении ошибок или непредвиденных ситуаций. Чтобы адресовать возможные сложности, можно предусмотреть аварийные механизмы, которые позволяют вмешательство в исключительных ситуациях, не ставя децентрализацию под угрозу. Например, kill switches или модели управления (governance), позволяющие приостанавливать транзакции или вносить изменения в смарт-контракт в случае эксплойта или существенной ошибки.
Обеспечьте соответствие законодательству
Несмотря на привлекательность философии «Код — это закон», комплаенс остается важным аспектом любого криптопроекта. По мере того как правительства и регуляторы по всему миру продолжают внедрять новое регулирование, Web3-проектам следует уделять особое внимание вопросам регуляторной стратегии и комплаенса.
В заключение
Code Is Law — красивый концепт, но реальность такова, что код и смарт-контракты не могут существовать в изоляции от права. Право и закон всегда будут иметь преимущественную силу перед договором, а договор — перед кодом. Будьте проактивны и используйте гибридные структуры, в которых юридический инструмент регулирует сделку, а код ее исполняет. В конце концов, право дополняет и усиливает инновации там, где оно верно используется.