Смарт-контракт: что это такое и почему одна ошибка в коде может стоить денег?

15

Смарт-контракт: что это такое и почему одна ошибка в коде может стоить денег?

108_1.png

Представьте торговый автомат: вы вносите деньги, нажимаете кнопку и получаете напиток. Продавец не проверяет оплату вручную и не принимает отдельного решения — автомат действует по заранее заданным правилам.

Примерно так же работает смарт-контракт. Только вместо напитка он может отправить токен, начислить проценты, заблокировать залог или распределить деньги между участниками сделки.

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

Что такое смарт-контракт простыми словами

Смарт-контракт — это программа, которая автоматически исполняет заранее установленные условия.

Его логика обычно выглядит так:

Если произошло событие А — выполнить действие Б.

Например:

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

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

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

Смарт-контракт размещается в блокчейне. В его коде заранее устанавливают:

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

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

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

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

Почему контракт называют «умным»

Название «смарт-контракт» может создать впечатление, что программа анализирует ситуацию и принимает самостоятельное решение. Это не так.

Смарт-контракт не способен:

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

Он не «умный юрист», а автоматический исполнитель.

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

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

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

С их помощью можно:

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

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

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

В чём преимущества смарт-контрактов

Автоматизация

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

Скорость

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

Прозрачность

Участники заранее могут увидеть правила и понять, какое событие приведёт к тому или иному результату.

Меньше посредников

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

Предсказуемость

Смарт-контракт не меняет условия по собственному желанию. Он действует в соответствии с заложенным кодом.

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

Главный риск — код исполнит даже ошибку

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

Если разработчик неверно прописал условие, программа может:

  • отправить активы не на тот адрес;
  • неправильно рассчитать сумму;
  • преждевременно разблокировать обеспечение;
  • допустить повторную операцию;
  • заблокировать средства;
  • распределить деньги не в той пропорции.

Блокчейн не определяет, что сценарий ошибочный. Он исполняет код.

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

Можно ли отменить операцию

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

Для возврата активов могут потребоваться:

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

Поэтому принцип «сначала запустим, потом исправим» здесь особенно опасен.

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

Откуда программа узнаёт о событиях в реальном мире

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

Например, программа не знает:

  • доставлен ли товар;
  • соответствует ли он требованиям;
  • наступил ли страховой случай;
  • выполнил ли подрядчик работы;
  • является ли переданный документ подлинным.

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

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

Смарт-контракт заменяет обычный договор?

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

Юридический договор определяет:

  • права и обязанности участников;
  • ответственность сторон;
  • порядок расторжения;
  • применимое право;
  • способы разрешения споров;
  • последствия технических ошибок.

Смарт-контракт выполняет более узкую задачу — автоматически запускает конкретные операции.

Поэтому для бизнеса разумнее сочетать два инструмента:

  1. Заключить юридический договор.
  2. Подробно описать права, обязанности и ответственность сторон.
  3. Передать отдельные операции на автоматическое исполнение.
  4. Установить, что происходит при ошибке кода или техническом сбое.
  5. Определить, чему отдаётся приоритет при расхождении текста договора и программы.

Такой подход позволяет использовать преимущества автоматизации и при этом сохранить правовые механизмы защиты.

Что проверить до запуска смарт-контракта

До передачи денег или цифровых активов программе стоит получить ответы на несколько вопросов:

  • соответствует ли код реальным договорённостям сторон;
  • кто разработал смарт-контракт;
  • проводился ли аудит его безопасности;
  • можно ли приостановить работу программы;
  • допускается ли обновление кода;
  • кто контролирует административные ключи;
  • откуда поступают внешние данные;
  • кто отвечает за ошибку разработчика;
  • как возвращаются ошибочно переведённые активы;
  • каким документом оформлены отношения участников;
  • какое право применяется;
  • где будут рассматриваться споры.

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

Что важно запомнить

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

Его сила — в скорости, точности и отсутствии необходимости вручную подтверждать каждое действие.

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

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

Столкнулись с недостачей, подозрительными закупками или выводом денег через контрагентов?

КНИГА2.jpg

Не начинайте с обвинений. Сначала необходимо зафиксировать факты и оценить доказательства. Команда АКГ «АИП» проводит независимые ревизии, финансовый и правовой анализ, рассчитывает ущерб и формирует дорожную карту его взыскания. Подробнее https://clck.ru/3V2m5H

Получить консультацию: +7 (495) 236-77-50

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

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

Полную версию можно приобрести на платформах:

Основной сайт: https://www.ap-group.ru/

Сергей Елин, Эксперт по финансово-правовой безопасности, управляющий парнер Аудиторско-консалтинговой группы «АИП»

Другие статьи

Свяжитесь с нами!

Группа АИП помогает среднему и крупному бизнесу. Свяжитесь с нашим экспертом, чтобы узнать, как мы можем помочь вашему бизнесу.

Связаться с экспертом
м. Тульская г. Москва, Духовской переулок, д. 17, стр.1 Показать на карте
м. Полянка г. Москва, ул. Большая Полянка, д 15 Показать на карте
Телефон +7 (495) 236-77-50 ПН-ПТ 09:00 - 18:00 info@ap-group.ru