← Вернуться в центр знаний

Блокчейн вместо бесконечных сверок: как перестроить межкорпоративный процесс

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

И
Инженерная редакция ВирТЭКСистемная интеграция и эксплуатация

Найдите процесс, который живёт в нескольких версиях

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

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

Создайте единый бизнес-объект

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

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

Разделите общий факт и закрытые данные

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

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

Спроектируйте исключения до автоматизации

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

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

Интеграция должна быть идемпотентной

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

В бизнес-системе различаются состояния «отправлено», «принято сетью», «подтверждено требуемым кворумом» и «отклонено». Единый correlation ID связывает исходный документ, сообщение очереди, транзакцию и событие реестра.

Пилот измеряет устранённую сверку

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

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

Нужна архитектура
под вашу задачу?

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

Обсудить с инженером↗︎