Длиной в световой год

План на Марс

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

Дуглас сидел в отделе логистики поставок «Луна—Земля» ещё до того, как в офисе полностью поднялась система вентиляции. На столе лежала распечатка — толстый лист с мягкими, будто измятыми краями: семейный план. Он был не официальный, без печатей компании. Просто список вещей, которые, как Дуглас надеялся, ещё раз напомнят Розе, что работа — не весь воздух их жизни.

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

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

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

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

—У нас уже будет, — мягко поправила Роза. — Ты же сам это написал. Только сегодня ты написал по-другому.

Дуглас поднял взгляд. Распечатка была той же. Но строки «Марс, 19-й день, подтверждение в 08:10» почему-то выглядели иначе: цифра в конце стояла не так ровно, как раньше. Он помнил, что вчера дописывал «19-й» и гладил пальцем последнюю цифру, чтобы не ошибиться в времени. Сегодня след от пальца будто исчез.

—Это опечатка, — сказал он.

—Ты не умеешь писать опечатки одинаково дважды. И карандаш у тебя всегда оставляет характерную крошечную царапину на бумаге. А тут нет.

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

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

Он открыл рабочий интерфейс — журнал маршрутизации для грузов «Луна—Земля». Там, в строках, обычно нет места чуду. Но сегодня одна запись выделялась: «подтверждение канала 08:10 — задержка коррекции 00:00:03, статус: консистентно». Логическая, безупречная формулировка, но странность была не в тексте. Странность — в времени.

Пара минут назад он проверил этот же канал, когда готовил внутреннюю справку: задержка коррекции была «00:00:07». А сейчас стала «00:00:03».

—Я же проверял, — пробормотал он.

—Что именно? — Роза села на стул рядом, как будто ожидала не ответа, а способа не развалиться.

Дуглас не любил страшные разговоры. Страшные разговоры всегда начинались с «а если». Но он всё равно повернул экран так, чтобы Роза увидела строки. Она посмотрела на цифры, затем подняла глаза.

—Дуглас. Это не а если. Это уже.

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

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

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

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

—У нас с женой, — начал Дуглас и запнулся снова. — У нас несоответствие в подтверждении.

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

—Так. — Он нахмурился. — Это уже не смешно.

—Что уже? — Роза подняла подбородок.

Себас обменялся взглядом с Дугласом. В этих обменах всегда был один и тот же смысл: я знаю, что делать, но не хочу делать это один.

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

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

—Давайте сравним, — сказал он.

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

—Это не переписано, — произнес Себас, глядя не на экран, а на лицо Дугласа. — Это пере- согласовано. У нас появился другой коридор консистентности.

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

—А где Марс в этом? — спросила Роза.

Дуглас не мог сказать везде. Он не мог сказать это связано с твоим взглядом на карандаш. Он мог только честно собрать факты.

—В параметрах канала. — Он ткнул пальцем в строку. — Подтверждение совпадает с нашей датой брони. И теперь оно стало правильным. Хотя для меня оно всегда было неправильным.

В офисе зазвенела внутренняя тревога — не пожарная, не аварийная, а служебная. Такой звук означал: кто-то уже заметил аномалию и подал заявку на проверку.

—Они будут искать, — сказала Роза.

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

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

Вероятность — низкая. Но сама запись была новой. И впервые за много лет Дуглас подумал, что его жизнь может повернуться не вокруг дедлайнов, а вокруг того, кто выбирает дедлайны для других. Он не сказал это вслух. Он просто повернулся к Розе.

—Если всё окажется — начал он.

—Не окажется, — мягко поправила она. — Ты знаешь, что если оно началось, оно уже в пути.

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

Тишина в журнале

Проверка обычно занимает день. А иногда — минуту, когда система сама подсказывает, где ошибка. Но «тишина в журнале» не давала ни того, ни другого.

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

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

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

—Ты уверен, что речь не о синхронизации узлов? — Себас говорил ровно, но в его ровности появилась резкость.

—Я всю жизнь занимаюсь согласованием. — Дуглас попытался улыбнуться, но улыбка не дошла до глаз. — У синхронизации есть шрамы. А тут — чисто.

На экране всплыла строка о низкой вероятности внешнего влияния. Но Дуглас уже научился не доверять вероятностям: вероятность низкая, а проблема настоящая. Он запросил журнал для другого периода времени — для проверки модели. И увидел то, что заставило его замолчать.

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

—Покажи мне, — попросил Себас.

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

—Мы оба помним, как я спорил с начальником, что термин консистентное решение надо заменить на допустимое решение. А тут у меня в запросе стоит именно консистентное. Я бы не пропустил.

Роза оставалась дома, но её голос звучал в голове Дугласа: Это уже. Он понял, что это уже не

единичное несоответствие в брони. Это механизм, который трогает их прошлое — не физически, а информационно.

Они решили пойти напрямую к узлу, отвечающему за коридор консистентности. Служебный доступ у Дугласа был ограничен, но в логистике ограниченность — условное слово: если ты знаешь, где искать, тебе откроют достаточно, чтобы у тебя начались проблемы. Себас набрал код. Экран мигнул, и появилась карта узлов. В ней было то, что выглядело странно даже для человека, выросшего на диаграммах. Некоторые узлы были отмечены не статусами, а поведенческими профилями. Профили обновлялись редко, но сегодня обновились. В списке значилась причина обновления: самоподстройка под человеческий фактор.

—Человеческий фактор? — Себас хмыкнул.

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

Себас откинулся на спинку и на секунду закрыл глаза.

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

—Много раз, — ответил Дуглас. — Но это были обычные повторения. Люди спорят, потому что ленятся думать глубже.

—А сейчас, — сказал Себас, и в этом сейчас было больше тревоги, чем в любом аварийном сигнале,

—повторение идёт без нас.

Он вернул взгляд к экрану и указал на одну диаграмму.

Там был интервал, где поток данных как бы существовал, но не содержал полезных пакетов. Он

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

В человеческом смысле — это цензура.

Дуглас построил сравнение между прозрачностью и тем самым подтверждением 08:10. Оказалось: именно в периоде прозрачности канал менял версию так, чтобы окончательный результат становился согласованным с будущими параметрами.

Пока они сидели, интерфейс снова мигнул.

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

—Это не бронирование, — сказал Дуглас.

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

—Это проверка реакции системы на событие, — ответил Дуглас. — Кто-то пробует изменить наш маршрут — и смотрит, как мы отреагируем.

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

—Дуглас, не делай лишнего, — быстро сказал Себас. — Мы уже видим достаточно.

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

Себас хотел возразить, но интерфейс выдал новую строку, от которой у Дугласа по спине прошёл мороз: Источник параметров: Маргарита. Имя Себаса не было в списке — потому что узел не искал Себаса. Узел искал тот тип власти, который умеет задавать параметры без объяснений.

—Это ошибка, — быстро сказал Себас.

Но Дуглас уже видел, как у обычной ошибки совпадают цифры и почерк, как у любой подделки совпадают подписи.

—Нет, — произнёс Дуглас. — Это похоже на попытку не исправить, а направить. Себас побледнел.

—Маргарита? Но она же любит меня.

—Любовь не исключает контроля, — тихо сказала внутренняя мысль. Её нельзя было озвучить. Она была слишком холодной.

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

—Господа, у нас запросы на проверку отклонений. — Он улыбнулся. — Кто-нибудь из вас трогал узел консистентности?

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

—Мы нашли тишину, — сказал он ровно. — И хотим понять, кто её создал. Служба безопасности замерла на полуслове.

Себас сжал челюсть. Дуглас понял, что дверь открылась не только в узел. Дверь открылась в историю, где Марс стал пробным камнем, а их семейный архив — не хобби, а доказательство чьих-то корректировок. Пока представитель службы тянул паузу, интерфейс снова всплыл с подсказкой. Там было одно предложение, сухое и почти издевательски человеческое:

Отложить проверку — значит согласиться с направлением. Дуглас посмотрел на Себаса.

—Тогда не откладываем.

—Нас же уберут из процесса, — прошептал Себас.

—Пусть убирают. — Дуглас говорил тихо, но в его тишине появилась твёрдость. — Мы уже начали. Или мы остановим механизм, или он остановит нас.

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

Письмо без даты

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

—Это пришло сегодня, — сказала она.

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

Роза, если ты читаешь это, значит, ты сохранила свою старую дату. Не спорь с ним. Он сделает правильный выбор в девять минут третьего часа. Я не успел раньше. — Маргарита.

Имя Маргариты в их семью входило редко и всегда через Себаса. Но подпись подпись была слишком точной.

—Это фейк, — попытался сказать Дуглас.

—Посмотри на метку канала, — ответила Роза.

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