Профессор Майкл Майнелли (Michael Mainelli) является председателем совета директоров аналитического центра Z/Yen Group и старшим советником Long Finance. Боб МакДауэлл (Bob McDowall) является членом  Z/Yen и председателем комитета по политике и финансам государства на одном из Нормандских островов.

В данной статье Майнелл и и МакДауэлл рассматривают проблемы, с которыми сталкиваются основанные на блокчейне смарт-контракты и дают рекомендации по их наиболее оптимальному применению.

Насколько умён ваш код?

Так называемые «умные контракты» - это не что иное, как реализованная научная фантастика. Известный специалист в области компьютерных наук Ник Сабо (Nick Szabo) употреблял и продвигал этот термин ещё в начале 1990-х годов. Однако, интерес к «умным контрактам» стал проявляться только в последнее время, и причиной этому являются Биткоин и блокчейн.

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

И именно здесь мы подходим к границе, разделяющей смарт-контракты и «простой код».

Иногда компьютерный код может повести себя довольно глупо. Фрагменты кода можно сравнить с «Учениками Чародея», которые выполняют то, на что мы были нацелены во время написания кода, не обращая никакого внимания на то, что наши цели могли поменяться.

Автор Ларри Нивен объясняет:

«Именно это относится к людям, которые думают, что ненавидят компьютеры. На самом же деле, они ненавидят плохих программистов.»

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

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

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

Идеи

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

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

Спрайты представляют собой код, помещенный в распределенную структуру данных, который можно запускать на основе встроенных частей языков Python, Lisp или Go, и рекурсивно записанный в блокчейн. Их часто используют для выполнения простых функций защиты, например, архитектуры ключей или паролей.

Войти в Ethereum

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

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

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

Ограничения контрактов

Основной проблемой в сценарии смарт-контрактов является то, что они полагаются на внешние источники данных.  Например, смарт-контракты предлагались для управления прогнозируемыми рынками или выборами в США. Такие типы программ не являются самодостаточными. Они полагаются на внешние данные, а некоторые из таких данных могут быть ненадежными.

Много способов легализации

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

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

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

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

Есть несколько интересных путей решения данных проблем, однако финансовые сервисы и технологии пока еще находятся на ранних этапах их изучения.

Не так быстро

Так чего же нам следует ожидать? В ближайшем будущем термин «простые и краткосрочные контракты» будет превалировать над «умными долгосрочными контрактами» по трем основным причинам.

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

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

Примерами простых задач являются ключи безопасности, временные метки или архивирование.

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

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

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