Аннотация: Первый рассказ из цикла "Архивы Марка" - история о том, как человек, привыкший контролировать реальность через код, впервые встречается с её скрытым слоем
Марк Вронский, тридцать один год, сетевой аналитик и фрилансер, специалист по безопасности цифровых систем, сидел и с тоской смотрел в монитор. И хотя он не верил в паранормальное, а только в дыры в защите, скрытые лазейки и человеческую ошибку. И все же на груди у него висел медный медальон с Всевидящим Оком. Можно сказать, это была случайная прихоть, когда Марк увидел его на развалах блошиного рынка. Он считал его безделушкой, талисманом на удачу для суеверных, но продолжал носить.
А в последние месяцы все изменилось. Все пошло наперекосяк.
Странности, которым он не мог дать объяснения преследовали его: монитор включался сам посреди ночи, маршрутизатор перезагружался без причины, температура сервера падала в полночь, независимо от работы климатической системы.
Последней каплей стало утро после бессонной ночи. Марк, стирая с лица онемение, потянулся к мышке - и рука замерла в воздухе. На рабочем столе лежал файл
note.txt
Он моргнул. Файл не исчез. Сердце ударило один раз, глухо и тяжело, будто запуская холодный двигатель где-то в груди. Он щелкнул по файлу. Прочитал. И отшатнулся от стола так резко, что колесико кресла проскрежетало по полу. Содержимое состояло из одного вопроса, набранного моноширинным шрифтом:
Ты видишь нас?
И он точно помнил, что он не создавал эту заметку, и уж тем более не писал такой странный вопрос. Да и кому он мог его адресовать? Все было не так. Пароль от учётной записи знал только он. Файловая система - стандартная, права доступа - максимально ограниченные. Время создания - 03:17. В журналах не было ни постороннего входа в систему, ни запланированных задач, ни подозрительных процессов. Как будто файл материализовался из пустоты, нарушив законы физики и все принципы информационной безопасности разом.
Марк проверил систему на скрытые вредоносные программы, проанализировал дампы памяти, даже разобрал компьютер в поисках скрытых аппаратных закладок. Ничего.
Марк чувствовал, кто-то сходит с ума или он или мир вокруг него. Тогда он установил watchdog - простую программу, следящую за всеми изменениями в каталогах устройств и процессов. Изолированная от сети, работающая независимо от системы, она даже запускалась с отдельного одноплатного компьютера. Она молчала, лишь раз в час отправляя сигнал "в работе". И вот, спустя неделю тревожного ожидания, ночью - замигало красным тревожное окно.
На экране терминала, подключённого через последовательный порт, мерцала строка:
/dev/dream_0: обнаружена новая файловая система. Подключить? [Д/н]
Он не подключал таких устройств. Не создавал таких точек монтирования. Но журналы не врали - в системе было то, чего физически быть не могло.
Марк чувствовал, как его накрывает темная холодная волна безумия.
Полгода назад, после странного приступа в метро - сердце рвалось из груди, в ушах - нескончаемый белый шум, а стены станции шептали на языке, забытом ещё до рождения языков - Марк начал вести дневник.
Пытаясь разобраться в происходящем он начал собирать данные через самодельную систему наблюдения: пульс, давление, температуру, логи Wi-Fi-сигналов, показания датчиков электромагнитного поля, даже видео с инфракрасной камеры в спальне. Искал причину происходившего внутри себя - эпилепсию, опухоль, галлюциноген в водопроводе.
Вместо этого он нашёл скрытую директорию /dreams/ в своем компьютере, который он считал сверхзащищенным и даже дал ему название "Черный Монастырь".
Как папка появилась на его основном накопителе, в корне домашнего каталога было загадкой, сопоставимой с тайной исчезновения континента Му. Внутри находились двоичные дампы с заголовками, похожими на формат исполняемых файлов, но с неизвестной сигнатурой - 0x7f 0x44 0x52 0x4d - DRM. Dream-Readable Memory.
Марк засел за расшифровку. Спустя литры остывшего кофе он добился успеха.
Первый файл, scene_001.drm, содержал после расшифровки знакомый пейзаж за окном, словно отрисованный графическим процессором, который получил дозу электронного наркотика. Башни из чёрного стекла, пронизанные неоновыми жилами, пульсирующими в ритме, который вызывал тошноту. Улицы, где тени двигались независимо от источников света, изгибаясь под невозможными углами. Рекламные экраны, показывающие не товары, а символы - гибрид клинописных рун и машинных инструкций.
Второй файл, layers_002.drm, содержал трёхуровневую схему:
Layer 1: Interpreted (Phenomenal)
Layer 2: Structural (Code)
Layer 3: Source (?)
Access denied: insufficient privileges
Третий - был фрагментом "кода" на языке, напоминающем смесь Python, энохианской литургии и аккадской клинописи. Марк потратил неделю, пытаясь его расшифровать. Синтаксис был чудовищен: переменные объявлялись не через знак равенства, а через символы, которые меняли значение в зависимости от фазы луны; циклы выполнялись не по условию, а по совпадению астрономических тел; исключения возникали не при ошибках, а при "нарушении нарративной последовательности".
Дальше стало только хуже. В списки процессов объявился демон dreamd, который начал запускаться при каждом входе в систему - даже после полной очистки дисков и перепрошивки BIOS. Марк понял, это уже не ошибка системы. Это странный, невозможный интерфейс... чего-то. И, возможно, угроза для его собственного разума.
Он назвал это явление "Ночным Городом" - по аналогии с тёмной сетью, скрытым слоем реальности, где действуют иные законы.
Чтобы избавить мозг от чудовищной нагрузки в попытке воспринять все происходящее вокруг, Марк решил выплеснуть все наружу. все то, что грызло и изводило его все это время. Так появился проект "Перекресток".
Логика была проста, если эти образы вторгаются в его сознание, их нужно не игнорировать, а работать с ними - как с вирусом в песочнице. Только так можно понять, как они работают... и как их остановить.
По большому счету это был симулятор, Марк хотел проверить гипотезу: если Ночной Город - слой реальности, значит его можно смоделировать как распределённую систему с пусть аномальными но все-таки правилами.
Марк вложил в него всё, что видел в своих "приступах": геометрию теней, частоту фонового шума, символы на стенах. Каждый модуль - попытка реконструировать атаку на когнитивную стабильность.
Он провел много времени разрабатывая игровые инструменты: сканер сети для поиска скрытых символов в текстуре мира, дешифратор радиошума через энохианские ключи (он нашёл их в старом PDF о "криптографии средневековья", скачанном с виртуальной библиотеки). К его удивлению, некоторые последовательности давали осмысленный результат.
Вместо привычной по сотням книг и игр системы магии была реализована система "воздействия" - аналог проверки файловой системы астрального тела: для локального воздействия на время или материю игрок должен был найти через консоль код в окружении и изменить его структуру, вводя корректные знаки на языке, сходном с HTML.
Даже звук - музыка, сгенерированная на частоте 432 Гц, потому что кварцевые резонаторы в его детекторе электромагнитного поля давали минимальный шум именно на этой частоте. Это была не "гармония реальности", как утверждали эзотерики. Это был резонанс кристаллической решётки кремния, случайно совпавший с какой-то фундаментальной постоянной.
Главный герой симулятора - Денис - был не вымыслом, а зеркалом самого Марка: его привычка теребить мочку уха, его ироничная полуулыбка, его страх падения - неконтролируемого движения вниз. Так легче было тестировать. Если Денис теряет контроль - значит, и Марк уязвим.
"Просто хороший профайлинг", - сказал себе Марк, заливая релиз на тестовую игровую платформу. Настоящие данные, ядро симулятора, были спрятаны в скрытых слоях изображений, доступных только по цифровому ключу, сгенерированному на квантово-стойком алгоритме.
Первые отзывы были восторженными. "Новый виток в интерактивном сторителлинге", "Синтез киберпанка и мистики".
А потом пошла обратная реакция.
Сообщение пришло не на почту, а через скрытый канал связи - он работал в фоновом режиме, используя нестандартный сетевой порт. Марк обнаружил его, когда проверял открытые соединения - утилита показала установленную сессию на адрес, который не разрешался через систему доменных имён.
Отправитель: denis@nightcity.onion
Текст - кодированный блок, с цифровой подписью, совпадающей с его собственной.
После раскодирования - фрагмент диалога, которого не было в симуляторе:
ДЕНИС: Ты думаешь, это просто игра?
ИГРОК: [1] Это больше, чем игра. [2] Всё - игра.
ДЕНИС: Правильный ответ - третий. Тот, которого нет в списке.
ДЕНИС: "Это мост. И ты уже на нём".
Ледяной ком сжался в желудке Марка. "Откуда?.." - вырвался у него хриплый шепот. Он сознательно НЕ вводил этот вариант. Его пальцы, ставшие вдруг холодными и неловкими, застучали по клавишам с такой силой, что клавиатура затрещала. "traceroute... execute". Дрожащими пальцами Марк запустил утилиту трассировки входящего сообщения. Он впился взглядом в экран, не чувствуя, как затекает спина, как стискиваются челюсти. Проработав семнадцать минут, она показала, как письмо шло через узлы в Рейкьявике, Тайбэе, Йоханнесбурге... и затем связь уходила в скрытое интернет-пространство. Сканирование дало результат, что скрытый адрес совпадал с хешем его собственного цифрового ключа - того самого, что он использовал для подписи релиза.
Это было невозможно. Математически. Криптографически.
Следующие дни превратились в каскад аномалий, каждая страшнее предыдущей:
Сначала на столе, рядом с клавиатурой, появился листок с надписью: "Я просыпаюсь, когда ты засыпаешь. Мы делим одно сознание". Его почерк. Но он не писал.
Через три дня в журналах ядра операционной системы- он увидел запись о присоединённом "теневом процессу". В списке активных процессов ничего похожего не было. Но другая утилита показывала, что некий dreamd держит открытым файл /dev/shm/shadow_mar в общей памяти.
Еще через два дня в запущенной игре появилось сообщение : "Открой окно. Посмотри на луну. Я здесь." Марк раздвинул шторы, на стене соседнего дома, на уровне девятого этажа, светился бледно-голубым светом символ, который он заложил в симулятор как "ключ к третьему слою".
Перед Марком стояла кружка с чаем, он уже не мог смотреть на кофе, от его запаха начинало тошнить. Осознание происходящего медленно прояснялось в его утомленном сознании.
Ночной Город существует это еще один слой реальности который мы стараемся не замечать, параллельный, но доступный через определённые... интерфейсы.
Денис это не персонаж, это что-то-то иное. Мыслеформа? Сгусток энергии? Отколовшаяся часть его собственной психики, получившая автономию в той пограничной зоне?
Игра, над которой он провел столько времени это ритуал. Каждой командой, каждым символом, каждой строчкой текста он не создавал мир, а прорисовывал дверь. Устанавливал точку входа и теперь она была приоткрыта.
Марк сидел в темноте, глядя на мерцающий символ на стене соседнего дома, прижав ладонь к холодному стеклу, словно пытаясь на ощупь проверить реальность свечения. Дыхание запотевало на стекле, затуманивая символ, но тот продолжал пульсировать из-за пелены. "Так, - прошептал он себе под нос. - Хорошо. Допустим. Допустим, ты существуешь. Что дальше? Чего ты от меня хочешь?". Вопрос повис в пустой комнате, и Марк впервые поймал себя на мысли, что ждет ответа не на экране, а из темноты за окном..
Часть 4: Отладка сознания: Первый контакт
Полночь.
Марк теребил между пальцев медальон, снятый с шеи. Он не верил в его силу, но твердая, холодная поверхность помогала сознанию держаться за реальность.
В комнате - только свет монитора и пламя одной свечи, поставленной перед клавиатурой. На корпус ноутбука положил медальон с Всевидящим Оком, шнурок от которого Марк намотал на руку, как будто это было заземление. Он сам не знал что у него получится и к чему он готовится, то ли к ритуалу, то ли к отладке операционной системы своего сознания.
Марк боялся. Он не знал, что делать дальше. У него был только код, логика и парализующий страх потерять контроль над реальностью.
Марк открыл отладчик и подключился к самому себе - метапрограммирование сознания.
attach $(pgrep -f "mark_vronskiy")
break *perception_handler
run
Монитор погас на секунду, затем зажёгся снова. В центре появился мерцающий зелёный курсор, как на первых терминалах.
Марк вдохнул, пальцы зависли над клавишами. Что ввести? Какой командой остановить происходящее? Он вспомнил принцип симметрии в криптографии: иногда атака и защита используют один и тот же механизм.
Он напечатал:
set $ego = $shadow
continue
Монитор моргнул.
Окно терминала исчезло, вместо него было открыто окно видеочата. Чёткое, до мельчайших деталей: он сидит за столом, перед свечой и ноутбуком. И в отражении... за его спиной стояла фигура в длинном чёрном пальто, с лицом, скрытым в тени.
Денис.
Марк медленно, с трудом поворачивая шею, обернулся.
Комната была пуста. Только книги, серверные стойки, мерцающие светодиодами.
Он снова посмотрел на экран. В отражении Денис не исчез. Он стоял там, за спиной его двойника. И теперь - улыбался. Не ироничной полуулыбкой персонажа. Улыбкой оператора, видящего успешное решение задачи.
"Мы - один сетевой процесс в ядре реальности, - произнес голос из колонок. - Разветвлённый процесс. Но ты - администратор. Ты можешь стереть меня, это действие без обратной связи, подумай, что тогда останется в основной ветке".
Руки Марка замерли над клавиатурой. Все его инстинкты кричали: "Нейтрализовать угрозу!" Мышление аналитика предлагало знакомый сценарий:
Но в этот момент, глядя на Дениса в отражении, Марк внезапно понял то, что игнорировал все эти месяцы. Денис не выглядел враждебно. Он выглядел... устало. Как часть головоломки, ждущая своего места.
Проснуться, - пронеслась мысль где-то глубоко в сознании.- Чтобы проснуться, нужно стать цельным.
Это было иррационально. Нелогично. Противоречило всем принципам информационной безопасности.
И всё же.
Марк медленно опустил руки с клавиатуры. Откинулся в кресле. Вдохнул глубоко, чувствуя, как воздух заполняет лёгкие, как бьётся сердце.
"Что, если... - начал он вслух, голос прозвучал хрипло от напряжения. - Что, если ты не угроза?"
В отражении Денис слегка наклонил голову.
"Что, если ты - часть, которую я потерял? Или никогда не позволял себе иметь? Или ты тот, кем я всегда хотел быть?"
Тишина в комнате стала гуще, плотнее. Даже гул серверов будто притих.
Марк повернулся к клавиатуре. Но теперь его пальцы двигались иначе - не в стремительной атаке, а в медленном, осознанном танце.
Вместо команды уничтожения он запустил проверку. Экран дрогнул, и на нём возникли две одинаковые как близнецы строки. Цифры, параметры все совпадало. Только имена разные: одно - его, второе - чужое.
Две копии одного ядра, - понял Марк. -Разделённые при загрузке.
Он присмотрелся. Даже время работы совпадало секунда в секунду. Будто кто‑то зеркалил его действия, повторял каждый шаг.
Он открыл конфигурационный файл ядра:
cat /boot/config-$(uname -r) | grep -i split
Нашёл:
CONFIG_PSYCHE_SPLIT=y
Марк замер, глядя на эту строку. Всё его существо сопротивлялось тому, что он собирался сделать. Это было нарушением всех правил, всех протоколов. Слияние запущенных ядерных процессов? В рабочей системе? Безумие.
Но безумием было и то, что происходило последние полгода.
"Хорошо, - прошептал Марк, и это слово было адресовано и Денису на экране, и самому себе. - Давай попробуем иначе".
Его пальцы начали вводить последовательность слияния четкими ударами, как будто он забивал сваи:
echo "Initiating kernel merge procedure..."
systemctl stop ego_core.service
systemctl stop shadow_core.service
На экране терминала промелькнули сообщения о остановке служб.
Сердце Марка билось так громко, что он слышал его в ушах. Это было как отключение систем жизнеобеспечения - собственных систем жизнеобеспечения.
"Это опасно, - сказал он вслух, не зная, кому адресует слова. - Если я ошибаюсь..."
"Если ты не сделаешь этого, ты уже ошибся, - ответил голос Дениса, но теперь он звучал иначе - ближе, как будто изнутри. - Полжизни ты прожил наполовину".
На экране появился прогресс-бар. Процентов не было - только строка, медленно заполняющаяся зелёными символами.
Марк закрыл глаза. Он чувствовал... что-то. Не боль. Не дискомфорт. Скорее, ощущение расширения. Как будто комната, его комната, вдруг стала больше. Или он стал больше, чтобы заполнить её полностью.
Воспоминания хлынули волной:
Вспышка: он сидит с отцом за первым компьютером, пахнет паяльником и кофе. Отец показывает, как работают транзисторы. "Всё - переключатели, Марк. Даже мысли".
Вспышка: он первый раз видит Ночной Город во сне, но просыпается в холодном поту и усилием воли заставляет себя забыть..
Вспышка: ночь перед защитой диплома. Он пишет код, но он работает странно - иногда выдаёт результаты, которых не должно быть. Марк называет это "артефактами генерации" и добавляет фильтр.
Вспышка: он стоит в метро, и стены действительно шепчут. Он чувствует их структуру, как чувствует архитектуру сети. И боится. Глубоко, до тошноты боится.
Каждое воспоминание приходило целым. С эмоцией, с запахом, с тактильным ощущением, с... пониманием. С тем, что было убрано, отфильтровано, отсечено разумом как "нерелевантное".
Прогресс-бар заполнился.
Марк открыл глаза.
Комната была прежней.
Он всё ещё видел серверные стойки, книги, монитор. Но теперь он также видел... линии. Тонкие, едва заметные нити света, соединяющие предметы. Силовые линии реальности, о которых он читал в тех самых файлах dreams/.
Он видел свечу - и видел, как её пламя переплетается с электрическими полями в проводах. Видел экран монитора - и видел, как пиксели резонируют с чем-то за пределами комнаты, за пределами физического мира.
И главное - он больше не чувствовал страха.
На экране, где раньше было окно видеочата с Денисом за спиной, теперь было просто его изображение. Но это изображение... смотрело на него иначе. Глаза были те же, но изменился взгляд, теперь он не был разделен на наблюдателя и наблюдаемого.
Марк поднял руку. Отражение сделало то же самое.
Он проверил контрольную сумму.
sha256sum whole_being == expected_hash → OK
Интеграция успешна. Угроза локализована. Система стабильна.
Теперь можно работать.
Он выглянул в окно, символ на здании напротив все так же светился, но теперь Марк не только видел, но и чувствовал его. Как ощущал бы собственный шрам на коже. Он был частью его, как Денис был частью его.
Марк протянул руку к стеклу чтобы коснуться символа на расстоянии.
И символ ответил - его свечение усилилось, запульсировало в такт дыханию Марка.
Он отступил от окна. Посмотрел на свой ноутбук. Терминал всё ещё был открыт, показывал завершённую операцию:
Kernel merge complete.
New process: whole_being [PID 14534]
Status: Running
Integrity: 100%
Марк сел за стол, открыл новый файл, впечатал его название
journal.md
Первая запись:
"Сегодня я стал собой. Оказывается, мир, который я видел наполовину, был лишь тенью реального. Ночной Город - не угроза, не вторжение, не сон. Это то, что всегда рядом с нами. Это приглашение видеть мир таким, какой он есть."
Сохранить файл. Закрыть ноутбук. Свеча догорала, её пламя теперь казалось ему не просто химической реакцией, а точкой пересечения множества слоёв реальности.
Марк лёг спать. И впервые за полгода - не боялся снов. Он ждал их,сны - это диалог между частями самого себя, которые наконец-то научились говорить на одном языке.
А утром, когда он проснётся, он начнёт изучать Ночной Город.
И когда через несколько месяцев, в три семнадцать утра в подземном переходе, он встретит первого настоящего обитателя Ночного Города.
И будет готов не как мистик. Не как инженер. Как тот, кто наконец-то перестал бояться собственной тени.
Эпилог: Сборка ядра
Теперь Марк знает правила. Вернее, понимает, что правил в обычном смысле нет. Есть законы, написанные на языке, который он только начинает учиться читать.
Ночной Город - не параллельный мир. Это изнанка Города дневного, его теневая копия, запущенная на другом железе. Мегаполис, где реальность пронизана сверхъестественным.
Магия здесь - это тонкий баланс, хакерство на уровне интерфейсов реальности. Любое грубое вмешательство чревато обратным ударом - откатом, который не исправляет ошибку, а наказывает взломщика.
Марк ещё не маг. Он - техномант. Первый из нового поколения. Он не шепчет заклинания, а пишет сценарии. Не рисует пентаграммы, а проектирует печатные платы с символами вместо дорожек.
В кармане - Raspberry Pi с модифицированным ядром Linux, способным не только монтировать /dev/dream_0, но и транслировать /dev/reality. На запястье - браслет, собранный из ферритовых колец и микросхем, отслеживающий изменения в локальном морфогенетическом поле.
Он открыл терминал и начал писать первую строку документации:
/dev/dream_0 - интерфейс для чтения скрытого слоя реальности.
Предупреждение: не монтируйте без предварительной проверки целостности.
И, возможно, сможет понять, что дверь - это и есть он сам. И она не должна быть ни открыта, ни закрыта. Она просто должна быть.
Ветер с реки приносит запах озона и чего-то ещё - сладковатого, металлического, как запах крови и статического электричества. Но теперь Марк различает в этом запахе и другие ноты: запах старых книг, запах дождя на асфальте, запах собственного страха, превращающегося в любопытство. Марк автоматически коснулся пальцами медальона под свитером. Медный диск перестал быть безделушкой, он стал приемной антенной - грубой, примитивной, но работающей.
Марк включает ноутбук. На экране загружается система, которую он теперь называет просто KERNEL. Операционная система для работы с чувствительными данными реальности.
Первая команда дня была не нужна. Система уже работает. Она живёт. Она и есть он.
Но по привычке он всё же открывает терминал. И печатает приглашение:
welcome_shadow()
И где-то глубоко внутри, в месте, которое раньше было слепым пятном сознания, что-то откликается. Тепло. Признание. Возвращение.
Сканирование начнётся через три минуты. А пока - кофе. Чёрный, без сахара. Как и положено человеку, который скоро войдёт в тень.
Ночной Город ждёт. Но теперь он ждёт не жертву и не охотника. Он ждёт того, кто наконец-то стал собой.
Марк делает глоток. Ставит кружку рядом с клавиатурой. Открывает терминал.
Он готов к работе.
Kernel compiled. Processes synchronized. Reality - not for backup, but for living.
Good luck, technomancer. You'll need all your wholeness.