
Полная версия
Контрольная сумма. Книга 4. Правила Чёрного дракона
Она нажала «отключить». Метка исчезла. На экране остались фотография Дома и Максим с уже закрытым временем. Система утверждала, что Лиза не могла сделать снимок на месте. К концу первого дня у комиссии были пустое здание, завершённый человек и отсутствующий свидетель.
Глава 5. Первая сверка
Комиссия приехала в девять двенадцать на двух машинах без опознавательных знаков. Первой вышла женщина в тёмном пальто. Она сверилась с бумажной схемой и посмотрела на Дом. Значит, видела его без помощи Лизы.
Мужчина с плоским кейсом задержался у калитки и поднял телефон.
— Навигатор предлагает пройти ещё двадцать два метра на восток, — сказал он. — Если послушаться, встречу проведём в кустах.
— Там по документам находится здание, — ответила Лиза.
— Тогда кусты имеют хороший юридический статус.
Женщина убрала схему в папку.
— Ирина Павловна Ратникова, председатель комиссии. Артём Сергеевич Власов, технический аудитор. Остальные специалисты подъедут после согласования доступа.
Марина стояла на крыльце. Максим рядом с ней пересчитывал гостей. Виктор ждал внутри, Виктория держала папку с формами согласия. Алина осталась у архива.
— Проходите, — сказала Марина. — В пределах согласованного маршрута.
— Маршрут согласован с кем? — спросила Ратникова.
— Сейчас — со мной.
— Значит, с человеком. Это лучше, чем с картой.
Власов задержался у городской камеры и посмотрел на Дом через экран телефона. На дисплее был пустой склон. Он ничего не сказал, только сделал снимок отдельным аппаратом.
В зале общего стола комиссия заняла одну сторону, Дом — другую. Ратникова положила перед собой уведомление и чистый лист. Власов включил ноутбук, но к сети не подключился.
— После весенних событий город получил объекты, которые не укладываются в действующие реестры, — сказала Ратникова. — Часть влияет на связь. Часть меняет записи о людях. Оставить их вне учёта мы не можем.
— Вне какого учёта? — спросила Марина. — Городского или вашего?
— Городского. Комиссия временная. По крайней мере, так написано в положении.
Максим придвинул к себе кружку.
— Очень успокаивает.
— Меня тоже, — ответила Ратникова. — Временные структуры обычно дольше всего ищут помещение для архива.
Лиза ожидала нажима. Разумное объяснение было труднее отвергнуть.
— Дом удерживает опасные швы, — продолжила Ратникова. — Вы знаете об их действии больше городских служб. Но жители не давали вам права хранить такие вещи без внешней проверки. Сначала мы сверяем сведения. Потом решаем вопрос доступа.
— В уведомлении уже есть обеспечительное изъятие, — сказала Лиза.
— Как возможная мера.
— С будущей датой на кадастровой схеме.
Ратникова посмотрела на неё внимательнее.
— Эту схему я хочу увидеть.
Виктор положил на стол заверенную копию. Рядом разместил старый план.
— Здесь два положения Дома. Фактическое и официальное. На месте здания с завтрашнего дня указан пустой участок.
Власов наклонился к планам.
— Можно сфотографировать?
— На ваш аппарат, без отправки, — ответила Лиза.
— У него нет связи. Можете проверить.
Она сняла крышку и увидела пустой разъём вместо сетевого модуля.
— Убедительно.
— Я старался выглядеть безопасно.
— Получилось технически.
После снимков Власов попросил исходные контрольные суммы семи исчезнувших дежурств.
— Исходные в заражённом архиве, — сказала Лиза.
— Тогда нужны заражённые. Очищенные данные сейчас опаснее.
Марина повернулась к ней.
— Что он получит?
— Хэши, размеры блоков и время формирования копий. Без содержимого.
— Этого хватит, чтобы понять структуру архива? — спросила Марина.
— Частично, — ответил Власов. — Но ключей и имён я не получу.
Он развернул ноутбук.
— Поднимем временный нейтральный мост. Ваш контур отдаёт выбранные поля. Мой принимает их в изолированную область и возвращает отчёт. Ключи остаются у вас.
— Любой мост имеет владельца, — сказал Виктор.
— Владелец технической операции — я. Дом отвечает только за выбор данных.
Ратникова записала это в протокол.
Лиза приблизила схему. В обработчике пустых значений стояло правило: «временно подтверждено источником передачи».
— Источник ничего не подтверждает, — сказала Виктория.
— Он подтверждает наличие пустого поля, — ответил Власов.
— Это другое действие.
Он подумал и кивнул.
— Согласен. Заменю на «получено без значения».
— До подключения, — сказала Лиза.
Власов изменил правило и сохранил новую версию на карту памяти. Лиза проверила контрольную сумму. Он назвал её раньше, чем значение появилось у неё на экране.
— Вы считали в уме? — спросила она.
— Нет. Видел сборку утром.
— Тогда зачем дали мне считать?
— Чтобы у нас были два человека, которые не обязаны верить друг другу.
Ответ был правильным, и это раздражало меньше, чем хотелось.
Виктория положила перед Ратниковой формы.
— Опросы свидетелей проводятся отдельно. Перед каждым вопросом человек должен знать, куда попадёт ответ. Общее присутствие в Доме не считается согласием.
— Согласна, — ответила Ратникова.
Марина нахмурилась.
— Без условий?
— С условием, что отказ фиксируется. Мы не будем считать его признанием нарушения, но должны видеть, где Дом не принимает коллективную ответственность.
— Дом не может отвечать вместо человека.
Ратникова написала от руки: «Дом смотрителей отказался от коллективного подтверждения показаний. Согласие и ответственность устанавливаются отдельно по каждому участнику и действию».
Виктория прочла.
— Так подходит.
— В риск-профиле отсутствие общей подписи добавит неопределённость, — сказала Ратникова. — Но подпись без личного согласия создаст реальный ущерб. Я предпочитаю исправлять таблицу, а не вредить пострадавшему человеку.
Лиза поняла, чего боится председатель. Города, в котором при аварии никто не знает, кто имел право остановить действие.
После перерыва они перешли в цифровую комнату. Власов дождался прямого разрешения Лизы.
— Входите. Работаете только на гостевом столе.
— Принято.
Он поставил ноутбук и подключил карту через одноразовый адаптер Виктора. Лиза открыла обезличенный набор: время записи, размер блока, контрольная сумма и статус поля. Имена дежурных она заменила случайными номерами.
Марина стояла за её плечом.
— Ты уверена?
— Нет. Поэтому тест ограничен одной сменой.
— Я спрашиваю не о размере теста.
— Если откажемся, комиссия поднимет риск-профиль и придёт с готовым решением. Здесь я вижу, что передаю.
— Пока видишь.
— Это мой контур.
— И твоя запись уже отмечена как объект без владельца.
— Поэтому я не отдам решение тебе только ради заполненного поля.
Марина отступила.
— При первом несогласованном действии отключаем.
Лиза нажала подтверждение. Нейтральный мост принял первый блок. На экране Власова появился тот же размер, но другая контрольная сумма.
— Стоп, — сказал он и выдернул карту приёмного буфера.
— Что случилось? — спросил Виктор.
— В городском фрагменте есть хвост, которого нет в заявленной длине. Следующий блок допишется к вашему архиву при обратной проверке.
— Обратная запись запрещена.
— На уровне интерфейса. Хвост помечен как продолжение исходного файла. Система сочтёт его восстановлением.
Он показал шестнадцать байтов после конца блока.
— Куда ведёт ссылка? — спросила Лиза.
— В журнал доступа к закрытому помещению.
Марина выпрямилась.
— Мост отключить.
— Уже отключён.
Лиза проверила архив. Исходный блок не изменился. Если бы Власов пропустил продолжение, пропавшее дежурство связалось бы с печатью Зеркального копья.
— Вы видели это раньше? — спросила она.
— Нет. В городской копии хвост скрыт за правильной длиной. Он проявился при сравнении.
— Почему остановились до предупреждения?
— Контрольная сумма входного буфера изменилась, хотя объём остался прежним.
Он назвал обе суммы. Лиза сверила. Совпадало.
Власов не просил доверять ему. Он остановил процедуру и дал проверяемую причину.
— Продолжим без служебных хвостов, — сказала Лиза.
— Не сегодня, — вмешалась Марина.
— Мы нашли способ их отсекать.
— Мы почти связали архив с копьём.
— И нашли человека, который это остановил.
Марина посмотрела на Власова, потом на дочь.
— Ты готова отвечать за продолжение?
— За один блок и новый фильтр — да.
— Я против.
— Принято. Но решение по цифровому контуру моё.
Она впервые сказала это при посторонних. Марина побледнела, однако доступ не забрала.
— Запиши моё возражение.
Виктория внесла его в протокол.
Власов поднял руки над столом.
— Я не продолжу, пока вы не определите, чьего подтверждения достаточно.
— Моего, — сказала Лиза. — Марина подтверждает доступ к Дому. Я подтверждаю операцию в своём контуре. Её возражение остаётся рядом.
— Вы принимаете такой порядок?
— Я принимаю право Лизы на решение. Само решение считаю опасным.
— Этого достаточно.
Второй тест прошёл без скрытого хвоста. Мост вернул расхождение в семи позициях. На экране Власова пустые поля получили помету «получено без значения».
На стороне Дома Лиза увидела другое: «временно подтверждено».
— Остановить.
Власов замер.
— У меня исправленная формулировка.
— У меня старая.
Файл моста имел правильную контрольную сумму. Правило в коде было новым. Старый текст подставил интерфейс Дома из собственного словаря статусов.
— Ваш контур переводит незнакомое состояние в ближайшее допустимое, — сказал Власов.
— Ближайшее для кого?
Ответа не было. Система превращала пустое поле во временное подтверждение, чтобы закрыть процедуру.
Лиза отключила перевод и повторила обмен в текстовом режиме. Семь полей остались пустыми. Но обезличивание убрало различия между людьми. Дежурный и свидетель стали одинаковыми строками участия.
— Для статистики Дом выглядит как закрытая структура с неустановленными ролями, — сказал Власов.
— Потому что мы убрали имена.
— И потому что система не видит отдельных согласий.
— Они будут приложены отдельно.
— Тогда отчёт нельзя считать автоматически.
— Именно.
Ратникова записала решение о ручной сверке.
— Срок увеличится. Риск-профиль тоже.
Лиза сохранила результаты. На внутренней описи было семь объектов. После обмена таблица обновилась сама. Внизу появилась строка под номером восемь.
«Тип объекта: человек».
«Статус: временно подтверждён».
«Владелец: не определён».
— Мы не передавали людей как объекты, — сказала Лиза.
Власов открыл журнал моста.
— Строка создана из пустого идентификатора участника.
— Какого участника?
Источник показал рабочий ключ Лизы, которым она подтвердила тестовый обмен. Имя в строку не перенеслось. Осталась функция человека, разрешившего процедуру.
Лиза попыталась открыть карточку восьмой строки. Система запросила подтверждение владельца и предложила выбрать доступного ответственного. Первой в списке стояла Марина, второй — сама Лиза без имени, только с номером рабочего ключа. Она закрыла окно, не выбирая ни одну из них.
Ратникова закрыла протокол не сразу.
— До выяснения строку не удалять.
Марина подошла к Лизе, но не коснулась её.
В описи стало восемь объектов. Семь Дом признавал опасными вещами. Система добавила восьмой объект — Лизу. Её решение приняли, но владельца записи не определили.
Глава 6. Камера без дома
Через два часа после подключения нейтрального моста комиссия решила осмотреть внешний контур Дома. Максим получил маршрут на планшете и сразу понял, что по нему можно дойти только до забора, которого не существовало.
Синяя линия начиналась у калитки, проходила через склон и заканчивалась в двадцати двух метрах к востоку. Там, где карта ставила главный вход, росли кусты. Реальная дверь оставалась за спиной.
— Маршрут утверждён городским центром, — сказала Ратникова. — Отклонения фиксируются отдельно.
— Если пойдём по нему, придётся пробить стену, а потом объяснить кустам цель визита.
Специалист комиссии посмотрел на экран.
— Стены на схеме нет.
— Ей повезло, — ответил Максим. — В жизни есть.
В группе было пять человек: Максим, Ратникова, Власов и два специалиста комиссии. Лиза осталась в цифровой комнате и вывела на общий канал изображения с камер. Марина ждала у входа.
Максим показал на дорожку вдоль ограды.
— Фактический путь здесь. Он выводит к служебному тоннелю. На официальной карте участок смещён.
— Насколько? — спросила Ратникова.
— На двадцать два метра.
— Тогда идём фактическим путём.
Один из специалистов поднял планшет.
— Система не даст открыть контрольные точки вне маршрута.
— Значит, не откроет, — сказала Ратникова. — Людей в стену я не поведу ради отчёта.
Максим отметил это решение. Председатель комиссии могла настаивать на процедуре, но не пряталась за ней, когда процедура становилась глупой.
Они прошли вдоль дома. Первая городская камера показывала четверых. Максим на экране отсутствовал, хотя стоял ближе всех к объективу.
— Лиза, видишь? — спросил он в гарнитуру.
— Вижу группу без тебя. На второй камере ты идёшь с другой стороны ограды.
Максим посмотрел через плечо. За оградой никого не было.
— Хорошо устроился, — сказал Власов. — Тебя двое, а в отчёте ни одного.
— Экономия на должности.
Ратникова остановилась перед камерой и подняла руку. Лиза связалась с диспетчерской.
— Камера четырнадцать показывает четырёх участников, — сообщил оператор. — Камера пятнадцать — пять. Пятый идёт по закрытому участку.
— Я на открытой дорожке.
— По схеме вы за ограждением.
— Ограждения там нет.
— В системе есть.
Ратникова сверила экран с местом.
— Вы можете провести нас безопасно без цифрового маршрута? — спросила она.
— Да. Но мои записи признаны недостоверными.
— Я спросила не о записях.
Она передала планшет специалисту.
— В журнале укажите: маршрут определяет Максим Логинов под мою ответственность.
Специалист начал возражать, но Ратникова показала на стену.
— Можете идти по городской карте. Сначала оформите себе разрешение проходить через кирпич.
У заднего угла дома камера показала другую версию: группа пересекла двор и вышла через запечатанное помещение. В реальности они шли снаружи.
— Камеры не теряют движение, — сказала Лиза. — Они привязывают его к разрешённой схеме.
— Значит, им нужен маршрут без настоящего Дома, — ответил Максим.
На следующем экране он появился. Над фигурой вспыхнула рамка: «Полевой участник. Идентификатор закрыт».
— Такого поля вчера не было, — сказала Лиза.
Власов приблизил изображение.
— Метка пришла из контура доступа. В мосте полевых имён не было.
Максим продолжил путь. Он не любил, когда его обсуждали как часть оборудования, но важнее было довести группу до тоннеля.
Вход находился под лестницей к набережной. За металлической дверью шёл старый служебный проход с кабелями. После весенней воды на полу оставались тёмные пятна. Максим открыл замок механическим ключом.
— В карте тоннель указан? — спросила Ратникова.
— Да. В другом месте.
— Разумеется.
Власов проверил терминал у двери. Экран сообщил, что доступ разрешён пяти участникам. Максим пересчитал людей.
— Нас пятеро.
— На этот раз система согласна, — сказал специалист.
— Не радуйтесь раньше выхода.
Максим вошёл первым. За ним шла Ратникова, потом специалисты. Власов замыкал группу. Свет включался секциями. В середине тоннеля лампа мигнула, а отражение в мокрой стене осталось светлым даже после того, как она погасла.
Максим остановился.
— Всем стоять. К стене не подходить.
На бетоне проступила светлая полоса. Она шла от пола к кабельному коробу и совпадала с линией маршрута на планшете. За ней отражался другой коридор: короче и без двери на выходе.
— Шов? — спросила Ратникова.
— Короткий. Возник на несовпадении путей. Сначала пересчёт.
— Система показывает шесть вошедших и пять внутри. Один вышел через восточный портал.
— Здесь нет восточного портала.
— В официальной схеме есть.
Максим повернулся к группе.
— Называем себя по очереди. Смотрим друг на друга. Без планшетов.
Они назвали имена. Пять голосов, пять лиц. Никто не стоял за светлой полосой.
— Все здесь.
Максим проверил каждого не только по голосу. У одного специалиста на рукаве осталась известковая пыль от стены у входа. Ратникова держала папку под левой рукой, Власов успел порезать палец о крышку терминала.
Эти мелочи не доказывали личности навсегда, но подтверждали непрерывность последних минут. Экран мог повторить фигуру. Свежий порез и пыль появлялись только после настоящего перехода.
— У вас кровь, — сказал Максим Власову.
Тот посмотрел на палец.
— Сильное наблюдение.
— Не вытирайте пока. Это метка входа.
— Надеюсь, комиссия оплачивает такие методы отдельно.
— Пластырем.
Ратникова достала из сумки упаковку и передала ему.
— Бюджет освоен. Продолжаем пересчёт.
— Автоматика показывает ещё одну отметку у входа, — ответил Власов. — Возможно, повторное касание пропуска.
— Не закрывайте её автоматически.
— Если оставить вход открытым, система заблокирует выход.
— Лучше заблокированный выход, чем лишний человек в журнале.
Власов открыл список. На экране было шесть строк. Пять совпадали с гражданскими профилями. Шестая появилась за три секунды до входа Максима. В поле имени стоял набор символов.
Лампа снова мигнула. Светлая полоса стала шире. За ней люди стояли в другом порядке.
— Экраны вниз, — сказал Максим. — Камеры тоже.
— Нам нужно фиксировать событие, — возразил специалист.
— За полосой уже есть ваша версия. Не помогайте ей выбрать.
Ратникова опустила планшет первой. Остальные подчинились.
Максим провёл мелом черту перед швом.
— Границу не переступаем. На выход идём обратно тем же порядком. Каждый отвечает за человека перед собой.
— Я последний, — сказал Власов.
— Тогда отвечаете за меня.
— Неожиданное доверие.
— Это работа.
Ратникова подошла к терминалу.
— Автоматический выход отменяем. Лишнюю отметку закрываем после установления источника.
— Процедура требует завершить проход, — сказал специалист.
— Процедура не получила права придумывать шестого участника.
Спор прекратился.
Власов открыл технические поля.
— Идентификатор пришёл из зеркального контура. Здесь часть имени, но кодировка старая.
Максим узнал знаки раньше, чем терминал собрал слово.
Улун.
Полевое имя стояло отдельно от гражданского профиля. В Зеркальном Хабаровске оно обозначало Максима в работе у швов. Второго человека оно не создавало.
— Это моё полевое имя, — сказал он.
Ратникова повернулась к нему.
— Оно зарегистрировано?
— В старых журналах переходов. Не как гражданский профиль.
— Почему система считает его отдельным участником?
— Получила имя без связи с человеком.
Максим произнёс для терминала:
— Улун относится к Максиму Логинову. Это один человек. Текущий проход совершает Максим Логинов. Отдельного входа не было.
Терминал принял голос. Шестая строка присоединилась к его профилю. Число участников изменилось на пять.
Светлая полоса на стене сузилась. Отражённый тоннель совпал с настоящим проходом и исчез в мокром бетоне.
— Закрылся? — спросила Ратникова.
Максим проверил меловую черту. Она не двоилась.
— Да. Имя вернулось к владельцу.
Власов вывел журнал связи.
— Система подтянула старые записи по полевому идентификатору.
— Какие?
— Переходы. Несколько закрыты без владельца долга.
Максим не ответил. Старые маршруты существовали и раньше, но лежали раздельно. Дом ещё не был создан, общих журналов не было. Теперь система нашла одно имя и решила, что это плательщик.
— Не открывайте записи здесь, — сказал он. — Тоннель реагирует на несовпадение маршрутов.
— Закрываем просмотр. Возвращаемся.
Группа пошла обратно. Перед выходом Власов остановился у терминала.
— Система связала гражданское и полевое имя. Отменить можно отдельным решением.
— Не отменяйте.
— Уверены?
— Если разорвать связь, снова получим шестого человека.
Цена была понятна. Старые долги переставали быть безымянными.
Снаружи Лиза ждала у лестницы.
— Внутри было шесть отметок, — сказала она.
— Людей пять. Шестой отметкой было моё полевое имя.
— Ты связал его с гражданским профилем?
— Иначе шов не закрывался.
— Нужно было выйти и разобрать запись отдельно.
— Выход был заблокирован.
— Ты мог дождаться меня.
— Ты была снаружи.
Лиза сжала губы.
— Это не довод.
— Для тоннеля — довод.
Ратникова вмешалась:
— Решение принял он. Я его поддержала. Автоматическое закрытие мы остановили.
Лиза посмотрела на неё с удивлением.
— Вы отказались от процедуры?
— От процедуры, которая насчитала лишнего человека.
— Полезная привычка, — сказал Максим.
— Не злоупотребляйте редким случаем согласия.
У внешнего терминала специалист приложил служебную карту, чтобы закрыть осмотр. Устройство напечатало пять талонов. Потом механизм снова заработал и выдал шестой лист.
Максим взял бумагу первым. Вверху стояло его гражданское имя. Ниже — полевой идентификатор и сумма долга без денежного обозначения.
— Что значит «погасить переход»? — спросила Ратникова.
— Система считает старое действие незавершённым, — ответил Максим.
Лиза прочла основание.
— Здесь дата раньше создания Дома.
— Я тогда не работал на Дом.
— Но долг назначен тебе сейчас.
Власов открыл журнал терминала.
— После объединения профилей система собрала переходы по имени Улун. Один отмечен как совершённый без установленного владельца цены.
— Свидетель? — спросила Лиза.
— Поле пустое.
Максим забрал бумагу. Маршрут он помнил кусками: начало у воды и закрытую точку на мосту. Время система определила с точностью до минуты.
Ратникова перечитала требование.
— До проверки взыскание не допускается.
— Вы можете это остановить? — спросила Лиза.
— В своей процедуре — да.
Она написала запрет прямо на талоне и поставила служебную отметку. Терминал напечатал предупреждение: «Решение председателя повышает риск незавершённого события».












