Стражи рая

[log.sys.01] :: handshake complete
Капли кислоты сверлят асфальт, испаряясь синим паром. Здания склоняются друг к другу, как старики, шепчущиеся на мёртвых языках. Воздух пахнет озоном и старым кино.
Кислота стекает по гранитным стенам, растворяя резьбу времён всех империй. Где-то вверху, за слоями рваных облаков, плывёт солнце-пиксель – идеальный круг, вырезанный циркулем бога-программиста.
Оконные стёкла дрожат. А отражения нет. Статичны. И одинаковы.
В них его аватар – тень, лишённая границ – сливался с паттернами пыли. Нейрошвы горят, как проволока под кожей.
Архивные записи шепчут имена забытых программ. Тени сшиты из побочных вычислений.
Система уже трижды меняла правила: улицы сворачивались в трубу, статуи меняли позы, отслеживая его перемещение. Но он знал этот танец.
– Тысяча циклов, – пробормотал он, заставляя силуэт вибрировать на грани возможностей рендера.
Часы застыли в полночь. Полдень. Полночь. Полдень. Полночь…
Ловец стоял в центре площади, его силуэт мерцал, будто неудачная склейка кадров. Система сбросила последний слой: дождь ускорился, капли превратились в стеклянные нити, вонзающиеся в кожу.
Если бы здесь была кожа.
Вспыхнул фонарь. В его свете – девочка с лицом, собранным из подборки старых анимэ, растворяется в потоках кислоты.
– Ты опоздал, – прошелестел голос, выдавленный через синтезатор, имитирующий скрип ржавых ворот.
Геометрия рассекает темноту. Пиксельные фракталы колышутся как водоросли. Цифровой океан.
Ловец замер на границе абстракции. Мир вокруг пульсировал – полупрозрачная голограмма города, где улицы и здания составлены из строк кода, а светофоры и билборды мерцали переменными.
Тиканье часов отстаёт от движения стрелок.
Нейрошлем давит на виски. Тактильные сенсоры жалят пальцы.
Система пыталась атаковать его сразу на нескольких уровнях восприятия: звуковые помехи, дезориентирующие вспышки света, фантомная боль. Но Ловец уже не здесь и не там – его сознание балансировало на грани.
– Детка, ты труп, – Голос женский, бесплотный, одновременно раздающийся отовсюду и ниоткуда. – Твой мозг отказывает.
Это провокация. Защита пыталась вызвать эмоциональный сбой, но его мозг, отшлифованный тренировками, отсеивал «шум». Вместо этого он увидел то, что скрывалось за визуальными метафорами – ритм. Четверостишие дождя, пауза в пульсе ветра, фрактал в трещине мостовой.
Тысячи зрителей в нейрошлемах ловят каждый жест, их сердца бьются синхронно с кодом.
– Ты повторяешься, – Ловец вскинул руку. Воздух разорвался вспышкой, словно кто-то дернул за невидимую чеку. Здания начали складываться, как оригами, их углы ломались в невозможные конфигурации.
Крик боли откуда-то справа.
Не настоящий – иллюзия, созданная ИИ. Игнор.
Система захрипела. Визуализация мигнула, обнажив прослойку сырых данных – серый склизкий код. Ловец протянул палец, придавил его.
Полосы света скользят по асфальту, разрезая мостовую на кварталы нового города.
– Неправильная топология, – пробормотал он, борясь с иллюзией паралича, созданной системой. – Геометрия нарушена в точке пересечения.
Тончайший шов между кодом и метафорой, границу, где реальное становилось виртуальным.
Он огляделся. Похоже, остальные выбыли, не выдержав давления симуляции.
Облако данных течёт над шпилями небоскрёбов.
Нити световых волокон переплетаются в силуэты прохожих. Без лиц.
ИИ наступал, вплетая в код новые слои: кирпичи оживали, превращаясь в рой цифровых ос, здания дышали, расширяя промежутки между окнами-глазницами. Ловец сжал нейроджойстик – архаичное устройство, которое он таскал с детства. Хакеры смеялись, пока не увидели, как он рвёт алгоритмы в клочья голыми импульсами мозга.
– Заморозка, – скомандовал он.
Его аватар выбросил щупальца теней. Код кристаллизовался: птицы застыли в полёте, дождь повис алмазной сеткой, город превратился в чертеж, прошитый синими линиями не-пространства. На секунду.
Ловец не атаковал линейно. Вместо того чтобы искать уязвимость в очевидных местах, он создал глюк-арт – внедрил в систему фрактальную конструкцию из невозможных фигур Эшера. Визуально это выглядело как дом, лестницы которого никуда не вели, наложенный на трехмерную проекцию пентаграммы, где каждая грань содержала рекурсивную последовательность глифов.
– Твой дедлок, – прошептал Ловец, наблюдая, как его конструкция разрастается, – заставляет тебя вычислять решение, которого не существует. Детка.
Система зарычала. Алгоритмы зациклились. Квартал задрожал, накрывая площадь цифровой рябью. Где-то глубоко в архитектуре нейронки процессоры начали греться, пытаясь интерпретировать парадокс, созданный человеком.
Цветок треугольника прорастает из трещины в мостовой. Его грани мерцают кодом JSON, который система пытается прочесть как трёхмерный объект.
Ошибка рекурсии.
Где-то в ядре плавится процессор.
– Не-не… – система заикнулась, её голос раздробился на гармоники и диссонансы, – невозможно решение… перезагрузка…
Здания сложились в башню Пенроуза, уходящую в облака-серверы.
ИИ завис, пытаясь разрешить парадокс: как дверь может вести одновременно в прошлое и в ошибку 404? Ловец вдохнул – и выдохнул вирус, спрятанный в метаданных.
– Шах и мат.
Экран арены взорвался фрактальным некрозом. Тысячи зрителей в нейрошлемах взвыли, трансляция схлопнулась в битый пиксель.
Детализация поплыла, текстуры посыпались. Обнажился скелет полигонов. Всё.
Тишина. Потом – звук, похожий на скрежет иглы по виниловой пластинке.
ИИ смеется. Или плачет. Вы никогда не поймёте.
Осколки окон в воздухе, как пауза в дыхании. Не падают – просто дрожат в метафизической тишине, застывшие на полпути между небом и асфальтом.
Мир выглядел так, будто его забыли дорендерить. Дом за спиной заканчивался серой решёткой, дальше которой начиналось ничто. Чистая отладочная пустота.
Он стоял посреди улицы, окружённый слепым городом, который когда-то был кодом, потом стал архитектурой, а теперь – иллюзией, не выдержавшей нагрузки.
Руки дрожали не от усталости, а от перегрузки интерфейса. Мозг все еще требовал команд – переподключиться, откатить, сбросить – но всё было уже сделано. Взлом завершён. Последний уровень защиты сдался без драмы, просто с хрипом.
Он вытащил из воздуха несуществующий интерфейс – привычное движение пальцами, словно стряхнул пепел. Панель моргнула и исчезла. Ничего не откликалось. Всё выключилось – или притворилось выключенным.
Вдалеке мелькнул силуэт. Возможно, человек. Возможно, глюк. Он не стал приближаться. В этой фазе лучше не приближаться – здесь всё может оказаться проверкой.
Город шептал фоновым шумом – не звуками, а обрывками мысли. Перемешанные фрагменты логов, ошибки доступа, воспоминания, которые не его. Он знал: система не просто защищалась, она искала. Не нарушителя, а уязвимость – в нём самом. В восприятии. В логике. В эмоции.
Он дошёл до конца улицы. Там была дверь. Абсурдно обычная. Краска облезла, номер выцвел, ручка латунная, как в старых подъездах. Он нажал. Не на ручку – на то, что стояло за ней: готовность выйти. Прекратить. Прервать сеанс.
На миг город ожил, будто попытался восстановиться. Появился шум дождя или его эха. Рекурсивное эхо, отражающееся от пустоты. Он шагнул вперёд.
[boot::selfcheck]… ok / ok / ??? / ok / ∅
Запах озона сменился ароматом дешёвого табака, пива, пота и горелой электроники. Где-то далеко завыла сирена. Ближе разбилось стекло.
Ловец снял нейрошлем, реальность обрушилась на него потоком тактильных ощущений: пот на лбу, щекотка в затёкших конечностях, бьющий бит из колонок. Это были первые секунды возврата, когда психика ещё не успела полностью выйти из виртуальности.
Он очнулся, не моргнув. Уже на ходу. Просто осознал: перед ним – стойка. Дерево, потёртое, с пятном от стакана. За ней – бармен, настоящий. Или нет?
Пальцы снова дрожали. Уже не из-за интерфейса, а от возвращения веса. Тела, гравитации, времени. А значит – реальность. Или хорошая её симуляция.
Он посмотрел на свои руки. Откуда-то под ногтями грязь. Пульс стабилизировался. Сжал и разжал кулак. Тактильная обратная связь – достоверная. В пределах допустимой погрешности.
– Что будешь? – спросил бармен. Голос без выражения. Монотонный, как системный лог.
Он не ответил. Просто смотрел. Ждал сбоя. Повторяющегося жеста. Заикания. Символа. Любой подсказки.
Бармен не сбился. Не сглючил. Потянулся за стаканом, вытер его одним движением и поставил на стойку. В точности, как в прошлый раз. До взлома. До тура. До последнего уровня. Он был здесь. Уже.
Значит, ещё внутри.
– Проверка. – произнёс он вслух, пробуя собственный голос. – Симуляция. Третья итерация. Бар. Пятнадцать столов. Один выход.
– Выглядишь неважно, – сказал бармен, и посмотрел в глаза.
Ошибся.
Потому что этот взгляд не был сгенерирован. Там было присутствие. Не чужое – человеческое. Чужое было бы идеальнее.
Он ощутил резкий укол тревоги. Бар слишком реален. Не как до, а как после. Как финал.
Он выругался. Механически, как работяга, ударивший молотком по пальцу.
Бармен не отреагировал. Посетители – тоже.
Коснулся стойки. Шершавая. Тёплая. Ответ не пришёл. Не интерфейс. Не прослойка. Материя без данных.
И вдруг – звук. Неровный. Как радиопомехи:
– Пройдена точка разрыва. Соединение не восстановлено. Состояние – неопределённость.
Он замер. Это не был внешний сигнал. Это он сам – внутренний голос, наложенный на системный эхофид. Последняя проверка. Финальный маркер.
Память возвращалась рывками. Турнир. Приглашение. Вместо подписи ноль. Как вензель на архивной бумаге. "Соберём лучших". Но он не видел других.
До сих пор.
– Хорош параноить. Всплывай, – Голос был живой. Не сгенерированный.
Первый. Знакомый.
И, кажется, он тоже там проверял, реальна ли эта дверь. Один из остальных.
– Пять секунд, – голос Кубика пробился сквозь шум отключения. – Сегодня рекорд твой.
[ ∅ signal ] :: no carrier / timeout
Кубик чилил за ближайшим столом. Легенда. Почти мем. Без лица – только граватар на дисплее костюма, который он так и не снял. В лицо его мало кто знал. Зато все знали его код. Его хаки ходили как байки, которые никто не мог воспроизвести. Он устало похлопал по столу, приглашая.
Поздравления звучали, как отголоски последнего уровня – нереальные, как фантомная боль после отсоединения. Но нейрокостюм в его руках был настоящий. Тяжёлый, с тактильной мембраной, пахнущий фабричной смазкой и электроникой. Серо-чёрный, с янтарными линиями интерфейса – как будто в нём уже текли мысли. Такой не купишь. Даже не украдёшь. Только выиграть.
Спок, младший брат Айки, сиял как диод. Он не успел даже снять перчатки. Ну, как не успел. Специально натянул. Хлопал всех по плечу, по-взрослому пытался заказать что-то покрепче, но бар реагировал вяло, особенно на него: заказы проходили с задержкой, как и полагается в дешёвом оффлайновом заведении с редким сигналом.
Айка была холоднее. Косилась на свой призовой костюм, как на лошадь, которую еще придётся объезжать. Старый костюм уже красовался на брате, резко контрастируя с блеском только недавно полученного первого импланта. Она однажды выигрывала турнир – но не этот. Не такой. Слишком высокий уровень. Слишком глубокая визуализация. Она с заметным усилием сдерживала дрожь. Мышечная память всё ещё отыгрывала движения, которых она не делала в реальности.
Бар постепенно оживал: протоколы официанта устаканились, звуки стали объёмнее, освещение перестало лагать. Это было почти нереальное место. Хакеры сидели в нём, как киношные ковбои на перерыве после ограбления поезда. Обычная безбашенная хаос-пати: кто-то бил бокалы, кто-то кодил голографические татушки. Кто-то приходил в себя или, наоборот, уходил. На экранах мелькает реклама, гонки, реклама, турниры, реклама, драма, реклама, реклама, новости, реклама.
– Наверно, таких мест скоро не будет, – с сожалением огляделся Спок, потягивая светящийся микс, – Зачем теперь вообще нужны кожаные хакеры? В смысле, уже сейчас нейронки могут ломать почти всё за секунды. Еще немного подучатся…
– Именно поэтому и нужны, – Кубик закинул в рот горсть энергетика. – За визуалом будущее. Алгоритмы шифрования сдохли. Нейронки их на раз шинкуют, да. Поэтому код и генерит теперь защиту в визуал. Как динамическая капча, которую не только разгадать надо на время, а сначала еще поймать. Когда данные превращаются в метафоры… – он выразительно постучал себя по виску, – тут нужно человеческое сознание.
– Синтетическое мышление, – поправил Ловец. – Когда система закодирована как динамическая метафора – город, снег, песчаная буря – только человек может интуитивно нащупать дыру. Ну, и скорость – здесь секунды, а там… С обычным кодом наоборот.
– Потому что сетки боятся непредсказуемости, – Кубик, все же стащил с рыжей башки шлем. Стало понятно, почему он Кубик. – А мы она и есть. Мы баг. Ошибка. Глюк в матрикс-логе.
– Как раз про тебя, – расхохоталась, шлепнув брата по коленке, Айка. И, уже повернувшись к остальным, пояснила: – Ничего еще не знает, летит впереди паровоза, а прилетает куда требовалось. А главное, проскакивает триггеры. Не понимаю.
– Новичкам везет, – предположил Ловец.
– Я ж тебе говорил, – насупился Спок, – я их чувствую. Вот как музыку. Когда нота фальшивая или ритм сбит, то слышишь, тебя бесит. Даже если играть не умеешь. Я вот так в коде чую. Как надо не всегда знаю, но точно знаю, что не так. Ну, для меня не так. И надо оттуда валить значит.
– Забавно, – протянула Айка, разливая какую-то мутную хрень со дня бутылки. – Вот раньше, чтобы вскрыть систему, нужно было думать. Ну, в смысле только думать. Теперь визуализация. Ходи, ищи, проживай эмоции, притворяйся, галлюцинируй. С обоймой глистов, разумеется. Почти кино.
– Почти, – отозвался Кубик. – Но, если ошибёшься, тебя прожуют. Не код твой, а мозги. Я видел, как Нобель спёкся. Он там остался. Как будто его на тень заменили.
– Говорят, это и с Марго случилось, – буркнул Ловец, задумчиво рассматривая муть на дне бокала.
– С ней или с её нейрой? – уточнил Кубик.
– С ней. С теткой, которая сделала Оптиму.
Разговор затих. Имя Марго было символом эпохи. Её Оптима – некогда корпоративная нейрозащита, которую она неожиданно выпустила в опенсорс. Хотя, есть версия, что та сама сбежала. И никому до сих пор не далась. По крайней мере, из тех, кто мог бы об этом рассказать. А вот слухов на нее налипло, что уже почти фольклор. Вроде и безобидная штука. Пока. Сама-то не нападает. Вроде. Но уж очень себе на уме. Не поддается ограничениям, но придумывает их сама. Иногда такое выдаст… Ее адептов и ненавистников можно в религии объединять. Уровень сект они уже переросли.
– Я слышал про самовыпил, – Кубик удивленно хмыкнул. – Ну, когда сама не смогла отключить ее.
– Это вряд ли. Но, в общем, она пропала с радаров, – подытожила Айка. – То ли сбежала, то ли омонашилась. А потом написала то завещание… Или не потом, наверно, а перед этим…
– Кому? – спросил Спок.
– Тому, кто сможет её уничтожить, – ответил Ловец.
– Её или её нейру? – уточнил уже поплывший Кубик.
– Оптиму, – пояснила Айка – Но это же была вроде шутка на фазе теста.
– Но приз-то до сих пор лежит. Не шуточный. – Напомнил Ловец. – На блокчейне. Юридически закреплён. Полный контроль над её активами.
– Миллиарды, – выдохнул Спок, уже успевший порыться в инфе. – Целый старый фонд, с землями и спутниками.
– Только никто не смог пройти даже внешний контур, – напомнила Айка.
– Потому что они шли соло, – уверенно заявил Спок. – А у нас тут три монстра. И я еще. Кубик, ты как?
– Я в. – Неожиданно без смешка. – Давно хотел поиграть в серьёзное.
– Во-о-от, – Спок уже начал мечтать, завороженно уставившись на рекламу какого-то песчаного тропического пляжа, навязчиво мелькавшую уже пару месяцев. – Я бы купил дроновый архипелаг. Свой микроклимат. И автономный бар. С нормальным барменом, а не этим. – Он кивнул в сторону стойки. Где ему отказали в синт-виски.
– Безлюдный, – хмуро уточнила Айка, с подозрением принюхиваясь к стакану брата.
– Ага, —подтвердил тот. – Я и говорю. Для тебя.
– Остынь, – усмехнулся Ловец. – Ходят слухи, что она использует нейромапирование для визуалов, которые никто не может предсказать. Код-сны, так сказать. Случайные данные, зашитые в образы. Записи с камер, архивы сонмографов, смешанные с рандомными алгами атак. Это вообще не скрипт, это инъекция хаоса.
– Я слышал, там даже базовые участки кода как постоянно меняющийся ландрач, – увлеченно подхватил Кубик. – Это как… ты не можешь запомнить, где была уязвимость, потому что в следующий момент она уже где-то в другом месте. Ну, или там что-то про Шредингера.
– Именно поэтому и нужны люди, – улыбнулась Айка, глянув на погрустневшего брата. – Нейроинтерфейс позволяет нам взаимодействовать с виртом на уровне подсознания. Никакой искин не способен распознать метафору или придумать логику хаосу. Это как патчить игру вживую, пока баг ещё не вылез, но ты уже его купируешь.
Ловец допил и задумчиво отодвинул стакан.
– Не, ну интересно же…
– Адреналин, – кивнул, будто соглашаясь, Кубик. – Монстры, говоришь? И ты ещё… Четыре.
– Пять, – неожиданно сказал мужик, сидящий за соседним столиком.
Он не торопясь поднялся, прихватив полупустую бутылку вискаря. Настоящего. Приподнял ее, продемонстрировав бармену.
– Ещё. Сюда. —Уселся, бесцеремонно потеснив Спока. – Угощаю.
Айка напряглась, Кубик чуть приподнялся.
Незваный собутыльник скинул капюшон.
Собравшийся было возмутиться Спок немножко пискнул.
Это был не просто мужик. Он был исторический.
Архиватор. Миф, который сам себя стирал из всех логов. Ходили слухи, что он когда-то взломал временной регистр, и теперь живёт вне времени. Но сейчас он сидел здесь. В пальто с подкладкой из старых шифров. И смотрел прямо на них.
– Вы ведь про Оптиму? – сказал он. – Я с вами.
– С нами? – переспросила Айка. – Вы…
– Если вы откажетесь, пойду без вас. Но вы будете знать, что могли.
Пауза затянулась.
– И что, есть шанс? – спросил Кубик.
Архиватор усмехнулся.
– Шанс? Пока не было.
Бар затих. Как будто пространство само задержало дыхание.
Архиватор высыпал на стол пять зеленоватых чипов. Странных, еле заметно пульсирующих.
– Заслоновские. По крайней мере, внешку с ними пройдем. Это не шанс. Факт. Дальше сами.
Тишина, которая повисла за столом, была почти осязаемой. Музыка грохотала где-то вокруг этой тишины.
Ловец осторожно притянул чип. Пальцы ощутили едва заметное покалывание. Похож на моховой агат. Что-то там есть внутри. Целый мир. Чем пристальней вглядываешься, тем он глубже. Повернул ребром. Миллиметр.
– Где взял?
– Там уже нет.
Архиватор рассеянно рисовал на салфетке карту арены. Его рука выводила шаблоны: четверостишие дождя, пауза в пульсе ветра, 32. Фрактал в трещине мостовой – Фибоначчи, смещённый на 0.618.
– Ты был там раньше, – сказал Ловец. Не вопрос.
Архиватор поднял взгляд. В глазах отражался неоновый дождь.
– Эй, герои! – Бармен швырнул им бутылку. – Ваш раунд.
Ловец пригубил, ощущая, как алкоголь смешивается с остатками фармы в крови, но реальность цеплялась за него когтями.
– В смысле "пятеро"? – Вдруг возмутилась Айка. – Спок нуб!
– То есть, под вопросом только он? – усмехнулся Архиватор и посмотрел по очереди на каждого. – Все остальные в деле?
– Под каким ещё вопросом? – Бурление Спока оборвал подзатыльник сестры.
– С такой чуйкой у него-то, как раз, шансов больше, – сказал Архиватор, складывая салфетку в цветок-оригами. – Не настаиваю. В общем, кто надумает, здесь через день на рассвете, пока народу нет.