смарт контракт блокчейн что это простыми словами
Иное применение блокчейнов: Смарт-контракты
В одном из наших первых постов мы рассказывали, что блокчейн представляет собой децентрализованную систему, работа которой поддерживается множеством компьютеров, объединенных в сеть. Блокчейн, хотя и обладает определенного рода недостатками (ограниченной скоростью работы, по сравнению с централизованными базами данных, а также высоким энергопотреблением — в случае блокчейнов на основе доказательства работы), все равно остается безопасным и надежным решением. Поэтому к этой технологии присматриваются разного рода финансовые институты, банки и даже гиганты IT-индустрии (IBM, Cisco и Intel).
В 1994 году криптограф Ник Сабо (Nick Szabo) предложил использовать компьютеры и криптографию для автоматического выполнения и аудита контрактов. Позднее это привело к появлению так называемых умных контрактов, или просто смарт-контрактов. Такие контракты оформляются в виде кода, а затем сохраняются в системе, где за их выполнением следит сеть компьютеров, управляющая блокчейном. О них мы и поговорим в нашем сегодняшнем материале.
Что такое смарт-контракт
Смарт-контракт — это электронный алгоритм, облегчающий или даже автоматизирующий процесс заключения договоров. Основная идея — модернизация трудоемкой процедуры таким образом, чтобы все стороны понимали соглашение одинаково и без расхождений в трактовках. Для описания условий и исходов смарт-контрактов используются языки программирования и математические инструменты (например, криптография с открытым ключом), а выполняются такие контракты на компьютерах.
Умные контракты позволяют обмениваться активами, не прибегая к услугам посредников. Кроме того, смарт-контракты не просто содержат информацию об обязательствах сторон: программный код подтверждает выполнение условий контракта и автоматически определяет, что делать с указанным активом (передать участнику сделки, вернуться отправителю или нечто посложнее). Все это время в децентрализованном реестре хранится копия этого документа, что обеспечивает его защищенность и достоверность и не позволяет ни одной из сторон изменить предопределенные условия контракта.
Одно из главных преимуществ использования блокчейна как транспорта для смарт-контрактов — отсутствие необходимости привлекать третью сторону в качестве гаранта соблюдения условий. Блокчейн распределен между многими узлами сети и руководствуется формализованным набором правил, что сводит к минимуму риск неправильного выполнения контракта (и того, что контракт не будет выполнен вообще из-за разногласий между сторонами). Таким образом, блокчейн позволяет не полагаться на авторитет посредника.
Поскольку вся информация в блокчейне хранится в виде децентрализованной бухгалтерской книги, стороны смарт-контрактов и третьи стороны (например, бухгалтеры, аудиторы или регуляторы) получают возможность легко проводить аудит выполнения контрактов. Более того, этот аудит можно проводить в реальном времени и легко автоматизировать.
Особенности консенсуса в блокчейнах обеспечивают атомарность выполнения контракта — он может быть или успешно выполнен, или отменен с активацией автоматической очистки аналогично транзакциям в СУБД. Невозможно «застрять» посреди выполнения контракта или получить различные результаты выполнения на разных узлах сети.
Ethereum — пожалуй, наиболее популярный блокчейн для написания сложных смарт-контрактов. Вот пример кода, написанного для контракта на специально разработанном языке смарт-контрактов Solidity (язык достаточно легок для восприятия и похож на JavaScript, только со статической типизацией). Этот код реализует простейший токен, то есть полностью цифровой актив, который можно выпускать и переводить между кошельками Ethereum. В рамках смарт-контракта при каждом запросе на перевод токенов автоматически проверяется наличие необходимого их количества. Если все в порядке, то смарт-контракт изменяет баланс токена для отправителя и получателя.
Как видно из кода, смарт-контракты в Ethereum представляют собой объекты (точнее, агенты), хранящие состояние и методы, при помощи которых это состояние обновляется. Транзакции в Ethereum, соответственно, представляют собой вызовы методов контрактов. Контракты могут взаимодействовать между собой, вызывая методы других контрактов, но любое действие в конечном счете инициируется транзакцией из-за пределов блокчейна (то есть невозможно, например, настроить смарт-контракт Ethereum так, чтобы он выполнялся по расписанию).
На это есть несколько причин. Смарт-контракты должны выполняться одинаково на всех узлах сети (иначе блокчейн Ethereum расщепится на несколько частей) и должны быть проверяемыми. Поэтому взаимодействия с внешним миром для смарт-контрактов ограничиваются. По этой же причине смарт-контракты Ethereum не могут читать или писать локальные файлы или взаимодействовать с сетью — они выполняются на специально созданной для Ethereum виртуальной машине.
Программирование смарт-контрактов в той или иной степени возможно в подавляющем большинстве блокчейнов. При этом объектно-ориентированный подход Ethereum — далеко не единственный. Есть и другие — зачастую вдохновленные академическими исследованиями — языки программирования, которые куда лучше реализуют ключевые требования к смарт-контрактам. Например, некоторые блокчейны вроде Synereo используют исчисление процессов (подход, используемый в Erlang и Go), представляя смарт-контракты как процессы, взаимодействующие между собой через каналы сообщений.
На биткойн-блокчейне смарт-контракты представлены условиями, при которых можно тратить биткойны. Как уже было отмечено, биткойн-блокчейн строится на транзакциях. Эти транзакции содержат один или несколько вводов и выводов. При этом каждый ввод транзакции является неизрасходованным выводом (UTXO — Unspent Transaction Output) одной из предыдущих транзакций, записанных в блокчейне.
Любая транзакция расходует выходы предыдущих транзакций и производит новые выходы, которые будут употреблены будущими транзакциями, причем только один раз. Эта структура обладает множеством полезных математических свойств, включающих также конструктивное доказательство того, что одни и те же токены никогда не будут потрачены дважды, если каждая транзакция доказывает, что сумма ее входов больше, чем сумма ее выходов. При этом каждый вывод транзакции ассоциируется с ценностью, то есть некоторым целым числом, обозначающим количество расходуемых биткойнов.
Также каждый неизрасходованный вывод должен подразумевать пользователя (или несколько пользователей), способного потратить стоимость, связанную с UTXO. Чтобы выполнить это условие, биткойн-протокол включает в себя скрипты. С каждым UTXO в биткойн-сети ассоциируется запирающий сценарий, который определяет условия, когда этот биткойн можно потратить.
Сценарий выглядит как последовательность инструкций для стековой машины, а-ля Forth. Инструкции сценария выполняются по очереди, а каждая инструкция может влиять на стек, например, добавлять в него новый элемент, выталкивать элемент с верхушки стека, менять два верхних элемента стека местами и так далее. В языке сценариев биткойна есть инструкции для ветвления, а вот циклов нет — язык намеренно является неполным по Тьюрингу для того, чтобы минимизировать риски DoS-атак.
Чтобы запирающий сценарий успешно выполнился, надо предоставить отпирающий сценарий, который тоже является последовательностью инструкций для стековой машины. Он будет выполнен до запирающего сценария и сформирует для него начальный стек. В простейшем случае запирающий сценарий приводит некоторый открытый ключ и требует цифровой подписи соответствующим закрытым ключом:
// 1. Инициализация
сценарий:
стек: пусто
// 2. Выполняется единственная инструкция отпирающего сценария
сценарий: пусто
стек:
// 3. Начинается запирающий сценарий
сценарий: CHECKSIG
стек:
// 4. Первая инструкция — добавить ключ в стек
сценарий: CHECKSIG
стек:
// 5. Вторая инструкция — проверить подпись
сценарий:
стек:
В биткойне реализуемы и более сложные смарт-контракты, например, контракт депонирования средств с возможностью возврата по таймауту:
IF
// Требует любые 2 из 3 подписей от Алисы, Боба или арбитра.
2 3 CHECKMULTISIG
ELSE
// Проверяет, что со времени поступления средств на адрес депонирования
// прошло 7 дней.
// DROP — инструкция вытолкнуть из стека элемент; здесь она нужна
// для обратной совместимости — CHECKSEQUENCEVERIFY распознается
// не всеми версиями узлов биткойна
CHECKSEQUENCEVERIFY DROP
// Если предыдущая проверка успешна, то средства может забрать Алиса
CHECKSIG
ENDIF
Этот сценарий полезен в том случае, если Алиса платит Бобу биткойны за некоторый товар, но стороны не доверяют друг другу — Алиса не хочет платить до получения товара, а Боб не хочет отдавать товар до получения биткойнов. В этом случае Алиса и Боб могут выбрать арбитра, который будет разрешать возможные спорные ситуации. После этого Алиса отправит средства на адрес, ассоциированный со сценарием выше.
В случае успешного выполнения контракта Боб получит возможность забрать средства, подписав транзакцию вместе с Алисой. Если же возникнет спорная ситуация, может вмешаться арбитр и принять сторону Алисы или Боба, подписав транзакцию вместе с одним из них. Наконец, если с момента перевода средств на адрес прошло много времени (скажем, 7 дней, как в примере выше), Алиса может вернуть депонированные средства обратно, даже без одобрения арбитра или Боба.
В терминах стековой машины биткойна, варианты отпирающего сценария могут быть такие:
// Перевод средств по согласию Алисы и Боба.
// Первый 0 необходим из-за бага в инструкции MULTISIG —
// она берет из стека на один элемент больше чем нужно.
// Последняя единица активирует ветку IF в запирающем сценарии.
0 1
// Арбитр согласился с Алисой
0 1
// Арбитр согласился с Бобом
0 1
// Возврат средств по тайм-ауту.
// 0 активирует ветку ELSE в запирающем сценарии.
// Этот сценарий не будет валидным, если тайм-аут еще не прошел.
0
Rootstock — «саженец» в блокчейн-среде
Биткойн-блокчейн, хотя и обладает самой высокой стабильностью и безопасностью среди всех блокчейнов, из-за своих размеров все же лишен определенной гибкости, когда дело касается внедрения новых технологий. По этой причине для работы со смарт-контрактами в основном используется платформа Ethereum, так как это была первая технология, которая реализовала умные контракты в удобном для использования виде. Однако технология сталкивалась с определенными неудачами, например, в прошлом году из-за ошибки в коде, написанном на технологии Ethereum, хакеры украли порядка 64 млн долларов.
Поэтому сообщество задумалось о создании сети, которая брала бы лучшее от двух миров: надежность и защищенность от биткойна и удобство работы от Ethereum. Это привело к появлению блокчейн-решения Rootstock от RSK Labs, которая 22 мая получила инвестиции в размере 3,5 млн долларов. В развитие проекта вложились Энтони ди Иорио (Anthony Di Iorio), CEO криптовалютного кошелька Jaxx, а также несколько майнинговых фирм, в том числе Bitfury и Bitmain.
В одном из интервью генеральный директор RKS Labs Диего Зальдивар (Diego Gutierrez Zaldivar) отметил, что целью проекта является создание блокчейна, который бы получил поддержку как биткойн-майнеров, так и разработчиков приложений для смарт-контрактов, сейчас работающих с Ethereum.
По своей сути, Rootstock представляет собой децентрализованную Тьюринг-полную платформу для смарт-контрактов. Вот только вместо того, чтобы формировать всю систему с нуля, Rootstock использует экосистему биткойна, но с некоторыми улучшениями. На сегодняшний день платформа способна обрабатывать 400 транзакций за секунду, в то время как биткойн может обрабатывать лишь семь. В перспективе RSK планирует достигнуть значения в 2 000 TPS, используя протокол LTCP (Lumino Transaction Compression Protocol).
Самое большое преимущество Rootstock над другими платформами, использующими собственные блокчейны, – это объединенный майнинг (merged mining) с биткойном, что поднимает ее безопасность до уровня старшей блокчейн-сети. Технология пока испытывается в тестовой сети, но в скором времени будет запущена в реальную жизнь. Учитывая, что RSK использует биткойн-блокчейн, который на сегодняшний день является самым безопасным блокчейном, смарт-контракты на RSK смогут превзойти Ethereum в некоторых вопросах защиты. Например, они предоставят большую защищенность против отката транзакций в блокчейне и «атаки 51%».
Будущее и применение умных контрактов
Благодаря своим свойствам — безопасность системы гарантируется математическими законами (а не авторитетом посредника), лежащими в основе технологии блокчейна и биткойна в частности — смарт-контракты находят применение в разных сферах деятельности. Одним из потенциальных направлений развития смарт-контрактов является выборная система. Умные контракты позволят полностью исключить вероятность вмешательства в выборы третьими лицами. В этом случае голоса избирателей будут помещаться в распределенный реестр (естественно, в зашифрованном и анонимизированном виде).
Другое применение цифровых контрактов — в логистике. В сфере снабжения задействовано большое число различных документов, которые необходимо подписать и утвердить на разных уровнях. Это создает лазейки для мошенников, которые получают возможность заработать. Блокчейн позволяет построить систему таким образом, что каждый из участников цепочки поставок будет иметь доступ к электронной системе, контролирующей все процессы выполнения работ. Это оказывается эффективно при работе с документами в целом. Например, банк Barclays применяет смарт-контракты для регистрации перехода прав собственности и автоматической регистрации платежей в кредитные организации.
Еще одна сфера, в которой смарт-контракты найдут применение, — это автоиндустрия. С помощью умных контрактов страховые компании смогут устанавливать размер взносов в зависимости от того, как и в каких условиях водители управляют автомобилями. Такие системы даже смогут определять, кто был виноват в аварии: датчики или водитель, а также разрешать более сложные дорожные инциденты.
Стоит отметить и другие индустрии, такие как кредитование и бухгалтерский учет. Здесь смарт-контракты будут использоваться для оценки рисков и проведения аудита в реальном времени. На сайте Blockchain Technologies говорится, что умные контракты будут представлять собой бумажно-электронный гибрид, когда они подтверждаются блокчейном, а затем распечатываются в виде бумажной копии.
При этом многие участники рынка убеждены, что в будущем компании смогут полностью перейти от составления традиционных контрактов к их цифровому воплощению и даже реализации контрактов при поддержке искусственного интеллекта.
Что такое смарт-контракты, где можно их применять и при чём тут блокчейн
Авторизуйтесь
Что такое смарт-контракты, где можно их применять и при чём тут блокчейн
Рассказывает Дарья Шишко, комьюнити-менеджер в Aeternity
Классический контракт — это устное или письменное соглашение с набором условий. В современном мире выполнение условий контракта гарантирует государство. Если одна из сторон не соблюдает условия соглашения, суд определит правонарушителей и обяжет их нести ответственность. Такие контракты постоянно встречаются в быту: при аренде квартиры, страховании автомобиля или трудоустройстве.
С классическими контрактами связаны и трудности. Составлять текст документа должен специалист, иначе в условиях соглашения могут остаться пробелы и неточности. Юристы любят использовать профессиональную лексику, которую тяжело понять обычному человеку. Ещё один важный нюанс — наличие судьи, который разрешает споры между сторонами соглашения. К тому же, само по себе судебное разбирательство требует времени и денег.
До определённого момента такой формат соглашений оставался наилучшим.
Что такое смарт-контракт?
С переходом к цифровым методам общения, хранения и обработки информации появился фундамент для новой формы контрактов. В 1996 году Ник Сабо разработал концепцию самоисполнимых цифровых контрактов. Автор назвал их «смарт-контракты» (от англ. smart contract — умный контракт). Согласно определению Ника Сабо, смарт-контракт — это набор описанных в цифровой форме обещаний, включающий набор протоколов, по которым стороны выполняют свои обещания.
В отчёте Сената США за 2018 год сказано:
Термин «смарт-контракт» может звучать по-новому, но сама концепция уходит корнями к базовому договорному праву. Обычно судебная система выносит решения по договорным спорам и обеспечивает выполнение условий соглашения, но имеют место и другие арбитражные методы, особенно для международных транзакций. В случае со смарт-контрактами программа сама исполняет контракт, встроенный в код
Оригинальный пример прообраза смарт-контракта из работы Ника Сабо — торговый автомат. Человек опускает в автомат монету, и автомат выдаёт напиток или шоколадку. Это взаимодействие — сделка, которая подразумевает покупку товара за установленную сумму. Отличие этой ситуации от классического контракта в том, что автомат самостоятельно выполняет условия сделки: если прошла оплата, механизм выдаёт товар.
Чтобы система была безопасной, максимальная сумма средств в автомате не должна превышать затраты на взлом.
Смарт-контракты на блокчейне
Реальное практическое применение смарт-контрактам нашлось с появлением технологии блокчейн. Децентрализованные системы на основе блокчейна — та среда, в которой выполнение смарт-контракта не зависит от третьего лица, а его код нельзя произвольно изменить. Вне такой среды смарт-контракт будет просто программным кодом.
Важный параметр смарт-контракта на блокчейне — полнота по Тьюрингу. Простыми словами, полнота по Тьюрингу — это возможность системы выполнить любую вычислимую функцию. То есть Тьюринг-полной будет система, которая может выполнить любую компьютерную программу.
Блокчейн Bitcoin использует неполный по Тьюрингу язык программирования Script. Bitcoin поддерживает простые смарт-контракты с мультиподписью (для выполнения действия нужны цифровые подписи нескольких участников), удержанием средств на установленное время и так далее.
Блокчейн Ethereum работает со смарт-контрактами на Тьюринг-полном языке программирования Solidity. Solidity позволяет создавать более сложные алгоритмы, но такие смарт-контракты гораздо сложнее проверить на наличие уязвимостей.
Разработчик и популяризатор блокчейн-технологий Джимми Сонг отметил:
Выполнение кода в Тьюринг-полном контексте — хитрая штука, которую тяжело анализировать. Обезопасить Тьюринг-полный смарт-контракт так же сложно, как доказать, что в компьютерной программе нет багов.
Кроме Bitcoin и Ethereum, существуют специализированные платформы для работы со смарт-контрактами: Aeternity, EOS, Hyperledger Fabric, Stellar и другие. Такие платформы отличаются от названных выше пропускной способностью и стоимостью обработки транзакций, алгоритмом консенсуса и позиционированием.
Зачем нужны смарт-контракты?
С одной стороны, смарт-контракт — это просто программный код, обычное приложение как калькулятор, мессенджер или видеоигра. С другой стороны, смарт-контракт — это фундаментальный элемент любого распределенного приложения (distributed application или DApp), которое работает в среде без доверия и централизованной власти вроде администратора веб-сайта или государства. То есть смарт-контракт исполняет всё тот же программный код, но этот код нельзя произвольно изменить или воспрепятствовать его исполнению без вмешательства в работу всей сети. Это базис для любого децентрализованного приложения, особенно если имеет место обмен ценностями: деньгами, товарами, правами.
В централизованной платежной системе вроде гигантов Visa и Mastercard есть администрация, которая разрешает возможные споры, поддерживает работу серверов и взимает комиссию с платежей. Администрация может блокировать неугодные ей транзакции или перенаправить платёж на собственный счёт. Репутация системы пострадает, а администрацию такой компании будут преследовать по закону за мошенничество, но с технической точки зрения ничто не мешает таким манипуляциям. В децентрализованной системе ни у кого нет такой власти, а смарт-контракт подчиняется только заранее заложенным в него правилам.
Где можно применять смарт-контракты?
Согласно анализу Deloitte 2016 года, клиринг в торговых операциях и цепочки поставок — первые кандидаты на внедрение смарт-контрактов. Среди других перспективных областей исследователи назвали здравоохранение, страхование, медиаиндустрию, энергетику, ведение архивов и голосование.
Клиринг
Это безналичные расчёты между сторонами за товары, услуги или ценные бумаги с учётом взаимных обязательств. Клиринг подразумевает множество согласований между банками и юридическими или физическими лицами. Клиринговой компании нужно учесть все взаиморасчёты между клиентами, чтобы минимизировать движение денег между счетами и сумму комиссий за переводы.
В реальном мире такая деятельность связана с комплексным документооборотом и ведением учёта множества сущностей и транзакций. Это дорого и долго, а из-за сложности процесса возникают ошибки и дополнительные задержки. Клиринговые компании и их клиенты могут использовать блокчейн-реестр для учёта транзакций и взаимных обязательств, а система смарт-контрактов обеспечит автоматическое проведение платежей и фиксацию данных в распределённом реестре. Согласно исследованиям Santander InnoVentures, к 2022 году внедрение блокчейна и смарт-контрактов может снизить ежегодные инфраструктурные затраты на 15–20 миллиардов долларов США.
Цепочки поставок
Смарт-контракты и блокчейн — актуальное решение для обслуживания цепочки поставок от сырья до готовых продуктов. Чаще всего сопроводительная информация для каждого из этапов хранится в отдельных базах данных, а бумажные документы до сих пор приходится пересылать физически. Чтобы собрать один ноутбук, кому-то нужно добыть нефть и металлы, из которых кто-то сделает пластиковый гранулят и нужные сплавы, которые впоследствии превратятся в детали и попадут в сборочный цех. На каждом из этапов нужно передавать и подписывать документы, высылать счета, переводить деньги и т. д. Всю эту информацию можно объединить в одном реестре, чтобы всем сторонам были доступны документы, история транзакций и поставок. Смарт-контракты позволят автоматически распределять платежи после согласования и получения нужных цифровых подписей. Кроме того, в цепочку поставок на блокчейне значительно проще добавлять новых участников вроде поставщиков и перевозчиков.
Здравоохранение
Блокчейн и смарт-контракты позволят создать единый безопасный реестр медицинских записей. Учитывая деликатность информации, доступ к записям можно ограничить смарт-контрактом с мультиподписью: если пациент и его лечащий врач согласны показать информацию другому специалисту, они поставят цифровые подписи и система откроет доступ указанному человеку. Объединение в один реестр поможет вести научные исследования и анонимные опросы, а если учёные решать наградить тех, кто делится информацией, смарт-контракты — оптимальный способ обеспечить выплату по факту передачи информации.
Интернет вещей
В интернете вещей (Internet of Things, IoT) безопасность и неизменяемость блокчейн-реестра вместе с возможностями смарт-контрактов позволят наладить прозрачные механизмы взаимодействия и обмена ценностями между гаджетами вроде умных холодильников, смартфонов, термостатов и автомобилей. Умный электромобиль может одной транзакцией инициировать оплату за электричество и смарт-контракт активирует зарядное устройство. Права владения этими гаджетами тоже можно фиксировать в блокчейне, а значит, пользователь сможет продать или подарить устройство не покидая блокчейн-сети и без привлечения третьих лиц.
Медиаиндустрия
Для правообладателей и создателей контента актуальна проблема роялти — платы за использование интеллектуальной собственности. Здесь смарт-контракты можно использовать для прозрачного распределения средств.
То же самое относится и к другим областям, где нужно обеспечить учёт и прозрачное проведение платежей без доверия между сторонами: страхованию, энергетике и так далее. Для голосования и ведения государственных архивов блокчейн и смарт-контракты — возможность оптимизировать доступ к данным и авторизацию участников, будь то архив земельного кадастра или избирательный процесс.
Проблемы смарт-контрактов
Оракулы
Одна из основных технических преград полномасштабному внедрению блокчейн-реестра и смарт-контрактов — необходимость создать эффективные и надёжные оракулы. Оракулы — это внешние агенты, которые отвечают за достоверность предоставленной информации извне.
Блокчейн-реестр — изолированная среда, внутри которой с помощью криптографических доказательств и протоколов консенсуса все участники могут проверить истинность тех или иных данных. Но для широкого применения этим системам нужно получать информацию из внешнего мира: подтверждать факт получения товара, идентифицировать участников, получать биржевые сводки и так далее. Такая информация поступает в систему через оракулы.
Оракулами могут быть:
В некоторых случаях, как в блокчейне Aeternity, оракулы интегрированы с основным блокчейном и работают в рамках одного механизма консенсуса с остальной сетью. Пользователи сети посылают оракулам запросы посредством транзакций на блокчейне, а оракулы отвечают им соответствующей он-чейн транзакцией. Вопрос и ответ остаются в реестре, а остальные пользователи могут сверяться с этими данными.
Юридическая сила
Другая проблема — необходимость в новой регуляторной среде, которая учитывала бы возможности блокчейна и определила юридическую силу смарт-контрактов и внесенных в реестр данных, таких как права владения недвижимостью или предметами.
Недоверие к блокчейну
Блокчейн-технологии развиваются уже около десяти лет, если считать точкой отсчёта whitepaper Bitcoin, но в сравнении с другими технологиями и методиками, задействованными в современной финансовой системе, блокчейн остается молодой и не до конца зарекомендовавшей себя технологией. Из-за этого консервативные участники рынка относятся к нему скептически.
Выводы
Уже сейчас многие традиционные банки и ведомства экспериментируют с блокчейн-технологиями и смарт-контрактами и инвестируют в проекты в этой отрасли. По мере того, как проекты вроде Augur, Aeternity и Oraclize решают проблему оракулов и совершенствуют технологию, всё больше государственных структур и бизнесов будут внедрять распределённый реестр и смарт-контракты для оптимизации своей работы и прозрачного учёта.
Смарт-контракты уже сейчас могут заменить значительную часть существующего документооборота. Любые типовые соглашения о страховании или передаче имущества можно реализовать как смарт-контракты. Однако для нестандартных случаев традиционные контракты останутся основным элементом соглашения. В роли базиса для распределённых приложений и аналога обычной компьютерной программы для распределённой среды смарт-контракты скорее всего будут использоваться практически повсеместно.