Проблемы и перспективы практического применения смарт-контрактов — детальный разбор
Теоретическая концепция смарт-контрактов возникла еще в далеком 1994 году, благодаря стараниям Ника Сабо, но воплощение его идеи стало возможным лишь с появлением технологии блокчейн. В частности, практическая реализация смарт-контрактов стала возможной благодаря использованию таких элементов, как протокол децентрализованного консенсуса, криптографическая безопасность и общедоступный открытый реестр. Невзирая на вновь открывшиеся горизонты, смарт-контракты на данный момент фактически не применяются, а их широкое внедрение в будущем остается под большим вопросом. С чем это связано?
Проблема
В первую очередь, для определения перспектив использования смарт-контрактов необходимо исходить из того, что они применяются на базе технологии распределенного реестра (блокчейн). Это подразумевает наличие базы данных цифровых элементов и активов, распределенной по разным географическим зонам среди дата-центров или физических лиц. У каждого из таких участников сети в наличии есть своя копия реестра, идентичная всем остальным копиям. В случае если в реестр вносятся изменения, они тут же отображаются в копиях всех участников.
Это значит, что применение смарт-контрактов целесообразно исключительно в ситуациях, когда используется общедоступная база данных, изменения в которую вносятся самыми пользователями, без участия посредника.
Также, крайне важным является еще один аспект реализации смарт-контрактов – использование приватного ключа, с помощью которого и совершается доступ к цифровым активам. Если же необходимость в использовании такого ключа в отдельно взятом случае не возникает, это прямо указывает на то, что использование смарт-контракта лишено смысла.
Следует выделить такие проблемы практического применения смарт-контрактов:
отсутствие правового регулирования;
отсутствие привязки к определенной территории и юрисдикции;
использование в качестве расчетной единицы криптовалют;
проблемы, связанные с юридической конструкцией традиционных договоров как базы для программирования смарт-контрактов;
отсутствие необходимой инфраструктуры и широкой поддержки пользователей;
определение языка программирования смарт-контрактов.
Отсутствие правового регулирования смарт-контрактов
Чисто теоретически применение смарт-контрактов прямо сейчас, при отсутствии правового поля допускается исходя из таких правовых принципов как «свобода договора» и «разрешено все, что прямо не запрещено». Но покажите нам предпринимателя, который будет в восторге от предсказуемой реакции фискальных органов на использование в хозяйственной деятельности таких новомодных механизмов?! А это значит, что перед этим он трижды подумает и …. притормозит. Подождет лучших времен, так сказать.
Справедливости ради следует заметить, что такие времена приближаются не так уж и медленно. В данный момент некоторые страны, в том числе Россия, работают над внесением в Гражданский кодекс таких правовых институтов, как «смарт-контракт», определением базовых принципов их функционирования и т.д.
Исходя из этого, ни в коем случае не надо забрасывать решение остальных проблем с внедрением смарт-контрактов. Может случиться так, что вопрос с правовым регулированием в один прекрасный момент решится, но «вылезут» другие сложности, откуда не ждали.
Отсутствие привязки к определенной территории и юрисдикции
Невозможно определить на территории какого государства заключен смарт-контракт. В какой стране расположены активы? Каким законам подчиняется этот злополучный смарт-контракт? К какой юрисдикции принадлежит? Через призму таких вопросов в обществе складывается мнение о невозможности использования смарт-контрактов в принципе либо необходимости дальнейшего управления ими в ручном режиме. Это серьезная проблема.
Но давайте зададим простой вопрос – «как будет исполняться такой смарт-контракт?» и сами же на него и ответим. Автоматически, он будет исполняться автоматически благодаря программе, заложенному алгоритму и никакая юрисдикция, даже мировое правительство не способно этому помешать.
При выполнении смарт-контрактов спор не может возникнуть априори, а значит: так ли важны в практическом плане вопросы с юрисдикцией?
Использование в качестве расчетной единицы криптовалют
Данная проблема тесно связана с вопросами правового регулирования и, на первый взгляд, кажется неразрешимой, ведь в легальных операциях невозможно использовать «денежный суррогат». Есть решение.
В частности, разработчики на своих платформах выпускают стейблкоины (специальные токены с использованием технологии блокчейн). Как утверждают некоторые из них, в частности Tether, такие цифровые активы, по словам , привязаны к курсу американского доллара, полностью им обеспечены, а банковские счета с соответствующими фиатными резервами проходят регулярный аудит.
При использовании таких стейблкоинов осуществляется перемещение токенизированных долларов от одного лица другому. Говоря упрощенно, использование стейблкоинов можно рассматривать как способ трансформации фиатных средств в криптовалюту и наоборот. Конечно, утверждать, что стейблконы – надежный способ преобразования фиатных денег в цифровые активы еще рано, поскольку и появились они недавно, но вместе с тем, данный инструмент не лишен перспектив.
На сегодняшний момент, самыми известными являются такие стейблкоины: Tether USDT, USD Coin, TrueUSD, Gemini Dollar.
Проблемы, связанные с юридической конструкцией традиционных договоров как базы для программирования смарт-контрактов
Давайте на минуту предположим, что все остальные проблемы мы уже решили. И крипту легализовали, и законы приняли, и инфраструктуру построили. И вот садится команда «юрист – программист» работать над смарт-контрактом, связанным, к примеру, с поставкой товара.
За базу юрист предложит, конечно же, традиционный договор, даром что-ли разрабатывал их годами. И начнет: «пребывая в здравой памяти и при кристально чистом рассудке стороны решили провести переговоры, прийти к согласию, заключить и оформить договор поставки на ниже и вышеприведенных условиях в полном соотвестствии с действующим законодательством в порядке и способ, установленный самой Конституцией».
Но программисту нужна более формилизированная задача.
Витиеватые закрученные лексические обороты и сложные юридические конструкции прекрасны в отдельных случаях, например, в суде или когда клиенту нужно пустить пыль в глаза, но при работе с автоматизированными системами и математическими алгоритмами – они не лучший вариант. Простота смарт-контракта как раз и проистекает из самого механизма его работы, все шаги в котором четко прописаны и детерминированы.
Принцип детерминизма означает, что обработка конкретных данных в смарт-контракте всегда будет приводить к конкретному однозначному результату. В программу закладывается функция «ЕСЛИ оплата будет просрочена, ТО дверца автомобиля блокируется автоматически».
Поэтому уже сейчас при написании традиционных контрактов необходимо отказываться от неоправданно сложных конструкций и витиеватых оборотов. Это вполне может быть прекрасным и эффективным первым шагом для будущей эволюции.
Вторым шагом может стать постепенный пересмотр условий договоров, трансформация их положений в вид логики «Если ….., то ……….» и математических формул. И, наконец, использование простой, понятной лексики и создание такой структуры договоров, которая была бы гибкой и максимально адаптированной к применению в новых условиях.
Отсутствие необходимой инфраструктуры и широкой поддержки пользователей
Предполагается, что для выполнения смарт-контрактов будет необходима та или иная информация из внешних источников, например, температура воздуха и т.д.
Если смарт-контракт выполняется автоматически без участия людей, следуя при этом уже заложенным алгоритмам, то возникает проблема получения такой информации и – особенно – подтверждение ее достоверности.
Для решения этой задачи предлагается использовать программы «оракулы», но помимо нее существует и масса других проблем: отсутствие надлежащей инфраструктуры, плохая осведомленность населения о технологии блокчейн, непопулярность и недоверие к криптовалютам со стороны широких масс населения.
Скорее всего, решение этих сложностей – вопрос времени, но работать в направлении популяризации криптовалют и укрепления доверия к ним нужно уже сейчас.
Определение языка программирования смарт-контрактов
На сегодняшний день, одним из самых распространенных языков для написания смарт-контрактов является язык Solidity, который в частности используется в среде Ethereum. То, что актуальная на сегодняшний день версия этого языка 0.4.25 свидетельствует о том, что даже его разработчики признают его “сырость” и в ближайшем будущем следует ожидать его развития. И хотя этот язык находится на ранней стадии развития, с его помощью уже возможно создавать разнообразные контракты. Возможности данного языка программирования дают повод к научным дискуссиям о его тьюринг-полноте (тьюринг-полным называется язык, который позволяет запрограммировать любой вычислительный алгоритм). Несмотря на то, что аргументы против тьюринг-полноты Solidity весьма весомы, следует помнить о том, что этот язык и подобные ему находятся в стадии активного развития, а его специфическая область применения и не предусматривает решения любых задач.
Однако на сегодняшний день возможности, предоставляемые такими языками, открываются только для программистов, что не сильно облегчает работу юристам, не владеющих навыками программирования.
Таким образом, если предположить, что в будущем применение смарт-контрактов будет носить массовый характер, то уже сейчас необходимо задуматься об упрощении инструментов для их создания. Возможно, целесообразной будет разработка последовательного, однозначного и, что немаловажно, простого в применении специального языка программирования для смарт-контрактов или специального инструментария для перевода привычных многим договоров в логику смарт-контракта.
Вместе с тем, на практике уже сейчас существует реальная возможность для создания смарт-контрактов, направленных на сбор криптовалюты (secure pooling of funds) для определенных целей. Это, в частности, уже можно сделать на платформе Trustee, где любой пользователь, не владеющий никакими специальными знаниями и языками программирования способен сгенерировать и загрузить в сеть смарт-контракт буквально за несколько минут. Пользование платформой удобно, не требует дополнительных затрат и проведения дополнительных процедур.
Итак, на сегодня остается больше вопросов, чем ответов, больше проблем, чем решений. Работы и сложностей в этом направлении – масса, но стремительно меняющийся современный мир уже не раз доказал: то, что еще вчера казалось диковинкой, сегодня уже безнадежно устарело.