- -
- 100%
- +

Благодарности
Эта книга могла не появиться на свет на каждом этапе своего существования.
Поэтому сначала самое важное:
Спасибо моей жене. Ты верила в меня даже тогда, когда я сам в себя не верил. Без тебя эта история так и осталась бы одной из тех идей, которые не доходят до конца.
Спасибо сестре. За поддержку, которую ты всегда готова оказать, с чем бы я ни обратился.
Спасибо первым читателям — Никите Саляеву, Максиму Милице и Юлии Сойкель. Ваша точная обратная связь помогла мне иначе взглянуть на книгу.
Отдельная благодарность людям, с которыми я создаю игры. Опыт работы с историями, где реальность и виртуальность переплетаются, во многом сформировала это мир.
А также спасибо всем, кто читает и будет читать эту историю. Надеюсь, она откликнется вам и вы с удовольствием проведете в ней время.
А если вдруг что-то покажется вам ошибкой — может быть, именно они и делают нас живыми?!
— Ярослав Дунаевский
Пролог
11100010 10000000 10011100 1000011 1101111 1100111 1101001 1110100 1101111 101100 100000 1100101 1110010 1100111 1101111 100000 1110011 1110101 1101101 101110 11100010 10000000 10011101 100000 11100010 10000000 10010100 100000 1010010 1100101 1101110 11000011 10101001 100000 1000100 1100101 1110011 1100011 1100001 1110010 1110100 1100101 1110011 1
1 “Cogito, ergo sum.” — René Descartes
А если мысль скопирована?
1
Город, в котором ночь никогда не кончалась, дышал.
Неоновые блики мерцали на кубических зданиях с огромными окнами, через которые виднелось убранство чужих апартаментов. Стеклянные перегородки, футуристические кресла, столы, излучающие мягкий свет. Все это отражалось от зеркальных полов и редких людей, любующихся городом через толщу цифрового стекла собственных апартаментов.
Их взгляд, скользящий по улице, натыкался на яркие вспышки голографической рекламы, которая набрасывалась на тех, кто имел неосторожность слишком приблизиться. Она выскакивала из стен и витрин, чтобы насильно предложить собственную дозу маркетинга — индивидуализированного и максимально точного. Как будто сама городская реальность умела читать мысли, угадывать желания и страхи. Любой прохожий мог стать их клиентом, а мог воспротивиться желаниям, показать характер и пройти мимо, гордясь собственной стойкостью. Но ровно до того момента, пока не появлялся новый вызов, еще более агрессивный, вытягивающий на свет еще более сокровенные страсти и тайные мечты.
Машины и мотобайки мчались по магистралям, их фары оставляли яркие следы света, а в ушах продолжал вибрировать негромкий цифровой гул моторов, сливающийся в единое жужжание. Каждую ночь они неслись исключительно по своим, невероятно важным делам, соревнуясь между собой не только за право оказаться где-то там, в точке притяжения, но и за возможность сделать это быстрее тех, кто стал их вольным или невольным попутчиком.
Автомобильные потоки становились лабиринтами, в которых каждый маневр и каждая смена полосы решала судьбу. И если бы кто-то из них остановился на мгновение, то смог бы увидеть, как огромные небоскребы, словно столпы уходят в облака и поддерживают небо, что нависло над этим городом.
А если оказаться выше облаков, там, где спрятались целые районы деловой жизни. То можно было бы увидеть электрические переливающиеся искры, появляющиеся где-то на вершине и скатывающиеся по небосклону вниз, проходя свой путь, словно падающие звезды.
И вдалеке, на пике самой высокой башни, можно было бы заметить огромный рекламный экран с логотипом корпорации, создавшей все это великолепие. И заодно напоминающем о том, что этот город принадлежит тем, кто владеет сознанием, а не телом.
Внутри этого хаоса прогрессировал ритм жизни. Маленькие люди на фоне огромных зданий, растворяющиеся в тени информационного шума. Их лица оставались скрытыми за масками аватаров, подражающими той или иной моде и позволяя не быть узнанными. Хотя сами цифровые копии уже давно заменили тех, кто находился за границей виртуальности, став их основным воплощением.
Этот город открывал свои врата всем желающим. И, слишком быстро пресытившись первым впечатлением, тебе начинало хотеться все больше и больше. Платить дороже и дороже. И в тот момент, когда токены кончались, зачастую вместе с ними кончался и страждущий, превращаясь в бледную высушенную тень, что, словно наркоман, мучается от ломки. Но разве можно себя ограничить там, где каждая дверь и каждый поворот — это соблазн?..
Лин любовалась городским пейзажем, сидя на крыше одного из зданий и, прислонившись спиной к стене, смотрела на движущийся поток, что струился внизу. Это зрелище успокаивало. Мелькание вывесок, движение аватаров. Здесь был ее островок тишины. Место, где она могла ни о чем не думать. А просто на какое-то время оказаться наедине с собой. Попробовать хотя бы иногда услышать себя, вместо бесконечного белого шума, окружающего ее каждый день.
Она водила рукой по поверхности крыши, размышляя о том, до чего точно передана текстура. Черная, шероховатая, с вкраплениями мелких камешков, которая прекрасно защитила бы от дождя, если бы он здесь когда-то случился.
Лин кончиками пальцев наслаждалась ощущением тактильности, закрывая глаза и представляя себя где-то совершенно в другом месте. Текстура казалась не просто настоящей, она была намного лучше несовершенных аналогов в реальности. Оттого к ней так приятно было прикасаться.
— Лин!
Звук ее имени долетел словно бы из ниоткуда и вначале не слишком привлек внимание. Казалось, он был искаженным отзвуком того, что происходило на улице, и девушка постаралась тут же забыть об этом. Но затем до нее вновь донеслось:
— Лин…
Ей не хотелось отвечать. Не сейчас. Может, позже…
— Ты нам нужна!..
«Нет, не хочу…» — подумала девушка.
— Срочно!..
Она узнала этот голос почти сразу, наверное, еще до того, как сама осознала это. Но ее смена закончилась часов, наверное, пять назад. А от терминала она отключилась буквально недавно, и ей ужасно не хотелось возвращаться.
— Опять взлом…
«Только не опять…»
Лин прошерстила сегодня этот код вдоль и поперек, и ей совершенно не улыбалось делать это вновь. Только маленький вредный жучок внутри нее требовал все закончить. Сделать как надо.
— Я знаю, что ты устала, я уже несколько раз пробовал связаться хоть с кем-то из дежурных инженеров, но никто не отвечает.
«Братец говорил, что придумал, как блокировать надоедливые запросы админов… Надо будет расспросить его об этом…»
— Лин…
Последнее обращение было почти мольбой. Что-то вроде «я бы с радостью тебя не трогал, но не могу, потому что это наша работа…» только выжатое до трех букв ее имени.
«Чтобы ты застрял в загрузке…» — выругалась про себя девушка, вздохнула, и перед глазами возник терминал.
— Говори, — произнесла она сухо, имея в виду что-то вроде «так уж и быть, но ты будешь мне должен. Много!»
Голос в момент стал жестким, а каждое слово произносилось четко и быстро:
— Деловой квартал, Восточная башня Сонаты, твой участок кода, проникновение извне, попытка захватить данные.
— Подключение все еще активно?
— Нет, оборвали. Ждем повторной попытки.
Лин пробежалась пальцами по призрачной клавиатуре, и перед глазами замерцали строчки кода. Все выглядело вполне себе стабильно.
— Ты уверен, что это был не баг?
Она и так знала ответ, но не удержалась от удовольствия уколоть.
— Проникновение было зафиксировано в 15:23:34:003.
Лин открыла лог и быстро добралась до записи. Внешний порт открылся буквально на доли секунд. Девушка задержала дыхание и пробежалась взглядом по строкам. Лог не содержал конкретной информации о том, что именно пытались вытащить. Но все было проделано красиво. Она даже успела оценить последовательность запросов к системе.
«Любопытно…»
— Он опять подключается! — голос администратора был все таким же резким, но теперь в нем звучала тревога. — Триста пятидесятый порт открыт! Запрос внешнего подключения.
— Я вижу, — она мгновенно переключила внимание, жестом разделив экран. Ее пальцы заметались по клавиатуре, выстраивая защитные цепочки, оставляя приманки и усложняя проникновение в систему:
>FIREWALL: LAYERED_INIT
>INTRUSION_VECTOR = DETECTED
>TRACEBACK = SPOOF
>ACCESS_ROUTE = SHADOW_DUPLICATE
— Закрываю все порты. Немедленно. — Голос администратора прозвучал, как приговор.
— Стой! Не смей! — выкрикнула Лин. — Мне нужно хотя бы несколько секунд!
— Ты знаешь протокол! Администраторы не имеют права рисковать данными системы, тем более корпорации!
— Я должна вычислить след! Простая блокировка бесполезна!
— Лин, ты рискуешь!
— Знаю…
Все это время пальцы девушки метались по клавиатуре.
>HONEYPOT_DEPLOY: NODE_17
>BAIT_SIGNAL = ACTIVE
>RESPONSE_DELAY = RANDOMIZED
— Ну же… попадись... — шептала она.
— Больше тянуть нельзя!
Лин скрипнула зубами. Это ее код и ее система, никто не вправе тут хозяйничать без ее ведома.
— Пять секунд. Дай мне пять секунд. Если ничего не получится — закрывай.
Администратор явно не хотел соглашаться, но все же промолчал.
Лин сосредоточилась, отбросив все эмоции. Пальцы уже летали по клавишам. Выписывая строки, соединяя защитные узлы с обрывками кода, словно ткань, зашиваемая быстрой иглой, но в каждой стяжке оставалась петелька. Крошечная, но вполне весомая, чтобы хакер на той стороне в нее попался.
>PACKET_STREAM = FRAGMENTED
>SIGNAL_NOISE = INJECT
>MIRROR_PATH = ENABLED
>EXTERNAL_REQUEST = REDIRECT
Обманный сервер, симуляция портов. Если взломщик переключится на него, она успеет выцепить его след.
— Есть! — Она резко вскрикнула, когда в ловушке мелькнул запрос от сервера. — Попался…
Теперь можно было пропустить данные, позволить ощутить превосходство, расслабить.
— Лин, он добрался до данных. Я обрываю!
— Подожди!
Она в спешке посылала пакеты на ту сторону, туда, где спрятался хакер и вот-вот должна была получить отклик.
— Лин!
— Я почти поймала его! Поймала!
Но отклик вернулся пустым.
«Что?! Как это может быть?!»
Она отправила еще несколько пакетов, и вдруг связь внезапно прервалась.
— Что случилось?! - произнесла она, все еще удивленная.
Но уже и так было все ясно.
— Данные переданы, взломщик ушел.
— Гребаные баги, — выругалась Лин.
Но что пошло не так? Как взломщик распознал ее?! Как обманул?!
— Лин Эдвардс, от имени администратора системы я отстраняю вас от работы.
— Что-о-о?! Моя смена закончилась дохрениллион часов назад, я вообще не должна была этим заниматься!
— Противодействие протоколу Администраторов системы обязывает меня заблокировать вашу учетную запись до конца расследования. Немедленно покиньте систему.
— У меня остались данные, я найду его!
Администратор молчал, вероятно, размышляя.
Девушка открыла логи, доставая данные из кеша системы. Это была ее последняя надежда. Она отправила несколько пакетов, они должны были принести хоть какие-то данные.
— Вот! Нашла! — она вычислила идентификатор следа взломщика. — это маскировка, но сейчас я ее вскрою.
— Это пустышка. — Голос администратора был ледяным.
— Я не собираюсь спорить. Просто подожди и сам все увидишь!
След был странным, словно бы она уже видела такой порядок букв и символов. Сейчас, еще немного и все станет ясно. Программа-дешифровщик определит точное местоположение и владельца.
— Вуаля, — произнесла Лин, когда информация высветилась и тут же выругалась.
«Лин Эдвардс, идентификационный номер 32W76-1R28L-1564M-19H7F»
— Это ошибка… — успела произнести она, как все внезапно погасло.
Лин со злостью выдернула штекер из шеи и села в капсуле виртуальности.
— Дерьмо... — выругалась она.
Тусклый свет проникал в комнату через единственное окно — вернее, через узкую полоску стекла, не затянутую слоем вечной пыли. Он скользил по облупившимся стенам, чей прежний цвет давно утратил всякое значение и замирал в воздухе, делая его густым и неподвижным.
В углу комнаты стояло старое мягкое кресло, доставшееся от прежних жильцов. Когда-то оно, возможно, было удобным, но теперь служило Лин и кроватью, и собеседником, и единственным предметом, который как-то напоминал о чьем-то присутствии до нее.
Кресло смотрело на девушку с немым укором — перекошенной спинкой, продавленными подлокотниками, следами времени, от которых невозможно было отвернуться.
— Тебя забыли спросить, — зло прошипела Лин, обращаясь к креслу.
Она протерла глаза и только сейчас заметила, что к рукам по-прежнему подключены контакты. Она с силой выдернула их.
— Сраные хакеры и гребаные админы…
Лин посмотрела на свои худые пальцы, будто видела их впервые.
«Сколько я провела в виртуале? Часов пятнадцать… может, больше».
В реальности мысли текли иначе. Вязко, с усилием. Каждая из них словно цеплялась за тело, за шум крови в ушах, за тяжесть костей. Мозг больше не парил, не скользил по ассоциациям мгновенно, как там. Здесь все требовало времени, пауз, терпения. Даже простая мысль ощущалась тяжелой, будто ее приходилось проталкивать сквозь болото.
Левую ногу резко свело судорогой. Лин дернулась, вытянула ее и уперлась ступней в холодную стенку капсулы. Боль чуть погодя отступила, но оставила после себя раздражающее ощущение хрупкости и уязвимости.
Это тело постоянно что-то требовало: сменить позу, вдохнуть глубже, моргнуть, потянуться. Оно напоминало о себе каждую секунду, словно скучающий ребенок, и постоянно намекало: «тебе меня лучше не игнорировать…».
В виртуале ничего этого не было. Там не существовало онемевших конечностей, тяжести в мышцах, случайных спазмов. Не нужно было думать о том, как сидишь и сколько времени не менял положение. Там все происходило сразу: мысль, действие, результат. Чисто. Быстро. Свободно.
Ей до боли захотелось вернуться туда. В пространство, где не нужно носить это бренное, упрямое тело с собой, словно плохо спроектированную глючной нейронкой оболочку. Где можно парить и…
Живот заурчал. Глухо и настойчиво.
— Надо поесть… — пробормотала Лин, почти с досадой, будто это было еще одним напоминанием о том, что реальность никогда не позволяет забыть о себе надолго.
На кухне она открыла верхний шкафчик. Дверца скрипнула, будто тоже жаловалась на сам факт движения. Но Лин проигнорировала это и вытащила пластиковый контейнер с единственной надписью: СУПЕРФУД. Без марки, без срока годности, без описаний. Просто удобное слово, чтобы заткнуть голод.
Она сорвала крышку. Внутри лежала серо-бурая масса. Не каша, не еда, а компромисс, принявший невнятную форму. Поверхность немного блестела, словно мокрая глина. Запаха почти не было — только слабая химическая нота, чтобы убедить организм, что это «питательно».
«Как всегда аппетитненько», — подумала Лин и криво усмехнулась.
Наверное, поэтому гастро-симуляции в виртуале пользовались таким спросом. В них был и аромат, и текстура, даже горячий сок на языке. Все идеально, до последней иллюзии. Только иллюзия не кормила. Она могла бы заказывать настоящую еду и здесь, только это стоило дорого: производство, доставка, упаковка, логистика. В реальности все имело вес, и порой он оказывался неподъемным.
Раз в месяц Лин оформляла одну и ту же подписку на суперфуд. Самый дешевый вариант из тех, что хотя бы не пытались тебя убить. Это экономило ей прилично токенов, которые можно было потратить в виртуале на более глубокую симуляцию. На возможность хотя бы иногда не чувствовать, как реальность цепляется за кожу.
Лин взяла ложку и начала мерно работать челюстями. Без удовольствия, почти без участия. Просто механика. Неприятная обязанность, которую нужно закрыть, чтобы снова иметь право на свободу.
Суперфуд был отвратителен на вкус, как мокрая бумага, которую кто-то попытался приправить мылом. Иногда мерещилась горечь, иногда — привкус металла. И все равно она ела, потому что он давал минимум: белки, клетчатку, витамины. Поддерживающий набор, чтобы тело не развалилось раньше времени, а мозг продолжал функционировать.
Пока она жевала, взгляд блуждал по комнате — по облупившемуся пластику, по тусклой раковине, по пустым полочкам, по трещинам на столешнице — и вдруг застыл именно на ней. На кухонной поверхности, на которой никто не готовил. На месте, которое существовало по привычке, как физическая оболочка мира, где настоящая жизнь давно переехала в цифру.
«Интересно, зачем вообще нужна кухня?» — мысль всплыла сама собой. Тихо, почти лениво. — «Неужели здесь когда-то готовили? По-настоящему?»
Шкафы нависали над короткой столешницей, как древние памятники чужой жизни. Пластик на дверцах местами вздулся, петли устали держать форму. Один из шкафов, будто в ответ на ее взгляд, чуть приоткрылся поскрипывая. Внутри в тени, лежала старая доска для нарезки: древесина покоробилась, потемнела, покрылась сетью мелких трещин. Она выглядела почти неприлично настоящей. Из времени, когда люди еще готовили.
Лин вновь усмехнулась.
«Пережиток», — подумала она.
Не с сожалением, скорее с недоумением. Готовка умерла не потому, что стала невозможной, а потому, что перестала быть нужной. Как разговоры ради разговоров. Как прогулки без цели. Как все, что требовало участия тела.
Человечество будто бы само, не спеша, без истерики, шаг за шагом отказывалось от себя прежнего. Не падало, а скатывалось по наклонной. Очень аккуратно. И это даже не выглядело трагедией. Скорее законом. Если есть путь проще, быстрее и ярче — он верный. Если можно жить без боли, грязи, очередей, усталости — кто станет добровольно выбирать обратное?
Лин тоже считала это нормой. Эволюцией. Только не вверх, а в сторону: в цифру, в комфорт, в чистоту. Тело становилось приложением, которое просто нужно поддерживать. Оболочка. Биологический сосуд. Мусорный слой между сознанием и бытом.
«Работают, едят, влюбляются, живут — там», — подумала она, не испытывая ни гордости, ни стыда. Просто констатируя факт. — «А здесь… здесь только обслуживание. Технический долг. Биологический мусор, который почему-то все еще требует ложку, сон и эту идиотскую кухню».
Она перевела взгляд с доски обратно на контейнер с суперфудом и снова зачерпнула серую массу. Словно ставила галочку в списке обязательных процедур, чтобы иметь право вернуться туда, где жизнь не пахнет пылью и временем.
Лин попыталась вспомнить, как давно живет здесь и наткнулась на пустоту. Не на провал, не на тревожный обрыв, а ровную, гладкую стену однообразия. Дни не складывались в цепочку, они стекались в одну и ту же серую массу, как еда в ее руках, как хмарь за окном: без формы, без границ, без отметин, по которым можно было бы сказать: вот тогда было это, а вот тут случилось потом.
В ее жизни почти не осталось точек, за которые можно зацепиться. Никаких праздников, привычек, встреч. Кроме одного-единственного якоря — Викона. Брата. Единственного человека, который все еще казался реальным, даже когда мир вокруг был похож на дешевый фон.
«Неплохо бы ему написать», — мелькнуло в голове. Мгновение. И мысль сорвалась, ушла в другую сторону. Как и всегда.
«Блокировка… будут ли платить за это время? Сколько у меня вообще на счету? Хватит ли на аренду?»
Жизнь в реальности была устроена так, чтобы о ней не думать. Банковский счет привязан к системе. Аренда списывается автоматически. Коммунальные — автоматически. Налоги — автоматически. Даже штрафы — автоматически, если ты достаточно глуп, чтобы попасть в поле зрения алгоритма. Лин никогда не проверяла баланс не потому, что у нее было много денег, а потому что система приучила: если все работает, значит, все в порядке.
Автоматизация считалась величайшим достижением человечества: она снимала с людей необходимость помнить, решать, выбирать. Мир сам тебя обслуживал, пока ты был внутри допустимых параметров.
Но сейчас что-то кольнуло. Тонко, неприятно. Как будто в идеально смазанном механизме вдруг провернулось лишнее зубчатое колесо.
Лин замерла с ложкой в руке, прислушиваясь к этому ощущению.
Не страх. Скорее подозрение, что привычная «безопасность по умолчанию» может в любой момент оказаться просто красивой надписью на экране.
Лин швырнула ложку и недоеденные остатки суперфуда в трубу утиля. В горле еще стоял тот самый безвкусный, пыльный привкус как напоминание, что реальность никогда не дает забыть о себе до конца.
Она подошла к столу и интерфейсу, подключенному к капсуле. Запустила панель ручного ввода. Ручная утилита для тех, кто предпочитал видеть внутренности системы, а не ее витрину.
Монитор замерцал, изображение дернулось и первым делом высветило пыль, прилипшую к стеклу. Лин сначала захотела провести по нему ладонью, но потом отмахнулась от этой мысли. Пальцы, словно давно этого ждавшие, сорвались в бег по клавиатуре. Привычно, быстро, с той уверенной злостью, которая появляется, когда понимаешь, что ты все сделал правильно, но другие это не оценили.
Пусть в виртуале ее учетку и закрыли, реальный интерфейс все равно хранил следы. Здесь фиксировалось каждое подключение, каждый запрос, каждое касание к протоколам. Как отпечатки на стекле, которые невозможно стереть одним приказом администратора.
Она вытащила из кэша результат дешифровщика и вывела рядом свой идентификатор. Две строки застыли на экране:
«32W76-1R28L-1564M-19H7F»
«32W76-1R28L-1654M-17H7F»
Лин моргнула, потом наклонилась ближе, будто бы пытаясь проверить собственное зрение.
— Что за глюк? — выдохнула она.
Второй код был практически идентичен: тот же ритм символов, та же структура. Только в конце — пара «сбоев», как будто кто-то переписывал его по памяти и на последних цифрах ошибся.
Это не выглядело как хакерская маскировка. Хакеры не делают «приблизительно». Они либо подменяют полностью, либо не лезут вообще. А здесь было ощущение… попытки воспроизведения. Словно кто-то игрался с ней.
— Гребаные баги… — процедила Лин, — Что за шутки?..
Девушка застыла, пытаясь уложить это в привычную логику.
Идентификатор не был паролем, который можно подобрать. Он был привязан к базе, к биометрии, к чипу, вшитому в тело, к цепочке подтверждений, которые проходили через десятки уровней проверки. Ошибка в таком коде означала бы не «сбой», а катастрофу системы.
Да, бывало, что идентификаторы подделывали. Но подделка всегда выглядела иначе. А при дотошной проверке там не сходились параметры. Здесь же все выглядело словно бы кривое эхо.
Она обновила запрос. Потом еще раз.
Ничего не изменилось: ее имя висело в системе под двумя идентификаторами, будто это было нормой.
— Но почему?.. — прошептала Лин. — Это ведь не глюк…
Слова «хак» и «симуляция» всплыли сами собой — привычные объяснения для всего, что ломало порядок. Но ни одно не сюда не подходило. Здесь не было следов внешнего вмешательства. Скорее ощущение, что вмешательство внутреннее. Системное. Законное.
Сердце заколотилось. Не от страха, а от раздражающего, липкого ощущения, что кто-то стоит за ее спиной и наблюдая за ее метаниями, мерзко хихикает.
В сознании сразу всплыло лицо брата. Викон. Конечно. Кто еще?
Он всегда умел обходить правила так, будто они написаны для кого-то другого. Любил подшучивать над протоколами, «случайно» находить лазейки, и даже ее пару раз разыграл так, что она чуть не получила блокировку.
Только сейчас это было не смешно.
Лин на всякий случай обернулась, хотя отлично понимала, что позади нее никого не может никого. Но все же, убедившись, передернула плечами, избавляясь от наваждения.
— Викон… — проговорила она вслух, медленно, с нарастающей злостью. — Ты опять решил меня разыграть?..
Лин развернула панель сообщений.
Последняя отправка три дня назад все еще висела серым: не прочитано. Следующее за четыре дня до этого — такое же.
«Гребаные баги… что происходит?..»
Только сейчас она заметила, что у нее дрожит левая рука. Не сильно. Едва заметно, но достаточно, чтобы это раздражало. Викон не мог так долго игнорировать ее. Он мог пропасть на ночь. На пару дней. Мог отвечать коротко, язвить, уходить от вопросов. Но молчать неделю — нет. Не мог.
В пару шагов она оказалась у капсулы и, почти не глядя, воткнула штекеры в основание шеи и запястья. Тело отозвалось слабым холодком контактов. Она уже ждала знакомого провала в темноту, старта эмуляции и мягкого растворения реальности…но вместо этого перед глазами всплыло сухое уведомление:




