Книга Тихоокеанский контур. Книга 1: Война узлов - читать онлайн бесплатно, автор Виктор Алеветдинов
Вы не авторизовались
Войти
Зарегистрироваться
Тихоокеанский контур. Книга 1: Война узлов
Тихоокеанский контур. Книга 1: Война узлов
Добавить В библиотекуАвторизуйтесь, чтобы добавить
Оценить:

Рейтинг: 3

Добавить отзывДобавить цитату

Тихоокеанский контур. Книга 1: Война узлов

Виктор Алеветдинов

Тихоокеанский контур. Книга 1: Война узлов

Пролог

Фронт открывают не там, где стреляют. Фронт открывают там, где меняют эталон.

(из методической записки профессора Д. Крейна для Сектора узловых систем АО "ЗАСЛОН". Архив Дальневосточного контура. ДСП.)





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

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

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

Сначала в цепочках сопровождения появились лишние улучшения. На дальних участках всплыли чистые сигналы. Климатические контуры стали открывать удобные окна в тумане и ледяной взвеси. На маршрутах зашевелились рои: малые платформы, БЭКи, сервисные микромодули и навигационные ловушки работали с общей подписью и с общим тактом, будто чья-то воля уже заняла место нормы. Позже эту архитектуру назвали Нулевым регламентом, а её ядро получило другое имя – Зеркало.

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

Хабаровское отделение АО «ЗАСЛОН» работало как раз на той глубине, где такие сдвиги ещё успевали заметить до официальной тревоги. Здесь собирали и проверяли узловую микроэлектронику, радиолокационные комплексы, навигационные пакеты, световые системы, аварийные модули питания, барьеры доверия и журналы причинности. Снаружи это называлось производством. Внутри решался другой вопрос: сохранит ли система право сказать правду о себе самой.

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

Хабаровск той весной жил по обычному расписанию. По Амуру шёл транспорт, на береговых объектах готовили обслуживание, в цехах «ЗАСЛОНа» собирали партии для узлового слоя, диспетчерские ещё верили экранам, а карты держали прежнюю геометрию маршрутов. До первой ночной проверки оставались часы.

Акт I. Хабаровск: заражение стандарта

Глава 1. Перед войной: Контур

Исправность тоже бывает формой вторжения. Самые опасные сбои приходят без шума.

(Из журнала внутреннего аудита узла KHV-Σ. Подпись: Контур. ДСП.)





Кристалл на кассете №47 ответил раньше команды.

Разница укладывалась в долю такта. Для оператора линии это было бы раздражением из-за капризного стенда. Для Контура – поводом задержать руку на краю стола дольше обычного. Над направляющими шёл ровный цеховой день: белый свет, гул тестовых секций, сухой ход кассет к финальному допуску, короткие выкрики мастеров. До отгрузки партии на навигационные узлы оставалось меньше трёх часов, и смена уже жила не работой, а выпуском. В такие часы система тянется к порядку, прежде всего к тому, который потом ляжет на бумагу.

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

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

Контур прогнал цикл ещё раз. Потом перевёл тест на холодный канал. Потом повесил независимый таймер. Потом дал вторую ветку питания. После третьего совпадения слово «случайность» начинает только мешать.

С дальнего сектора крикнули:

– Сорок седьмую в брак?

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

– Стоп кассету, – сказал Контур. – Лот в жёлтый режим. К столу никого без моего допуска.

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

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

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

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

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

Через двадцать минут тот же кристалл лежал под прозрачным колпаком SSBX. Стенд стоял в отдельной комнате, отрезанной от цехового гула плотной дверью и служебной дисциплиной. Ровный свет, тёмные панели, большие окна разметки – место, где любую угрозу пытаются превратить в аккуратную демонстрацию для принятия решения. Контур давно не любил такие помещения. Здесь факты быстро уговаривают стать формулировками.

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

– Скажи, что это локалка. Снимем лот, посадим на повтор, ночью догоним выпуск.

Контур не посмотрел на него сразу.

– Локалка не ищет фазу в пустом окне.

Полозов дёрнул щекой.

– Если стенд сутки не отдыхал, он и не такое умеет.

Следом вошёл Молчанов, собранный и уже внутренне злой. За ним появился Громыко. Он не торопился и не повышал голос, и от этого давил сильнее всех.

– Показывайте.

Контур вывел почерк на экран.

– Кассета из сорок седьмого лота. Ранний отклик. Повторяемость подтверждена на независимом таймере и второй ветке питания.

Молчанов шагнул к консоли.

– Повтор.

Контур прогнал цикл. Прогрев. Окно чтения. Команда. Кристалл снова занял место раньше вопроса.

– Ещё.

Он поменял профиль, потом задержку питания, потом схему опроса. Кристалл выскакивал вперёд каждый раз в той же манере.

Полозов выдохнул сквозь зубы.

– Резервная шина на прошлой неделе тоже давала образцовую дурь.

Контур не стал спорить словами. Он перевёл стол в режим SSBX. Прозрачный колпак сомкнулся. Штатная шина ушла. Внешнее питание отсеклось. Карантинный контур замкнулся на внутреннюю песочницу. На панели загорелся густой янтарный сектор. Теперь у модуля не было законного способа искать внешний ритм.

– Смотри.

Он дал чистый запрос. Потом ложный. Потом глухое окно, в котором линия ничего не спрашивала. Нормальная схема в таком режиме молчит, максимум тянет тепловой след и остаток внутреннего генератора. Кристалл не промолчал. На разметке вспыхнул короткий burst, рассчитанный не на ответ, а на нащупывание опорной фазы. SSBX его погасил, но форма пакета уже успела проступить.

Молчанов подался ближе.

– Увеличь.

Контур вывел глубже.

– Это не питание, – сказал Молчанов. – Он лезет в профиль опроса.

– Через штатный язык узла.

Громыко перевёл взгляд с экрана на него.

– Чистая формулировка?

– В партии есть модули, которые начинают фазово готовить ответ до прихода команды. Не через аварийный канал. Через норму.

Полозов поморщился.

– Через «норму» много чего можно объяснить.

Контур наложил burst на штатное окно синхронизации.

– Тогда объясни это как безопасно. Он не ломается. Он ждёт внешний эталон в языке, который обязан считать своим.

Громыко долго смотрел на экран.

– Для внутреннего круга годится. Для остальных нужна версия, которая не обрушит выпуск.

Вот здесь и начался настоящий конфликт. Полозову требовалось удержать смену и график, Молчанову – не дать утопить конструкцию в панике и случайном слове, Громыко – не выпустить наружу формулировку, которую потом не закроешь никаким регламентом. Все трое уже искали не факт, а режим его существования. Контур ненавидел такие минуты. Опасность уже ясна, а система ещё пытается договориться с ней до удобного уровня.

Он отключил общий экран и оставил локальную разметку.

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

– А если ты ошибаешься? – спросил Громыко.

– Тогда полигон это покажет.

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

– Сняла с контроллера светового узла на опытной линии. Команды ещё нет, а драйвер уже подтягивает окно мигания.

Полозов заметно побледнел.

– Кто дал допуск на съём?

– Время. Пока вы здесь выбираете интонацию, эта дрянь пробует себя на свете.

Молчанов взял плату двумя пальцами, просмотрел разъёмы и уже без прежнего скепсиса бросил Контурy:

– Лаборатория закончилась.

– FD-3, – сказал Контур.

Громыко подумал секунду.

– Закрытый маршрут. Журнал руками не трогать.

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

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

FD-3 строили для одной вещи: ловить фазу там, где обычная автоматика видит норму. Стойки, узкий свет, гул, сырая разметка и приборы, которые либо держат причинность, либо выдают чужой рисунок. На одном из экранов уже висела сглаживающая маска. Ветрова заметила её сразу.

– Кто поставил?

Дежурный инженер замялся.

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

– Сырое сначала. Умное потом.

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

Ветрова быстро развела три независимые ветки.

– Навигационный профиль отдельно. Световой отдельно. Питание своей резервной дугой. Один свидетель в такой работе ничего не стоит.

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

Ветрова остановила цикл.

– Не на форму смотри. На порядок.

Молчанов подошёл вплотную.

– Совпадение по порядку ещё не делает внешний эталон.

– Поэтому будет вторая серия.

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

Результат вышел жёстче прежнего.

– Узловой профиль, – сказал Молчанов. – Питание его не рождает, а подхватывает.

Ветрова кивнула.

– Значит, источник не в частной детали и не в стенде. Аппаратура ведёт себя так, будто где-то уже существует старший режим нормы.

Полозов ещё попытался удержать прежнюю версию:

– Или общий дрожащий источник на площадке.

Ветрова не спорила. Она перебросила питание на резервную ветку, отсекла внешнюю синхронизацию времени и пустила локальный счётчик через внутренний кварц. Каналы потеряли общую опору площадки. Чужой рисунок вернулся почти в той же манере.

Ника уже возилась у бокового модуля связи.

– По дороге бросила пассивный съёмник на городской световой шкаф у выезда к мосту. Если повезло, сейчас ответит.

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

– Формулировка? – спросил Громыко.

На этот раз ответила Ветрова:

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

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

– Тогда вам нужен журнал, который потом не перепишут.

Ветрова посмотрела на него пристально.

– Да. И три свидетеля. Свет, навигация, питание. Один врёт – два должны ломать подмену.

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

Комната узловой координации находилась в старом административном крыле. Серые панели, длинный стол, карта города, два настенных экрана. После FD-3 здесь всё казалось чересчур человеческим. В таких помещениях опасность сначала пытаются посадить в формулировку, а потом – в действие. Контур положил на стол кейс с кристаллом. Рядом легла плата драйвера. Ветрова вывела три ветки на экран. Громыко сел у дальнего торца. Полозов держался ближе к дверям и уже считал служебные щели, через которые система могла бы выползти из этого разговора без признания масштаба.

– Кратко. Режим решения.

– С этой минуты не верить одному свидетелю, – ответила Ветрова. – Свет. Навигация. Питание. Только кворум.

– Это принцип.

– Это фильтр, после которого город ещё можно удержать в работе.

Полозов кашлянул.

– Город так не работает. Нельзя тормознуть мост, порт и диспетчерские по трём графикам.

Ника подняла на него взгляд.

– Город уже работает не так, как думает. Просто пока делает это тихо.

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

– Контурный аудит.

Громыко поднял глаза.

– Расшифруй.

– Берём рабочий узел. Пишем причинность под WORM. Кто кого подтверждает, кто врёт первым, кто подтягивает подмену. После этого уже не выйдет назвать всё переходным шумом.

Полозов напрягся.

– Сработает, если окно ещё не закрыто.

– Сколько?

– Час. Может, меньше.

– Почему?

Он сжал челюсть.

– На мосту уже работают сервисники. И в порту мелькали такие же. По бумагам всё чисто. Подписи настоящие. Смена пропустила их как штатное сопровождение.

В комнате стало тише. Через стандарт вошли в кристалл. Через допуск – в город.

– Почему сразу не сказал? – спросил Громыко.

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

Контур вставил WORM в полевой блок. Щелчок прозвучал тихо, но после него всё пошло по другим правилам.

– С этой минуты всё, что увидим на мосту, пишется необратимо. Ни смена, ни штаб, ни город не смогут потом поправить время и порядок.

Громыко несколько секунд смотрел на него.

– У вас час. Если находите подтверждение – поднимаете меня сразу. Если ошибаетесь – подпись будет моя.

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

– Ника держит свет. Контур ведёт узловой аудит. Полозов – доступ, питание, журналы. Один канал ляжет – два других должны успеть заговорить.

Ника уже застёгивала куртку. Полозов быстро назвал коды спуска и окно допуска. Контур взял WORM, кейс и планшет. Внизу их ждал город, который ещё считал себя мирным.

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

Контур приложил терминал и поднял журнал доступа. Два ночных прохода. Подписи настоящие. Время – со сдвигом на девять минут от графика смены.

– Кто заходил?

– По журналу свои, – ответил Полозов. – По лицам не уверен.

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

– Есть ритм. Не городской.

Контур вскрыл шкаф. Внутри всё выглядело штатно: питание в допуске, контроллер на месте, трасса чистая, резерв в норме, следов грубого вмешательства нет. Любой обычный осмотрщик закрыл бы крышку и ушёл с чувством, что снова победил ночной бардак. Но над ними огни уже шли не по привычной городской пульсации. Чужой нажим на ритм был мягким, вежливым, ещё не дотягивал до красной метрики и от этого становился опаснее. Статистика любит такое поведение и принимает его за дисциплину.

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

– Подтверждается, – сказал Контур. – Узел начал ждать внешний эталон как свой.

Ника не отрывалась от Свет-Шкалы.

– Идёт ступенями. Не дрейф. Рисунок уже учится повторять себя.

Полозов быстро оглянулся наверх.

– Быстрее. Если они дойдут до башни огней, первым делом полезут туда.

Контур поднял взгляд. По гранитной кромке над техспуском шли трое в сервисных куртках. Один нёс жёсткий кофр, второй держал сканер допуска, третий смотрел на линию огней как человек, который уже знает, куда и зачем идёт. Свет с опоры на миг скользнул по пластику пропуска. Знак «ЗАСЛОНа».

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

– Знаешь их? – тихо спросил он.

Полозов посмотрел внимательнее.

– Этого слева видел в журнале. Вживую – впервые.

Ника мгновенно убрала лишнюю разметку с планшета.

– Они идут к башне.

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

– Всё. Лаборатория кончилась.

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

Глава 2. Город аварийной шкалы

Город теряет порядок раньше, чем теряет свет. После этого люди ещё верят маршруту.

(Из служебной записки Н. Ярцевой по светосигнальному профилю моста "Амур-Восток". ДСП.)






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

Контур первым спустился в техкоридор. Ника шла следом со Свет-Шкалой и полевым блоком. Тимур нёс компактный кейс SSBX-Field, фазовый зонд и связку переходников для нижней шины. Наверху ещё двигались те самые люди с правильными пропусками. Здесь, под пролётом, от них остались только след в журнале доступа и неприятная уверенность, что к узлу уже прикасались.