Смарт-контракт — это децентрализованное приложение, которое выполняет бизнес-логику в ответ на события. Результатом выполнения смарт-контракта может быть обмен деньгами, предоставление услуг, разблокировка контента, защищённого системой управления цифровыми правами, или другим типам манипулирования данными, например, изменение имени собственника земельного участка. Смарт-контракты также могут использоваться для обеспечения защиты конфиденциальности, например, путём облегчения выборочного раскрытия защищённых данных для удовлетворения конкретного запроса.
Существует множество архитектур разработки, распространения, управления и обновления программ, лежащих в основе смарт-контрактов. Они могут храниться как часть блокчейна или другой технологии распределённого реестра и интегрированы в различные платёжные механизмы и цифровые обмены, которые могут включать биткойны и другие криптовалюты.
Несмотря на название, смарт-контракты не являются юридически обязательными контрактами. Их основная функция — программное выполнение бизнес-логики, которая выполняет различные задачи, процессы или транзакции, которые были запрограммированы в них для реагирования на заданный набор условий. Чтобы связать это с юридически обязательными соглашениями между сторонам, необходимо предпринять определённые юридические действия.
Как работает смарт-контракт?
Смарт-контракт — это вид программы, содержащей бизнес-логику, работающую на специальной виртуальной машине, встроенной в блокчейн или другой тип распределённого реестра.

Для создания создания смарт-контракта заказчик ставит разработчикам задачу, описывая свои требования к желаемому поведению смарт-контракта в ответ на различные события или обстоятельства. Простыми событиями могут быть такие условия, как авторизация платежа, отправка инвойса или считывание показаний счётчика коммунальных услуг. Более сложная логика может описывать такие события, как вычисление стоимости производного финансового инструмента (дериватива) и обработка сделки по деривативу, или автоматическая выплата страхового платежа в случае смерти человека или стихийного бедствия.
Разработчики на платформе разработки создают смарт-контракты, тестируют логику их работы, чтобы убедиться, что она работает так, как задумано, а также не сожержит ли оно уязвимостей безопасности. После утверждения контракта он развёртывается в существующем блокчейне или другой инфраструктуре распределённого реестра.
После развертывания смарт-контракта он настраивается для прослушивания обновлений событий от источника криптографически защищённых потоковых данных («оракула»). Смарт-контракт выполняется после получения соответствующего набора событий от одного или нескольких оракулов.
Приложения для смарт-контрактов и блокчейн
Блокчейн идеально подходит для хранения смарт-контрактов из-за присущей ему безопасности и стабильности технологии. Данные смарт-контрактов зашифрованы в общей распределённой «бухгалтерской книге» (блокчейне), что делает практически невозможным потерю информации, хранящейся в блоках.
Гибкость — ещё одно преимущество блокчейна для смарт-контрактов. Разработчики могут хранить практически любые типы данных в цепочке блоков, и у них есть широкий выбор вариантов транзакций.
Смарт-контракты на основе блокчейна помогают сделать транзакции и другие бизнес-процессы более безопасными, эффективными и рентабельными, тем самым снижая транзакционные издержки.
Например, в 2016 году округ Кук, штат Иллинойс, использовал блокчейн для создания базы данных для передачи и отслеживания прав собственности. Когда эти транзакции выполняются в дополнение к традиционному бумажному документу, покупатель получает цифровой токен, который может использоваться в качестве доказательства права собственности.
Разнообразные отрасли могут получить выгоду от использования смарт-контрактов на основе блокчейна, как части своих цепочек поставок.
Автоматизация платежей за медицинские услуги с использованием смарт-контрактов может предотвратить мошенничество, когда недобросовестные врачи могут назначать ненужные препараты или процедуры.
Музыкальная индустрия может записывать право собственности на музыку в блокчейне, а затем развёртывать смарт-контракт, чтобы гарантировать выплату роялти, когда музыка используется в коммерческих целях.
Смарт-контракты и блокчейн могут принести пользу автомобильной промышленности, храня информацию об обслуживании транспортных средств, истории аварий и владения.
Платформы смарт-контрактов
Самой популярной платформой смарт-контрактов является Ethereum, которая также является платформой для криптовалют. Сообщество Ethereum разработало язык Solidity для написания приложений смарт-контрактов, предназначенных для работы в среде выполнения виртуальной машины Ethereum (EVM).
Другие популярные среды раработки смарт-контрактов включают язык WebAssembly (WASM) и язык моделирования цифровых активов (DAML). WASM позволяет разработчикам создавать смарт-контракты, которые могут работать в веб-браузере и интегрироваться в блокчейны и другие распределенные реестры с использованием различных языков, таких как C, JavaScript, TypeScript и Rust.
Преимущества смарт-контракта
Использование смарт-контрактов даёт ряд бизнес-преимуществ.
Эффективность затрат. Смарт-контракты могут автоматизировать бизнес-процессы, выходящие за рамки организационных. Это может устранить многие операционные расходы и сэкономить ресурсы, в том числе персонала, необходимого для наблюдения за ходом сложного процесса.
Скорость обработки. Смарт-контракты могут повысить скорость обработки бизнес-процессов, выполняемых на нескольких предприятиях.
Автономность. Смарт-контракты выполняются сетью автоматически и уменьшают потребность в третьей стороне для управления транзакциями между предприятиями.
Надежность. Смарт-контракты также могут использовать преимущества блокчейн-реестров и других технологий распределенных реестров для ведения поддающейся проверке записи обо всех действиях, связанных с выполнением сложных процессов, и которые не могут быть изменены постфактум. Он также поддерживает автоматические транзакции, которые исключают возможность человеческой ошибки и обеспечивают точность выполнения контрактов.
Распространённые проблемы
При внедрении смарт-контрактов необходимо учитывать множество возможных проблем.
Безопасность. Смарт-контракты защищают определённые ключевые элементы бизнес-процесса, в котором участвуют несколько сторон. Однако это новая технология, и хакеры продолжают выявлять новые цели для атак, которые позволяют им скомпрометировать намерения предприятий. В первые дни существования Ethereum хакерам, использующим смарт-контракты, удалось украсть 50 миллионов долларов в криптовалюте. IEEE задокументировала опасения по поводу несоответствий в инструментах, используемых для обнаружения различных уязвимостей в системе безопасности смарт-контрактов.
Честность. Один оракул (один из источников потоковых данных, который отправляет обновления событий) должен быть защищён от хакеров, подделывающих события, запускающие смарт-контракты, когда они не должны этого делать. Он должен быть распознавать аваторизовано ли какое-либо событие, что может быть сложной задачей для опеределённыхсценариев.
Выравнивание. Смарт-контракты могут ускорить выполнение процессов, охватывающих несколько сторон, независимо от того, согласуются ли они с намерениями и пониманием всех сторон. Но эта возможность также может усилить воздействие ущерба, который может произойти, когда скорость исполнения событий выходит из-под контроля, особенно когда нет способа остановить или ослабить непреднамеренное поведение. Исследовательская компания Gartner отметила, что это создаёт проблемы с масштабируемостью и управляемостью смарт-контрактов, которые ещё предстоит решить.
Управление. Смарт-контракты сложно реализовать и управлять ими. Они часто имеют такую конфигурацию, что их трудно или невозможно изменить. Хотя это можно рассматривать как преимущество безопасности, стороны не могут вносить какие-либо изменения в соглашение о смарт-контракте или включать новые детали без разработки нового контракта.
Будущее смарт-контрактов
Смарт-контракты — довольно сложная логика процесса, и их потенциал выходит за рамки простой передачи активов. Они могут выполнять транзакции в широком диапазоне областей, от юридических процессов до страховых премий, соглашений о краудфандинге и финансовых деривативов.
Смарт-контракты могут устранить посредничество в юридической и финансовой областях за счёт упрощения и автоматизации рутинных и повторяющихся процессов, за которые люди в настоящее время платят банкам и юристам значительные суммы.
Роль юристов также может измениться в будущем, поскольку смарт-контракты получат такие возможности, как вынесение судебных решений по традиционным юридическим контрактам и настраиваемые шаблоны смарт-контрактов. Кроме того, способность смарт-контрактов не только автоматизировать процессы, но и контролировать их течение, то их потенциал для аудита и оценки рисков в реальном времени могут быть полезны для соблюдения нормативных требований.
Смарт-контракты также обещают автоматизировать процессы, которые выполняются в Интернете Вещей (IoT) и периферийных вычислительных устройствах (Edge Computing). Например, коммунальная компания может предложить услугу, в которой опередлённые смарт-контракты могут выполняться в ответ на изменения тарифов на электроэнергию в координации с устройствами, встроенными в счётчики электроэнергии. Например, когда цены достигают заданного порога, смарт-контракт может автоматически отключать особенно энергоёмкие устройства, например, кондиционеры.
Еще один потенциальный вариант использования — это интеграция смарт-контрактов в торговые автоматы, которые могут отпускать товары в ответ на платежи в криптовалюте.
В транспортной отрасли поставок и логистики смарт-контракты могут разблокировать средства после того, как грузовой контейнер прибыл в пункт назначения, и датчики Интернета вещей показывают, что он остался неоткрытым, а его содержимое поддерживалось при нужной температуре, соответствующей влажности и не слишком сильно давилось в пути.
История создания смарт-контрактов
Понятие смарт-контракта было впервые предложено Ником Сабо (Nick Szabo) в 1994 году. Сабо — ученый-юрист и криптограф, который заложил основы цифровой валюты. В то время смарт-контракты не вызывали особого интереса, потому что не существовало цифровой платформы или технологии распределённого реестра, которые могли бы их поддерживать.
В 2008 году была разработана криптовалюта биткойн в сети блокчейна с общей распределённой «бухгалтерской книгой», которая отслеживает денежные транзакции. Эта технология позволила разработать программный код смарт-контракта, который используется для ввода условий контракта в блокчейн.
Многие платформы позволяют использовать смарт-контракты, включая Ethereum, Hyperledger, Tezos и Corda. Сегодня, в связи с растущим распространением биткойнов и поддержкой технологий блокчейн, популярность смарт-контрактов растет.