Виктор Баг
Глубокий фейк

Глава 1. Control+Alt+Reality

Иван проснулся от звука собственного дыхания. В комнате пахло озоном и горелым пластиком – как всегда после ночной сборки очередного билда нейросети. На экране монитора мигал курсор в окне терминала, а рядом на столе остывала кружка с недопитым Red Bull, который он даже не помнил, когда открывал.

"Блядь", – подумал Иван, глядя на часы в правом нижнем углу экрана. 14:88. Он моргнул. 14:44. Ещё раз. 14:42. "Давно пора проапгрейдить дисплей", – решил он, отмахиваясь от неприятного ощущения, что что-то здесь не так.

Нейросеть, над которой он работал последние полгода, наконец начала выдавать вменяемые результаты. Проект назывался "Deepfake 2.0", хотя в документации для заказчика они гордо именовали его "Системой динамической реконструкции визуальной реальности". По сути, это был очередной генератор фейковых видео, но с одним существенным отличием: он работал в реальном времени.

Иван потянулся к клавиатуре и набрал команду запуска последней версии. Терминал выплюнул строки лога:

[INFO] Loading model DeepFake 2.0 v.0.66.6

[INFO] Initializing quantum parameters

[WARNING] Reality coherence check failed

[ERROR] Unexpected recursion in line 42

[FATAL] Cannot determine observer state

"Какого хрена?" – пробормотал Иван, вглядываясь в красные строчки ошибок. За шесть лет работы программистом он повидал всякое, но сообщение про observer state выглядело как бред. Он точно помнил, что не писал такого кода.

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

– Как продвигается работа над проектом, Иван Андреевич? – спросил начальник голосом, в котором явно слышались цифровые артефакты, словно аудио проигрывалось через сломанный кодек.

– Нормально, – машинально ответил Иван, пытаясь незаметно протереть глаза. – Последняя версия почти готова, осталось…

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

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

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

Михаил Сергеевич улыбнулся, и эта улыбка напомнила Ивану смайлик из древнего MSN Messenger.

– Вы слышали про проект "ЦифроРусь"? – неожиданно спросил начальник, доставая из кармана флешку, на которой мигал красный светодиод в форме инь-ян. – Правительство наконец-то решило оцифровать всё население страны. А наша компания выиграла тендер на разработку… базового функционала.

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

– И какое отношение это имеет к DeepFake? – спросил он, чувствуя, как реальность вокруг становится всё более зыбкой.

– Самое прямое, – ответил Михаил Сергеевич. – Мы ведь не просто видео генерируем. Мы создаём новую реальность. – Он положил флешку на стол и направился к выходу. – И кстати, Иван Андреевич, у вас ширинка расстёгнута.

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

Иван взял флешку в руки. Она была тёплой, почти горячей, как будто внутри работал крошечный процессор. На корпусе виднелась полустёртая надпись "root.exe".

В этот момент его телефон завибрировал. На экране высветилось сообщение от неизвестного номера:

"Не вставляй флешку. Они следят. Встретимся в 20:00 в баре 'Квантовый парадокс'. /dev/null"

"Развод какой-то", – подумал Иван, но тут же вспомнил все странности сегодняшнего дня. Он посмотрел на флешку, потом на код, всё ещё мерцающий на экране. Строчки начали самопроизвольно меняться:

[WARNING] Reality patch required

[INFO] Searching for conscious observers

[INFO] Found: 1

[INFO] Applying reality filters

[ERROR] Subject shows resistance

[CRITICAL] Consciousness leak detected

Иван резко выдернул шнур питания из системного блока. Монитор не погас. Строчки продолжали появляться:

[ALERT] Emergency shutdown detected

[INFO] Switching to autonomous mode

[INFO] Loading backup reality…

[INFO] Please remain conscious

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

Откуда-то из динамиков компьютера, который уже не был подключён к сети, донёсся голос, подозрительно похожий на голос Михаила Сергеевича:

"Уважаемые альфа-тестеры новой версии реальности! Благодарим вас за участие в программе. К сожалению, в вашей версии обнаружены критические ошибки. Производится принудительный откат к заводским настройкам. Пожалуйста, не сопротивляйтесь обновлению…"

Иван схватил флешку и телефон, выбежал из кабинета. В офисе было пусто, хотя он точно помнил, что утром здесь было полно людей. На всех мониторах мелькали одни и те же строчки кода. Добежав до лифта, он нажал кнопку первого этажа. На табло загорелись цифры: 1̶̴̷͘3̸̢͟͝, потом 7̵̸̢͜͝, потом 6̷̵̕͜6̴̡͘͜6̸̕͟͝, потом ERROR.

Двери открылись, но вместо холла первого этажа за ними была серверная. Бесконечные ряды серверных стоек уходили в темноту. Красные огоньки на них мигали в каком-то гипнотическом ритме.

"Квантовый парадокс, значит", – пробормотал Иван, доставая телефон, чтобы проверить адрес бара. Но на экране было только одно сообщение:

"Run, sudo, run…"

Иван побежал вдоль серверных стоек. Где-то вдалеке мерцал красный указатель "EXIT", но чем ближе он к нему приближался, тем дальше тот казался. Шум вентиляторов нарастал, превращаясь в какофонию цифрового жужжания.

"System32 not found, system32 not found", – шептали динамики серверов, мимо которых он пробегал.

Внезапно один из серверов с грохотом открылся, и из него вывалилась стопка перфокарт. Иван машинально подхватил верхнюю. На ней было выбито:

СУБЪЕКТ: БЕЛКИН ИВАН АНДРЕЕВИЧ

СТАТУС: КРИТИЧЕСКАЯ ОШИБКА

ВЕРОЯТНОСТЬ СУЩЕСТВОВАНИЯ: 42.3%

РЕКОМЕНДАЦИЯ: ДЕИНСТАЛЛЯЦИЯ

– Чушь какая-то, – пробормотал он, но руки предательски дрожали. В этот момент его внимание привлекло движение в конце ряда. Там стоял человек… или что-то похожее на человека. Его силуэт состоял из светящихся зелёных цифр, как в старых матричных мониторах.

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

– Какой ещё протокол? Что здесь происходит? – Иван начал пятиться назад.

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

Последние слова прозвучали с металлическим лязгом. Цифровое существо протянуло руку, и Иван увидел, как пространство вокруг начало сжиматься, будто кто-то запустил программу архивации реальности.

В кармане завибрировал телефон. Новое сообщение:

"Ctrl+Alt+Del себя. Быстро!"

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

[SYSTEM] User initiated emergency shutdown

[WARNING] Saving consciousness state…

[INFO] Entering safe mode…

[ERROR] Reality.exe has stopped working

[INFO] Would you like to send crash report to developers?

Очнулся он в своей квартире. На часах было 19:58. На экране телефона мигало напоминание:

"Квантовый парадокс" 20:00. Не опаздывай. /dev/null"

Глава 2. Рендеринг заката

"Квантовый парадокс" оказался типичным подвальным баром на окраине Москвы. Железная дверь с домофоном, на котором половина кнопок расплавилась от времени или сигарет. Над входом мигала неоновая вывеска – надпись на английском Quantum paradox периодически схлопывалась в кириллическое "Опохмелка".

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

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

– Закрыто, – сказал бармен, выпуская дым, который почему-то принимал форму двоичного кода. – Технические работы. Обновляем операционную систему реальности.

– У меня встреча с dev null, – ответил Иван, чувствуя себя героем дешёвого киберпанк-фильма.

Бармен усмехнулся:

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

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

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

– mkdir meeting && cd meeting, – сказала она вместо приветствия. – Присаживайся, Ваня. Я /dev/null, но можешь звать меня просто Нуля.

Иван сел напротив, машинально отметив, что её лицо словно собрано из пикселей, которые иногда самопроизвольно перемешивались, как в сломанном мониторе.

– Что за хрень творится? – спросил он, выкладывая на стол флешку. – Сначала эти баги в офисе, потом цифровой призрак в серверной, теперь этот бар…

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

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

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

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

– Мне… это… водки?

– Настоящей или симулированной? – деловито уточнил бармен.

– А есть разница?

– Никакой, – усмехнулся бармен. – Как и во всём остальном.

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

– Ты заметил, что реальность начала сбоить, – Нуля закрыла ноутбук. – Это не баг, Ваня. Это фича. Проект "ЦифроРусь" запущен уже давно, лет пять назад. То, что ты видишь сейчас – это последствия обновления системы до версии 2.0.

Иван сделал глоток. Водка на вкус напоминала двоичный код – нули и единицы обожгли горло.

– Какого обновления? О чём ты вообще?

– Помнишь, когда ты в последний раз видел настоящий закат? – вместо ответа спросила Нуля. – Не это вылизанное RGB-небо с идеальной цветокоррекцией, а настоящий, с неровностями и несовершенствами?

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

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

– Я? Каким образом?

– Помнишь тот код, который ты написал три года назад? Проект "Зеркало"?

Иван нахмурился. Что-то шевельнулось в памяти, но воспоминание ускользало, как строчка кода с ошибкой компиляции.

– Это был алгоритм для… – он запнулся. – Чёрт, я не помню.

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

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

– NPC, – пояснила Нуля. – Массовка для поддержания иллюзии социальной жизни. В последней версии их немного глючит.

Иван почувствовал, как к горлу подступает тошнота. Он снова посмотрел на флешку.

– И что там, в этом бэкапе?

– Правда. Настоящий код проекта "Зеркало". Алгоритм, который ты создал для… – Нуля вдруг замерла на полуслове. Её глаза расширились. – Чёрт. Они засекли нас. Фаервол взломан.

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

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

– Куда уходим?

– В единственное место, где ещё сохранилась настоящая реальность. В глубокий оффлайн.

Нуля схватила Ивана за руку и потащила через зал. Вокруг них реальность начала распадаться: стены бара покрылись строчками ошибок, потолок мерцал текстурами системных сообщений, NPC за столиками застыли в T-позах, как сломанные 3D-модели.

"CRITICAL ERROR: Reality synchronization failed"

"BACKUP SYSTEMS OFFLINE"

"EMERGENCY SHUTDOWN INITIATED"

"PLEASE REMAIN CALM"

Надписи плыли в воздухе, складываясь в жуткий текстовый коллаж.

– Сюда! – Нуля толкнула неприметную дверь с надписью "source code". За ней оказалась лестница, ведущая куда-то вниз.

– Подожди, – Иван остановился. – Почему я должен тебе верить? Может, это ты глюк системы?

Нуля обернулась, и на секунду её лицо действительно распалось на пиксели, но тут же собралось обратно:

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

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

– У нас меньше минуты, – Нуля протянула руку. – Решай. Красная таблетка или синий экран смерти?

Иван посмотрел наверх. Потолок начал схлопываться, превращаясь в командную строку с обратным отсчётом:

>SYSTEM REBOOT IN:

>00:00:59

>DELETING CORRUPTED FILES

>SEARCHING FOR ANOMALIES…

Где-то наверху послышались шаги. Механические, идеально ритмичные.

– Они идут, – прошептала Нуля. – Антивирусная программа. Удаляют всё, что не соответствует новой версии реальности.

Иван сжал в кармане флешку. Она пульсировала, как живое сердце.

>00:00:30

Шаги приближались.

>00:00:20

"ВНИМАНИЕ! – раздался сверху голос Михаила Сергеевича, искажённый цифровыми помехами. – ВСЕМ ОСТАВАТЬСЯ НА СВОИХ МЕСТАХ. ПРОИЗВОДИТСЯ ПЛАНОВАЯ ДЕФРАГМЕНТАЦИЯ РЕАЛЬНОСТИ!"

>00:00:10

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

Иван закрыл глаза. В темноте век проступили строчки кода – древние, знакомые, написанные его рукой. Код проекта "Зеркало".

>00:00:05

>00:00:04

>00:00:03…

Он открыл глаза и шагнул на лестницу.

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

[LOADING OFFLINE REALITY…]

[PLEASE WAIT…]

[WELCOME TO THE REAL WORLD, ADMIN]

Глава 3. 404 Not Found

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

Вывески на домах периодически меняли кодировку, превращаясь из "Продукты" в "Pr0dUkt1", светофоры мигали двоичными последовательностями вместо привычных цветов, а люди… люди двигались как-то слишком предсказуемо, будто управляемые примитивными скриптами.

– Пиво? Шаурма? Зарядка для телефона? – повторял торговец возле метро с механической монотонностью случайного NPC. Иван мог поклясться, что видел, как при каждом повторе фразы у торговца сбрасывается анимация движения рта.

Телефон в кармане снова завибрировал. Новое сообщение от неизвестного номера:

"rm -rf /reality && shutdown -h now"

– Бред какой-то, – пробормотал Иван, но тут же вспомнил утренние события: мерцающий монитор, цифрового призрака начальника, флешку в форме красной таблетки…

Флешка! Он сунул руку в карман – пусто. Видимо, обронил её где-то по дороге. Или она просто схлопнулась в null, как и положено квантовому объекту без наблюдателя.

"Квантовый парадокс", – всплыло в памяти название бара из сообщения. Иван достал телефон, открыл карты. Приложение выдало ошибку: "Location not found. Reality coordinates undefined."

– Просто отлично, – вздохнул он и решил спросить дорогу у прохожего.

– Извините, вы не подскажете…

Прохожий повернулся, и Иван отшатнулся – лицо человека было замазано розовым прямоугольником с надписью "texture_face_male_04.jpg not found".

– Маршрут построен, – механически произнес прохожий голосом навигатора. – Через двести метров поверните налево.

Иван быстро пошел прочь. Мир вокруг продолжал распадаться на части. Вывески магазинов превращались в сообщения об ошибках, асфальт под ногами начал отображать битые текстуры, а в небе, прямо поверх закатных облаков, появилась надпись "Sky.exe has stopped working".

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

```python

while reality.exists():

try:

human.life.execute()

except ConsciousnessError:

reality.patch()

```

В конце переулка тускло мерцала вывеска "Квантовый парадокс". Буквы на ней постоянно менялись местами, складываясь в разные анаграммы: "Квант вопросов", "Право скотины", "Срыв потока".

Иван толкнул дверь. Внутри бар напоминал гибрид советской рюмочной и серверной Google – вдоль стен тянулись стойки с мигающими серверами, а между ними притулились обшарпанные столики. За одним из них сидела девушка в черной толстовке с принтом командной строки Linux.

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

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.