Осторожно

Введение

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

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

Цель статьи: способствовать распространению безопасного кода контрактов и позволить разработчикам быстро и просто избавляться от глупых багов, которые часто являются наиболее обидными. Когда сам протокол является вполне надежным, и решает серьезную проблему, наличие глупой ошибки, забытой на этапе тестирования может серьезно испортить проекту жизнь. Поэтому давайте учиться пользоваться, как минимум, инструментами, которые позволяют “малой кровью” избавиться от well-known проблем.

Забегая вперед, должен сказать, что наиболее часто встречающиеся critical баги, которые мы встречали в аудитах — это всё таки логические проблемы имплементации, а не типовые уязвимости, такие как access rights, integer overflow, reentrancy. Большой, полный аудит решений невозможен без опытных разработчиков, которые способны проаудировать высокоуровневую логику контрактов, их lifecycle, аспекты реальной эксплуатации и соответствие заданию, а не только типовые паттерны атак. Именно высокоуровневая логика часто становится источником critical багов.

Зато предупреждения, типовые дыры и ошибки оставленные по невнимательности, которые нельзя пропускать — удел автоматических анализаторов, с этими задачами они должны справляться лучше людей. Именно этот тезис и будет подвергнут проверке.

Как работает смарт контракта

По своей сути ск – это компьютерные алгоритмы, что разрабатываются на основе компьютеризированной логики и имеют вид программного кода. При этом умный договор неотъемлемо связан с блокчейном, который можно считать средой его «существования». То есть данный компьютерный алгоритм должен быть где-либо записан, а для этого как раз и применяется цепочка из блоков (блокчейн).

Состав «умного» контракта:

  • Четко означенные условия, при исполнении которых он станет исполнен.
  • Электронные подписи каждой из сторон сделки.
  • Доступ к объекту договора – это услугам или конкретным товарам, о которых прописано в контракте.

Smart contracts исполняет следующие функции:

  • Слежение за тем, выполнены ли указанные в сделке условия.
  • Принятие решение относительно того, исполнены ли условия в означенные сроки, если таковые указаны.

При исполнении условий договора происходит распределение активов так, как указано в условиях сделки. Если условия не выполнены, то накладывается штраф или пеня. Для открытия таких сделок в системе Эфириум используется внутренняя валюта платформы.

Проблемы с безопасностью

Смарт-контракт на основе блокчейна виден всем пользователям упомянутого блокчейна. Однако это приводит к ситуации, когда ошибки, включая дыры в безопасности, видны всем, но не могут быть быстро исправлены. Такая атака, трудно исправить быстро, была успешно выполнена на дао в июне 2016 года, осушение примерно US $ 50 миллионов долларов в то время, в то время как разработчики пытались прийти к решению , которое бы получить консенсус. Программа DAO имела временную задержку, прежде чем хакер смог удалить средства; был проведен хард-форк программного обеспечения Ethereum, чтобы отобрать средства у злоумышленника до истечения срока. Другие громкие атаки включают атаки на целочисленного переполнения / переполнения (2018 г.) на общую сумму более 184 миллионов долларов США.

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

Как работают смарт-контракты?

Забудьте о посредниках. Всё делается через блокчейн. Именно он упрощает проведение аудита, так как здесь попросту невозможно изменить данные. Можно сказать, что каждый контракт — это специальная компьютерная программа, которую невозможно изменить. Никто не сможет откатить отчет задним числом, так как все это увидят.

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

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

Достоинства и недостатки

Достоинства пользования смарт-контрактами:

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

Однако даже у такого вида контрактов, как умные контракты в блокчейне, есть свои недостатки. Например:

  • Смарт-контрактам еще далеко до совершенства. Ведь есть вероятность того, что в коде имеются ошибки.
  • Неизвестно, как именно будет и обязано регулировать их власть, ведь еще нет определенного закона о смарт контрактах.
  • Неизвестно, налоги какого размера будут взиматься с транзакций, проведенных через smart contract blockchain.
  • Они обладают гораздо меньшей гибкостью, а также в них исключена возможность изменения сведений, содержащихся в умном контракте.
  • Большое количество банков не устраивает обмен данными, имеющими конфиденциальность, в открытых реестрах.
  • Существует проблема скорости, с которой обрабатываются транзакции.

Одной из самых главных проблем смарт-контрактов являются оракулы (внешние агенты, отвечающие за достоверность информации, которая была предоставлена извне). Оракулами могут являться:

  • приборы для измерения (к примеру, термометр);
  • участники сети, оказывающие услуги для системы блокчейн;
  • децентрализованные системы, имеющие свой механизм консенсуса, которые построены над основным реестром.

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

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

Отличия умных контрактов от обычных контрактов

«Обычные» контракты полагаются на действия других людей. Именно поэтому необходима доверенная третья (юридическая) сторона. Таким контрактом людей легко ввести в заблуждение или обмануть. Таблица сравнения умных и “обычных” контрактов:

Умный контракт Обычный контракт
Это программа или транзакционный протокол, который использует в своей работе блокчейн. Бумажная версия документов.
Основывается на коде. Основывается на праве и законодательных актах.
Пишется на компьютерном языке. Пишется юридическим языком.
Условия контракта невозможно изменить. Условия контракта можно изменить, переписать или интерпретировать по-другому.
Условия контракта выполняются автоматически всеми участниками процесса. Условия контракта могут быть не выполнены или выполнены некачественно.
При нарушении условий контракта автоматически происходит наказание, штраф или санкция, прописанные в контракте. При нарушении условий контракта необходимо обращаться в суд.
Все сделки осуществляются без третьих лиц и посредников. Сделки осуществляются с множеством посредников. Необходимы помощь нотариуса, юриста и обращение в государственные службы.
Транзакции проводятся с помощью криптовалют. Транзакции проводятся валютой через банки.
При выполнении условий контракта обмен ценностями происходит мгновенно. Обмен ценностями происходит с задержками.
Все данные о контрагентах хранятся в блокчейне и человек сам устанавливает, какая информация будет общедоступной. Информацию о контрагентах можно узнать лишь при условии, что они предоставят выписки и справки из государственных органов.
Контракт можно заключить с человеком из любой точки мира без личного присутствия. Контракт подписывается лишь при личной встрече двух сторон или их доверенных лиц.
Гарантируется безопасность сделки. Нет никаких гарантий. Любой закон можно обойти.
При заключении контракта все условия соблюдаются безоговорочно, в противном случае накладывается штраф или производится возврат денег. Условия можно изменить, договориться.
Жульничество и мошенничество исключены. Вероятность обмана, подкупа, взяточничества очень высока.
Умный контракт достаточно сложно составить самому, чтобы учесть все возможности и условия сделки. Для составления обычного контракта необходима помощь юристов.

Проблемы безопасности смарт-контрактов

Речь пойдёт о проблемах, с которыми в итоге сталкиваются разработчики смарт-контрактов, а не о безопасности самой платформы (хотя немного и о ней). Условно разделим эти проблемы на следующие типы:

  1. проблемы в коде смарт-контракта;
  2. проблемы в процессе разработки;
  3. проблемы в языке;
  4. проблемы в концепции.

1. Проблемы в коде смарт-контракта

Под проблемами в коде смарт-контракта здесь я подразумеваю такие проблемы, которые решаются редактированием .sol-файла. Это, в частности:

  • Известные уязвимые конструкции (например, ).Пример из жизни: re-entrancy, или, шире, нарушение паттерна Checks-Effects-Interactions — даже широко известные (и ранее проэксплуатированные) уязвимости продолжают встречаться в новых контрактах.
  • Авторские уязвимые конструкции (в частности, ошибки в логике кода).Пример из жизни: MultiSig-кошелёк, который на самом деле не MultiSig. Для того чтобы подписать транзакцию и перевести средства, необходимо количество подписей владельцев кошелька, равное . При этом для того чтобы поменять (например, на единицу, чтобы дальше самому подписывать транзакции), достаточно подписи только одного из владельцев:
  • Неудачная архитектура.Пример из жизни: попытка имплементировать в рамках одного контракта и токен, и кошелёк, и хранилище ключей. Контракт получается чрезмерно усложнённым, код сложно поддерживать, аудировать, модифицировать. В итоге страдает и безопасность.
  • Низкое качество кода.Пример из жизни: контракты с разными отступами, произвольными переходами на новую строку и пробелами. Код трудно читать, а значит, снова страдает безопасность. При том, что для Solidity уже есть линтеры (Solium, Solhit).

Проблемы в коде непосредственно приводят к атакам и потере средств. Хорошая новость в том, что проблемы в коде можно выявить в процессе аудита и устранить

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

2. Проблемы в процессе разработки

Проблемы в коде обусловлены в первую очередь неправильно выстроенным процессом разработки. Казалось бы, разработка ПО — дело давно изученное, с устоявшимися best practices. Тем не менее, молодость области смарт-контрактов, непропорционально большие деньги и хайп приводят к тому, что люди по тем или иным причинам пренебрегают стандартными процедурами, что часто приводит к серьёзным проблемам. Из самого типичного стоит упомянуть:

3. Проблемы в языке

Добавляет дёгтя сам язык Solidity. Изначально он был создан скорее для того, чтобы его могли быстро освоить большое количество людей, чем для того, чтобы на нём было удобно писать безопасные смарт-контракты. Вот лишь некоторые его особенности, которые мешают безопасности:

  • Множественное наследование, , / — всё это запускает код не из текущего исходника, а значит, снижает читаемость и, как следствие, безопасность кода.
  • Checks-Effects-Interactions pattern — если конструкции, нарушающие CEI, небезопасны, то почему не запретить их (и многие другие) просто на уровне языка?
  • Вызывая другой контракт, можно внезапно попасть в его fallback-функцию с неожиданными последствиями.

Понятно, что проект Ethereum развивается, и невозможно всё учесть заранее. Но в итоге разработчики вынуждены помнить о многих особенностях и пользоваться , чтобы сделать свой смарт-контракт безопасным.

4. Проблемы в концепции

Однако самая серьёзная проблема ещё глубже — в том, что многие недостаточно хорошо понимают, для чего смарт-контракты нужны, что они могут, чего не могут и как работают. В худшем случае это приводит к тому, что смарт-контракт:

  1. Не смарт:

    • Плохо написан — делает то, что написано, но не то, что задумано.
    • Сильно завязан на backend и/или frontend — а этот код уже не смарт-контракт, он выполняется обычным образом, и его выполнение полностью контролирует администратор сервера.
  2. Не контракт:

    • Не фиксирует обязательства сторон — например, ICO продаёт свои токены за ETH, но токены по сути являются фантиками, т.к. не налагают на того, кто их выпустил, никаких ограничений или обязательств.
    • Допускает односторонние изменения — и получается, что одна из сторон может менять контракт уже после его подписания.Пример из жизни: владелец контракта может произвольно менять капитализацию, курс и продолжительность продажи токена:
  3. Не нужен:

    • Смарт-контракт добавили не потому, что он был технически необходим, а в попытках придумать, что бы сделать на смарт-контрактах, и оседлать волну хайпа;
    • Пытались придумать, как к существующему продукту прикрутить смарт-контракты.

Где можно применять смарт-контракты?

Для смарт контрактов практически нет ограничений. Их можно использовать не только для контроля своевременной оплаты аренды, как в примере выше, но и для других задач. Вот пара примеров:

  • В американском штате Вайоминг на базе смарт-контракта создали компанию CryptoFed. В июле 2021 года она успешно прошла регистрацию.
  • Американский финансовый конгломерат Goldman Sachs провел сделку репо через блокчейн-сеть JPMorgan с поддержкой smart-contract. Технология помогла сторонам закрепить условия договоренностей и отследить исполнение обязательств.

Существует масса других примеров применения «умных» контрактов в различных отраслях: от логистики, до медицины.

1.1. Как работают смарт-контракты

Термин «смарт-контракт» описывает компьютерный код, который автоматически исполняет всё соглашение или его части. Код хранится на платформе, построенной на основе блокчейна. Как мы увидим ниже, код бывает единственным объявлением о соглашении между сторонами либо дополняет традиционный текстовый контракт и исполняет лишь определённые положения, такие как перевод денег стороной А стороне Б. Сам код реплицируется на несколько узлов блокчейна, а значит, пользуется преимуществами блокчейна: это безопасность, сохранность и неизменяемость. Реплицирование также означает, что по мере добавления в блокчейн каждого нового блока код, по сути, может исполниться. Если стороны инициировали транзакцию и тем самым показали, что условия соблюдены, это станет триггером, и код выполнит какие-то действия. Если же транзакция не инициирована, то и код ничего не делает. Большинство смарт-контрактов написаны на одном из языков программирования, созданных именно для этих целей (например, Solidity).

Необходимо, чтобы входные параметры и этапы выполнения смарт-контракта были конкретными и объективными. Иными словами, «если произойдёт Х — тогда сделать Y». Следовательно, смарт-контракты выполняют простейшие задачи, например автоматически переводят криптовалюту с кошелька одной стороны на кошелёк другой, если соблюдены нужные условия. По мере распространения блокчейна и увеличения средств, вкладываемых в токены или отправляемых в рамках блокчейна (on-chain), смарт-контракты будут усложняться и получать возможность обрабатывать сложные транзакции. Многие разработчики уже создают более сложные смарт-контракты, объединяя в них несколько этапов транзакций. Тем не менее нам придётся ждать ещё много лет, пока код сможет определять субъективные юридические критерии, такие как «соответствуют ли действия стороны критериям коммерчески оправданных усилий (commercially reasonable efforts)» или «стоит ли выполнить пункт о возмещении и выплатить компенсацию».

Прежде чем скомпилированный смарт-контракт будет исполнен, требуется оплатить транзакционную комиссию за добавление контракта в блокчейн. Например, в блокчейне Ethereum смарт-контракты исполняются в виртуальной машине Ethereum Virtual Machine (EVM), а комиссия в криптовалюте ether (эфир) называется газом (gas, хотя более корректный перевод — «топливо») . Чем сложнее смарт-контракт, тем больше газа нужно заплатить. То есть газ — это своеобразный шлюз, защищающий EVM от исполнения слишком сложных или многочисленных смарт-контрактов .

Пока что смарт-контракты лучше всего подходят для автоматического исполнения транзакций двух типов:

  • оплата, инициируемая определёнными событиями,
  • наложение финансовых санкций при невыполнении объективных условий.

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

Например, смарт-контракты могут избавить вас от так называемых кассовых разрывов (procure-to-pay gap). Как только товар прибыл на склад и зарегистрирован, смарт-контракт способен мгновенно отправить запросы на подтверждения. Получив их, он сразу же переведёт средства от покупателя продавцу. При этом продавцы получат оплату быстрее, им не придётся напоминать клиентам о необходимости заплатить, а покупатели сэкономят на банковских операциях. Всё это может снизить требования к оборотному капиталу и упростить финансовые операции для обеих сторон. Что касается обязательности исполнения, то смарт-контракт можно запрограммировать таким образом, чтобы он закрывал доступ к подключённым через интернет активам (например, к контенту), пока не получена оплата.

Как работает смарт контракт?

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

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

Как правило, Алиса и Влад используют какую-то платформу, которая объединяет хозяев и гостей, чтобы договориться об аренде. Платформа такого типа будет служить третьей стороной и, безусловно, несет ответственность за соблюдение согласованных условий. Однако с Алисы и Влада будет взиматься плата с платформы. Кроме того, если один из них не выполнил свое обязательство, разрешение спора может занять много времени и потребовать подробного рассмотрения.

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

Таким образом, в умном договоре могут быть изложены следующие условия и события:

  • Создается независимое хранилище, где стороны могут сделать вложения, но не могут их легко достать.
  • Арендатор кладет деньги на аренду в хранилище.
  • Арендодатель кладет адрес и код своей квартиры на хранение.
  • Алиса получает подтверждение оплаты, а Влад получает адрес и код квартиры.
  • Если Влад приезжает в Москву, а предоставленные ему адрес и код верны, Алиса получает платеж.
  • Если окажется, что адрес или код неверны, деньги возвращаются арендатору.
  • Если сделка не состоялась по причине неприезда арендатора, арендодатель получает компенсацию за возмещение убытков, а остаток возвращается плательщику.
  • В конце соглашения смарт-контракт считается выполненным и остается в сети блокчейна.

Этот набор условий и событий представляет собой самый простой одноразовый контракт. Установка условий в коде смарт-контракта обеспечивает удовлетворительное выполнение.

Полное выполнение контракта гарантируется самой технологией блокчейна, поскольку полная копия публично хранится всеми участниками сети, а смарт-контракт остается неизменным.

«Сквозные» технологии

Так называемыми сквозными технологиями являются, по словам представителя Минкомсвязи России, блокчейн, большие данные (Big Data), искусственный интеллект, виртуальная и дополненная реальность, беспроводные технологии, робототехника и сенсорика, интернет вещей (речь идет о предметах, оснащенных технологиями, позволяющими этим предметам взаимодействовать между собой – например, холодильник может быть оснащен технологиями по заказу продуктов питания с учетом доходов владельца), квантовые и новые производственные технологии. Именно такой перечень был определен ныне утратившей силу программой «Цифровая экономика», на смену которой принята действующая нацпрограмма, не содержащая при этом такого перечня. «Сквозная» цифровая технология определяется как часть технологического процесса производства товаров, оказания услуг и выполнения работ, представляющая собой совокупность процессов и методов поиска, сбора, хранения, обработки, предоставления и распространения информации, обеспечивающих в ходе хозяйственной деятельности по производству (поставке) товаров, оказанию услуг и выполнению работ:

  • рост результативности, точности или иных значимых характеристик технологического процесса;
  • повышение качества или иных значимых характеристик производимых (поставляемых) товаров, оказываемых услуг и выполняемых работ, в том числе за счет сокращения брака;
  • снижение издержек при производстве (поставке) товаров, оказании услуг и выполнении работ (п. 2 Правил предоставления субсидий из федерального бюджета на государственную поддержку программ деятельности лидирующих исследовательских центров, реализуемых российскими организациями в целях обеспечения разработки и реализации дорожных карт развития перспективных «сквозных» цифровых технологий).

Значимым шагом на пути к развитию «сквозных» технологий в рамках законодательства стало принятие Федерального закона от 18 марта 2019 г. № 34-ФЗ «О внесении изменений в части первую, вторую и статью 1124 части третьей Гражданского кодекса Российской Федерации», который вступил в силу с 1 октября текущего года. Напомним, что указанный закон ввел в Гражданский кодекс понятие цифровых прав и ряд положений, касающихся их оборота, а также нормы о совершении юридически значимых действий с помощью электронных или иных технических средств и о «самоисполняемых» сделках – смарт-контрактах.

Цифровыми правами признаются названные в таком качестве в законе обязательственные и иные права, содержание и условия осуществления которых определяются в соответствии с правилами информационной системы, отвечающей установленным законом признакам. Осуществление, распоряжение, в том числе передача, залог, обременение другими способами или ограничение распоряжения цифровыми правами возможны только в информационной системе без обращения к третьему лицу (). Цифровые права теперь поименованы в качестве объектов гражданских прав в .

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

Возможности смарт-контрактов

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

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

  • Управление предприятием также будет простым и прозрачным. Отчёты о работе каждого раздела доступны в режиме реального времени. Также в систему будут автоматически передаваться данные об изменении курса валют или ценах.

  • Некоторые страны, например Эстония, первыми внедрили Блокчейн и смарт-контракты в национальную систему здравоохранения. Это даёт возможность не только хранить и поддерживать карты пациентов, но и автоматически продлевать или закрывать листки нетрудоспособности, выписывать рецепты на лекарства.

  • Логистика – ещё одна сфера, которая остро нуждается в автоматизации. Доставку легко отслеживать в режиме реального времени. Алгоритм передаёт данные для отгрузки в систему предприятия сразу после подтверждения поступления платежа. Банки исключены из этого процесса, поэтому нет задержек во времени или высоких комиссий.

Как использовать умные контракты?

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

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

Некоммерческое объединение из 200 компаний, развивающих сферу блокчейна, так называемая «Палата цифровой коммерции», выпустило «Белую книгу», где описано 12 сфер реализации смарт-контрактов:

  1. Цифровая идентичность. Умные контракты дают возможность контролировать свои данные, цифровые активы и репутацию. Решать, какие данные можно разглашать контрагентам, а какие нет.

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

  3. Умные контракты позволяют обойти посредников в цепочке поставок ценных бумаг. При этом происходит автоматическая выплата дивидендов и управление обязательствами.

  4. Смарт-контракты удобно использовать при международных расчетах. Они обеспечивают более быстрый аккредитив, то есть, оплату торговой сделки с гарантией. Повышается ликвидность финансового актива – это возможность быстрого превращения его в денежные средства без значительных финансовых потерь.

  5. Смарт-контракты упрощают торговые процессы после сделки. В контракте прописаны условия и верификация сделки. То есть, соответствие продукта правилам, стандартам и сертификации, которые прописаны в контракте. В случае несоответствия качества товара продавец не получает деньги и с него взимается штраф за доставку некачественной продукции.

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

  7. С помощью умных контрактов можно автоматизировать обработку платежей по ипотечному залогу.

  8. Технология смарт-контрактов обеспечивает передачу собственности без жульничества.

  9. Благодаря умным контрактам можно отследить всю цепочку поставок товара в реальном времени. Через Интернет можно записать перемещение товара от цеха до полки супермаркета.

  10. В сфере страхования автомобилей умный контракт может хранить в себе страховой полис, а также запись по истории вождения. Можно отправлять запросы в Интернет Вещей, который можно установить в авто, после происшествия – и таким образом быстро установить причину ДТП.

  11. С помощью умных контрактов можно улучшить клинические исследования пациентов, так как они автоматизируют данные о пациенте и передают информацию между клиниками.

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

Я имею право на отдых

Вы увлечены работой? Вы работаете быстро и со вкусом? Вы ответственны? Прекрасные качества! Ваш начальник или заказчик непременно оценит это и… нагрузит вас по максимуму.

В какой-то момент вы почувствуете, что в баке закончился бензин, и начнете снижать скорость. Либо вообще остановитесь. И, поверьте, никто вас толкать не будет. Вокруг достаточно желающих впрячься в вашу телегу. А вот вам потребуется отдых. И, возможно, выход из затяжной депрессии, которая обычно сопровождает хроническое переутомление.

Что делать?

Учиться тормозить вовремя. А лучше – планировать свой день, оставляя в нем, пусть небольшие, но приятные «карманы» для отдыха. Кофе или чай, музыка в наушниках, несколько минут с закрытыми глазами, а если это возможно – небольшая прогулка в обеденный перерыв… Усталость снимет, и мир вокруг станет намного добрее. Работа в таком настроении значительно продуктивнее.