Смарт-контракт (англ. Smart contract — “умный контракт”) — компьютерный алгоритм, предназначенный для заключения и поддержания самоисполняемых контрактов, выполняемых в блокчейн-среде.
Такие контракты записываются в виде кода, существующего в распределенном реестре — блокчейне, который поддерживается и управляется сетью компьютеров.
Простыми словами, умные контракты позволяют обмениваться активами, не прибегая к услугам посредников.
В чем фишка смарт-контрактов?
Смарт-контракты дают возможность выполнять надежные и конфиденциальные транзакции без участия внешних посредников в лице банков или государственных органов. Кроме того, такие транзакции являются прослеживаемыми, прозрачными и необратимыми.
Смарт-контракты не только содержат информацию об обязательствах сторон и санкциях за их нарушение, но и сами автоматически обеспечивают выполнение всех условий договора.
Как появились умные контракты?
Первые идеи смарт-контрактов были предложены в 1994 году Ником Сабо. Он описал смарт-контракт как компьютерный протокол, который на основе математических алгоритмов самостоятельно проводит сделки с полным контролем над их выполнением.
Впервые идеи Сабо воплотились на практике вместе с появлением первой криптовалюты биткоин и лежащей в ее основе технологии блокчейн. Некоторые принципы смарт-контрактов были заложены в протоколе биткоина. Однако большинство современных блокчейнов, включая биткоин, не обладают полнотой по Тьюрингу, поэтому их «контракты» представляют собой относительно простые конструкции, такие как мультиподпись или транзакции с отложенным исполнением.
Широкое практическое применение смарт-контракты получили с появлением и развитием проекта Ethereum. В 2013 году будущий его основатель Виталик Бутерин пришел к выводу, что биткоин плохо подходит в качестве базового протокола для смарт-контрактов, поскольку изначально не был спроектирован под эту задачу. Впоследствии Бутерин решил создать с нуля наиболее подходящий для смарт-контрактов протокол.
Как работает смарт-контракт и какие его обязательные элементы?
Обычно смарт-контракт записывается в блокчейн, где вся его логика помещается в программный контейнер — блок. Последний объединяет все сообщения, относящиеся к конкретному смарт-контракту. Сообщения могут выполнять роль входов и выходов программного кода смарт-контракта и приводить к каким-либо действиям за пределами блокчейна, в реальном или цифровом мире.
Обязательные атрибуты смарт-контракта:
- использование методов электронной подписи на основе публичных и приватных ключей, имеющихся у двух или более сторон соглашения;
- наличие приватной децентрализованной среды (например, Ethereum), в которую записываются смарт-контракты и которая поддерживает входы и выходы для оракулов, обеспечивающих связь реального и цифрового мира;
- сам предмет договора и наличие необходимых для его исполнения инструментов (криптовалютных расчетных счетов, программ-оракулов и т. д.);
- точно описанные условия его исполнения, которые участники договора подтверждают подписью, а также достоверность источника цифровых данных.
Какие бывают смарт-контракты?
В зависимости от степени автоматизации смарт-контракты могут быть:
- Полностью автоматизированными.
- С копией на бумажном носителе.
- Преимущественно на бумажном носителе, при этом часть положений перенесена в программный код (например, когда автоматизированы только платежи).
Решения на базе блокчейна находятся лишь на ранней стадии развития. Технологии тестируются и дорабатываются, поэтому на практике пока что не используются по-настоящему сложные смарт-контракты. На сегодняшний день подавляющее большинство смарт-контрактов относятся к третьему типу, где автоматизированы лишь отдельные аспекты соглашений, в частности, обмен денежных средств на имущественные права. Пример: покупка с использованием смарт-контракта квартиры в Киеве через децентрализованный маркетплейс Propy (оплата проводилась в Ethereum, а продавец территориально находился в Нью-Йорке).
Где еще могут использоваться смарт-контракты?
Потенциальные возможности и сферы использования смарт-контрактов обширны — от простой мультиподписи до операций с производными финансовыми инструментами. Мультиподпись (multisig, escrow) — простейший, классический пример смарт-контракта. С ее помощью не доверяющие друг другу контрагенты могут заморозить некоторую сумму монет в блокчейне таким образом, что в случае необходимости потратить эту сумму потребуются подписи более половины участников.
Смарт-контракты широко используются в сфере первичных распределений монет (ICO). Например, умный контракт может быть запрограммирован таким образом, что отправляя криптовалюту на кошелек проекта, участники краудсейла будут уверены, что в случае провала кампании их средства будут автоматически возвращены; если же финансовая цель ICO будет достигнута, то средства будут перечислены разработчикам. Однако сделано это будет при условии, что достаточное число участников мультиподписи (если она предусмотрена) активируют свои ключи, тем самым лично подтвердив добросовестность проекта.
К наиболее перспективным сферам применения смарт-контрактов многие эксперты относят финансовый рынок (банковские услуги, страхование, торговлю деривативами), бухгалтерский учет и аудит, управление цепями поставок и логистику, регистрацию прав собственности, всевозможные голосования, умный транспорт, цифровую идентификацию личности и т. д.
Какие преимущества у смарт-контрактов по сравнению с традиционными договорами?
Сторонники смарт-контрактов убеждены, что многие виды договорных отношений могут быть частично или полностью самовыполняемыми. Лежащая в основе умных контрактов криптография обеспечивает более высокий уровень безопасности, чем традиционные контракты, основанные на праве. Смарт-контракты могут снижать транзакционные издержки, а также исключать риски неоднозначных трактовок условий или несправедливых решений судов.
Таким образом, среди основных преимуществ умных контрактов можно выделить:
- автономность (для заключения и подтверждения сделки не нужно искать посредника в лице брокера, банка, нотариуса и т. д.);
- надежность и безопасность (многократно продублированный контракт хранится в зашифрованном виде в блокчейне;
- безопасность системы гарантируется математическими законами и делает маловероятными хакерские атаки, а также подмену информации задним числом);
- экономия и скорость — благодаря блокчейну устраняются многие посредники и автоматизируются процессы;
- точность — благодаря автоматизации и минимизации ручной работы снижается вероятность ошибок, которые часто появляются при заполнении форм в процессе согласования и при ручном проведении различных операций по контракту.
Есть ли у смарт-контрактов недостатки?
Умные контракты пока далеки от совершенства: блокчейн-инфраструктура все еще недостаточно развита и в самом коде встречаются критические ошибки. Кроме этого, по-прежнему много пробелов в нормативно-правовом регулировании смарт-контрактов, неразвиты программы-оракулы, призванные обеспечить привязку цифрового мира к реальному и предоставить контрактам входные данные для их исполнения. Все это создает определенные препятствия для интеграции смарт-контрактов в повседневную деятельность организаций и отдельных людей.
В ряде случаев смарт-контракты являются менее гибкими по сравнению с обычными контрактами. Попадающие в блокчейн сведения невозможно в дальнейшем изменить, поэтому исключительно важно соблюдать точность и достоверность исходной информации, а также не допустить ошибок при вводе данных.
Кроме того, многим банкам и крупным корпорациям не подходит обмен конфиденциальными данным через открытые распределенные реестры. Также по-прежнему актуальны проблемы масштабирования и скорости обработки транзакций.
На решение этих и других проблем и ограничений направлены силы множества разработчиков, и в рамках различных платформ они решаются по-разному. Прогресс не стоит на месте, и в будущем многие вопросы и проблемы будут решены, а экономические агенты полностью перейдут от составления традиционных контрактов к их цифровому воплощению и даже к их реализации при поддержке искусственного интеллекта.