Давид Аксон
Sina Makuta

Глава 1

2005 год. Двенадцатилетний Кваме Одуафо, незаметный и щуплый, стоял посреди душного, гудящего хаоса аккрского интернет-кафе. Воздух здесь был густым, как тесто на банко, пропитанным едкой смесью пота, дешёвых цветочных духов и лёгкого, металлического запаха старой электроники. Для большинства подростков вокруг это место было воротами в мир игр, чатов и бессмысленного видео. Но Кваме игнорировал мигающие экраны, сосредоточив весь свой взгляд на нечто ином. Его внимание приковал грузный владелец по имени Коджо, который, ругаясь на тви сквозь стиснутые зубы, неуклюже копался в клубке разноцветных проводов, вытащенном на стойку прямо под тусклую лампу.

В воздухе витало тепло от перегретых системных блоков и ощущение всеобщего напряжения, обыденного для Аккры, где любая работающая технология воспринималась как временное чудо. Ритмичный «клац-клац-клац» дешёвых пластиковых клавиатур создавал фоновую симфонию цифровой связи, сотни нажатий сливались в один звук – эхо надежды, что в этот раз интернет не оборвётся, не исчезнет, как сон. Но Кваме слышал не только его. Он улавливал и тонкое шипение старого кондиционера, который не справлялся со своей задачей, и лёгкий, едва уловимый запах горячей пыли от перегруженных компьютеров. Жаром дышали не только системные блоки, но и сама атмосфера – плотная и липкая, заставляющая кожу покрываться мелкой испариной.

Коджо, мужчина с тяжёлым подбородком и влажными от пота висками, бормотал что-то о «дьявольских проводах» и «чёртовых детях», которые вечно тянут всё, что плохо лежит. Он пытался обжать неисправный кабель Ethernet, и его пальцы, толстые и неуклюжие, дрожали от раздражения. Кваме наблюдал за каждым его движением, словно пытаясь расшифровать секретный код. Он подмечал цветовую кодировку проводов, специфический щелчок инструмента и глухой выдох Коджо, когда кабель в очередной раз не поддался. Для Кваме это была не просто поломка – это был сбой. Ошибка, которую можно было исправить, если знать, как. Ему хотелось понять, почему один провод так важен, почему именно он останавливает всю эту огромную махину.

В голове билась одна мысль, похожая на заевшую пластинку: что-то сломано. Не снаружи – внутри. В самой логике. Он чувствовал этот сбой, как чувствуют занозу под кожей. Желудок скрутило в лёгкий узел. Точно так же он замирал перед родительским приёмником, пытаясь настроить его на нужную волну, чтобы услышать новости из мира, недоступного его улице. Кваме не был похож на других детей, которые приходили в кафе играть в «Mortal Kombat». Его глаза были прикованы не к мигающему курсору, а к оголённым медным жилам, хрупкой связи, питающей весь этот микрокосм. Этот клубок проводов был хаотичным сердцем его маленькой вселенной, и он чувствовал, как его собственный пульс пытается подстроиться под его рваный ритм, чтобы найти и обезвредить сбой.

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

– Я могу это почистить, – он не спрашивал, он утверждал. – Все. Клавиатуры. Мыши. За… – он замер, быстро проводя в уме операцию конвертации труда во время, – за тридцать минут интернета.

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

– Чистить? Eii, что ты там начистишь, small boy? Сломаешь всё к чертям. Проваливай, не мешай. – Голос Коджо был полон пренебрежения, но в его глазах блеснул лёгкий интерес. Дешёвая рабочая сила всегда была ценна.

– Не сломаю, – сказал Кваме. – Грязь мешает контактам.

Коджо замер, потом медленно повернулся. В его взгляде промелькнуло что-то похожее на интерес. «Я вижу грязь. Я могу её убрать». В голове Кваме мелькнула мысль о чистоте, о порядке, который можно было внести в этот хаос. Он представлял, как пыль и остатки еды засоряют контакты, как липкая жирность от пальцев забивает щели между клавишами. Это было очевидно. Если грязно – не работает. Если чисто – работает лучше. Простое правило. Несмотря на духоту, по коже его предплечий прошла волна напряжения, как слабый электрический разряд. Мать, торгуя на рынке, всегда тщательно протирала свои товары. «Чистота привлекает».

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

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

– Ладно, умник. Тридцать минут. Но если хоть одна клавиша отвалится, ты будешь чистить мои ботинки бесплатно. Понял?

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

«Это просто ресурс. Ресурс для доступа». Слой грязи – это барьер, его нужно удалить. Он представлял себе, как чистит не просто клавиатуру, а своеобразный замок. К горлу подкатила лёгкая тошнота, но он проигнорировал её, сосредоточившись на задаче. Это было важно. Он вспомнил, как отец три дня не мог завести свой тро-тро, пока не прочистил забитый пылью карбюратор. «Грязь – это всегда остановка, – ворчал он тогда. – Всегда сбой». Эта мысль была якорем Кваме. Его руки, хоть и детские, работали с почти взрослой тщательностью, будто каждая щётка была частью невидимого порядка, который он должен был безупречно выполнить.

Два дня спустя, после тщательной уборки десятков клавиатур и мышей, Кваме, наконец, получил свой приз. Коджо, который поначалу наблюдал за ним с насмешкой, теперь лишь махнул рукой, указывая на свободный компьютер. Экран старого ЭЛТ-монитора ожил, осветив его лицо синеватым светом, и это было похоже на чудо. Кваме обходил обычные игровые сайты и чаты. Его пальцы, привыкшие к грязным клавишам, теперь парили над чистой поверхностью, готовые к иному танцу.

Он вспомнил, как один из старших парней, которого все звали Prof, хвастался, что может работать с компьютером через какой-то «чёрный экран». Он медленно, намеренно напечатал в строке поиска: «чёрный экран для управления компьютером». Каждое слово было выверенным, как шаг по минному полю. Поисковик выдал десятки ссылок, но одна, старая, насыщенная текстом статья на каком-то малоизвестном сайте, привлекла его внимание. В ней этот «экран» называли «командной строкой» и описывали основные операции терминала. Глаза Кваме загорелись. Это был не язык игры или развлечения, это был язык контроля, скрытый под слоем графического интерфейса.

«Это как карта. Карта, которая показывает, как всё устроено внутри». Он представлял, как слова статьи превращаются в реальные действия на экране. Сердце билось чуть быстрее. Это было похоже на то, как он разбирал старые игрушки, пытаясь понять, почему они двигаются, но здесь ставки были выше. Когда-то, совсем маленьким, он пытался разобрать радиоприёмник отца, чтобы понять, откуда берётся музыка. Тогда его отшлёпали. Сейчас никто не мог ему помешать.

Он сосредоточился на словах: dir, cd, echo. Эти короткие, чуждые слова казались заклинаниями, способными изменить реальность. Он глубоко вдохнул, почувствовав знакомый запах пыли из вентиляционных отверстий. Гул старого ЭЛТ-монитора был почти осязаемым, а от экрана исходило лёгкое тепло, которое теперь казалось частью этого нового, захватывающего процесса.

Следуя инструкциям статьи, Кваме открыл командную строку. Чёрный экран с мигающим белым курсором – это было его поле боя. Он напечатал dir. Нажал Enter. И сотни строк текста, имён файлов и папок, посыпались на экран, словно дождь. Маленькая, но ощутимая победа.

«Работает. Оно работает». Кровь ударила в виски, а сердце отбивало быстрый, рваный ритм. Учительница по математике в школе всегда говорила, что за каждой формулой стоит логика. Вот она, эта логика, воплощённая в буквах и цифрах, доступная его рукам. Ему хотелось кричать, но он лишь крепче сжал губы, чтобы не выдать себя. Затем он пробовал cd для перемещения по каталогам, echo для вывода текста. Каждая успешная команда, каждая новая строка текста – это была маленькая победа, подтверждение того, что этим абстрактным миром можно манипулировать, что его можно понять и подчинить. Он не играл в игру, он понимал её правила. Это было начало чего-то большего.

Кваме был глубоко погружён в статью о пакетных файлах – крошечных текстовых документах с расширением ․bat, которые позволяли записывать команды и выполнять их одну за другой, автоматизируя рутину. Сама идея того, что можно создать собственный сценарий, который машина будет послушно исполнять, казалась волшебством. Мигающий курсор на чёрном экране был единственной реальностью. Затем это произошло. Внезапное, полное отключение света. Экран погас, гул компьютеров стих, потолочные вентиляторы с хрипом остановились. Интернет-кафе погрузилось в гнетущую тишину, которая казалась плотнее самой жары. Резкий обрыв электронного гула был подобен удару. Через мгновение эту тишину разорвали далёкие звуки улицы – гудки машин, крики торговцев.

Коллективный вздох разочарования пронёсся по кафе, смешиваясь с ругательствами и стонами. Внезапная давящая жара обволокла его. Кондиционер замолчал, и тяжёлый, спёртый воздух мгновенно стал неподвижным. Он не паниковал, как другие. Вместо этого его взгляд устремился в темноту, где только что были экраны. Он почувствовал, как моментально похолодели кончики пальцев, словно от них резко отключили питание. Это был не просто срыв сеанса, а физический обрыв процесса, отмена контроля, который он только начал обретать.

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

Он стиснул зубы. Каждый раз этот рёв генератора обрывал мысль на полуслове, оставляя в голове звенящую пустоту. Потеря. Он ощутил её физически – как онемение в кончиках пальцев, которые только что касались другого мира. Кваме не паниковал. Он наблюдал, как загораются тусклые, мигающие аварийные огни, отбрасывая зловещие тени на лица людей. Он слушал генератор, его шум был грубым, но надёжным. Его разум немедленно переключился с «что я делал» на «как эта система действительно работает?». Прерванная сессия была неудачей, но также и уроком. Реальная власть часто находится за пределами цифрового мира.

Кваме шёл по темнеющим улицам Аккры, рёв генератора всё ещё эхом отдавался вдалеке. Воздух был густым, влажным и тяжёлым от накопленного за день жара. Липкость не спадала даже после захода солнца. Вокруг него витал всепроникающий, сложный запах ночной Аккры: едкая смесь выхлопных газов, насыщенный аромат жареных бананов и рыбы, дым от древесного угля и влажной земли. Этот запах был одновременно отталкивающим и родным, частью этого мира, который он стремился понять. Кваме не думал о потерянном времени. Его разум снова и снова прокручивал события последнего часа: провода, команды, внезапное отключение света, ревущий генератор. Он собирал воедино цепочку причинно-следственных связей, порядок физического мира.

В его голове бился образ оборванной связи – разорванный кабель, из которого утекает информация. Это было похоже на то, как он пытался понять, почему его старая радиола переставала работать, когда начинался дождь. Вода, влажность, электричество – всё взаимосвязано. Он почувствовал знакомый зуд в кончиках пальцев – нетерпение исследователя перед нераскрытой тайной. Отец всегда говорил: «Если видишь проблему, найди её корень». И Кваме искал этот корень.

Перед глазами стоял мерцающий курсор командной строки, крошечная, пульсирующая точка порядка на фоне огромного, непредсказуемого хаоса Аккры. Этот курсор представлял собой обещание, потенциал. Символ контроля, который он так отчаянно искал в мире, где всё казалось случайным. За каждым хаотичным явлением скрывается своя логика. И его задача была найти её. В одном из дворов, мимо которого он проходил, играла приглушённая музыка Hiplife. Кваме мельком увидел танцующих людей, но его мысли были далеко от этого веселья. Он был сосредоточен на своём собственном, невидимом для других, внутреннем поиске.

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

На куске картона, который он нашёл на улице, используя обломок карандаша, Кваме начал рисовать. Это была грубая, детская схема сети интернет-кафе: линии, представляющие кабели, коробки для компьютеров, центральная коробка для маршрутизатора. Затем он провёл зубчатую линию, уходящую за пределы страницы, для dumsor, а рядом нарисовал маленький прямоугольник с несколькими точками, обозначающими дизельный генератор. Он подписывал компоненты своим неаккуратным почерком. В какой-то момент грифель карандаша с треском сломался. Кваме тихо выругался и, потратив минуту, заточил его обломком камня, чтобы продолжить. Мерцающий свет керосиновой лампы отбрасывал танцующие тени на стены, делая его рисунки живыми.

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

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

Он смотрел на свой рисунок, и видел не провода, а тонкую нить, натянутую над пропастью. Одно неверное движение, один скачок напряжения – и всё оборвётся. Уязвимость была не в схеме. Она была самой схемой. Он смотрел на свой рисунок не с отчаянием, а с тихим, жгучим вопросом в глазах: Как я могу заставить это работать? Как я могу это контролировать? Этот вопрос, невысказанный вслух, был его личной клятвой, его первым правилом в борьбе с хаосом.

Глава 2

За два месяца ритуал въелся в мышцы. Время для Кваме перестало делиться на дни и недели; оно измерялось циклами чистки и сессиями доступа. Он стал частью экосистемы интернет-кафе Коджо, незаметной и необходимой, как старый, гудящий под столом системный блок. Его приход после школы больше не был событием. Он просто появлялся в дверном проёме, молча кивал Коджо, чьё лицо лоснилось от духоты, и направлялся в угол, где в пластиковом ведре хранился его инвентарь. Его инструменты: старая зубная щётка с растрёпанной щетиной, тряпка, задубевшая от грязи, и почти пустая бутылка из-под воды с его собственным составом – едва мыльным раствором, в который он добавлял несколько капель дешёвого спирта из аптечки матери, его личная формула против липких следов.

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

Эта рутина дала ему то, чего он жаждал больше денег – невидимость. Он больше не был просто мальчиком, пялившимся на других. Он был «мальчиком-уборщиком», элементом обстановки. Его перестали замечать, а значит, при нём перестали фильтровать разговоры. Он стал самозапускающимся логгером, ухом, приставленным к гудящему улью кафе. Он встроился в систему не как пользователь, а как обслуживающий процесс, и это давало ему уникальную точку обзора. Сидя на корточках у очередного компьютера, вычищая грязь из-под клавиши «пробел», он перехватывал разговоры. И чаще всего он перехватывал их. Парней из дальнего угла. Тех, кого остальные посетители называли шёпотом, со смесью страха и зависти, «Yahoo Boys».

Закончив работу, Кваме подошёл к стойке. Коджо, не отрываясь от чтения старой газеты «Daily Graphic», лишь скользнул взглядом по ведру в руках Кваме, потом перевёл взгляд на ближайший стол и едва заметно постучал костяшкой пальца по корпусу монитора. Пыли не было. Он молча кивнул в сторону свободного компьютера под номером три, у самой стены. Коджо, довольный его усердием, молча увеличил его сессию до сорока пяти минут – новый стандарт их негласного договора. Кваме сел за своё рабочее место. Начинался отсчёт его валюты.

Громкий, показной смех из угла оторвал его от экрана, на котором медленно загружалась страница с документацией по сетевым протоколам. Смех доносился от трёх парней. Они были старше Кваме лет на пять-шесть, рослые, шумные, одетые в яркие, но очевидно поддельные футболки европейских футбольных клубов – «Манчестер Юнайтед» и «Челси». Их голоса были слишком громкими для душного, тесного помещения, их жесты – слишком широкими. Они вели себя так, будто кафе принадлежало им.

Кваме наблюдал за ними поверх тусклого ЭЛТ-монитора. Другие бросали на них косые взгляды. Кваме отсекал эмоциональный шум. Неприязнь и зависть были для него сбоем в протоколе, ненулевыми переменными, которые следовало обнулить. Его интересовала только их операционная модель. Аномалия в системе, которую он пытался понять. Остальные посетители – студенты, клерки, дети – платили Коджо за время мелкими, потёртыми купюрами седи, отсчитывая каждую монету. Они экономили. Их время было ресурсом, который они тратили с осторожностью.

Yahoo Boys существовали в другой реальности. Один из них, самый крупный, в футболке с фамилией «Дрогба» на спине, лениво поднялся и подошёл к стойке Коджо. Он небрежно швырнул на прилавок скомканную пачку денег. Сумма была не видна, но звук – мягкий, сытый шелест множества купюр, брошенных без счёта, – сказал всё. Звук был унизительным для всех, кто считал каждый седи.

– Chale, ещё три часа на всех, – бросил он Коджо. – И три фанты. Холодной.

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

Кваме перевёл взгляд на свои руки, лежащие на клавиатуре. Он чистит десять рабочих мест, тратя на это почти час, чтобы получить сорок пять минут доступа к информации. Они за один жест тратят сумму, эквивалентную, наверное, неделе его работы. Он не видел, что именно они делают на своих компьютерах. Экраны были развёрнуты к стене. Но он видел результат. Деньги. Лёгкость. Презрение к ограничениям, которые для всех остальных были законом. Мир за пределами этого зрелища отступил, сжался до простого, безупречного вывода. Входные данные: часы за компьютером. Выходные данные: пачки небрежно скомканных денег. Ему нужен был ключ к этой формуле. Зависть? Ограничивает обзор. Раздражение? Пустая трата ресурса. Он смотрел на них не как на людей, а как на вершину пищевой цепи. На безупречного, высокоэффективного хищника. И Кваме Одуафо требовал его код ДНК.

Сорок пять минут его времени истекали. Он не успел дочитать статью о TCP/IP. Но он получил нечто более ценное: новую цель для исследования. Он встал из-за компьютера и, проходя мимо их стола, уловил обрывок фразы, брошенной одним из них сквозь смех: «…клиент почти созрел, главное – прислать ему правильный формат…». Кваме замер на долю секунды, впечатывая слова в память. Клиент. Формат. Это были первые элементы неизвестного ему протокола.

Неделю спустя Кваме выжидал момент. Он закончил свою ежедневную чистку и, вместо того чтобы сразу сесть за компьютер, подошёл к стойке Коджо. Хозяин кафе, как обычно, сидел на высоком табурете, медленно протирая свои очки в толстой оправе куском ткани, который был ненамного чище самих стёкол. Воздух вокруг него был густым, тёплым, как отработанное машинное масло. В нём смешивались нотки застарелого никотина, кисловатого пота и затхлого картона. Это был концентрированный запах износа – запах человека, ведущего бесконечную, изматывающую борьбу за выживание.

– Коджо, – тихо сказал Кваме. – Мышь на седьмом не держит клик. Палец проваливается.

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

Коджо вздохнул, не отрываясь от своего занятия.

– Всё залипает в этой стране, Кваме. Дороги залипают в пробках. Чиновники залипают на взятках. Что ты хочешь, чтобы я сделал? Подул на неё?

– Я почистил, – сказал Кваме. – Просто… она старая. Может, стоит поменять?

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

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

– Они тебе мешают? – спросил он так, будто сверялся со списком.

– Они всегда так шумят, – ответил Кваме. Это была констатация факта. Заброшенная в воду удочка. Он ждал, клюнет ли Коджо.

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

– Шум – это не самое плохое, что они делают, мальчик.

Клюнуло.

– А что они делают? – спросил Кваме, стараясь, чтобы его голос звучал по-детски любопытно, а не так, как он себя чувствовал – системным аналитиком, собирающим данные.

Коджо помолчал с минуту, глядя на сигарету. Казалось, он взвешивает каждое слово.

– Chale, – сказал он наконец, не глядя на Кваме. – Послушай меня. В этой стране все деньги грязные. Понимаешь? Деньги министра, который строит себе виллу на ворованные деньги, – они грязные. Деньги торговки с рынка Макола, которая обвесила покупателя на полкило ямса, – они тоже грязные. Просто грязь разная. У министра грязь большая, жирная. У торговки – маленькая, бытовая.

Он сделал паузу, повернул голову и посмотрел прямо на Кваме.

Их деньги, – он едва заметно кивнул в сторону угла, – они просто… грязнее других. Это как жирная сажа с генератора, Кваме. Она въедается в пластик. Сколько ни три, всё равно остаётся липкий, чёрный след.

– Но откуда они их берут? – настаивал Кваме, чувствуя, что приближается к сути.

– Они ищут дураков, – отрезал Коджо. Его голос стал жёстче. – Дураков с деньгами. Белых дураков, которые сидят в своих холодных странах и верят в сказки про африканских принцев. Они продают им воздух. Красивые истории. Надежду. А потом забирают их деньги.

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

– Проблема в том, Кваме, что тот, кто долго ищет дураков, часто сам им и становится. Эта грязь… она въедается. В кожу, в душу. И потом её уже не вытравить. Ничем.

Он сунул незажжённую сигарету в рот и сжал её зубами. Разговор был окончен.

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

Кваме кивнул и молча пошёл к своему компьютеру. Он не получил подробной инструкции. Но он получил нечто большее. Подтверждение: их деятельность незаконна. Она связана с обманом. Цель – белые иностранцы. Инструмент – истории. Он также уловил ещё несколько обрывков их разговора, пока проходил мимо: «…деньги от Western Union», «…нужно убедить его, что это последний платёж».

Western Union. Ещё одно ключевое слово. Ещё один узел в схеме. Он сел за компьютер, и гул старого вентилятора показался ему звуком работающего аналитического движка в его собственной голове. Система медленно, но верно открывала ему свои секреты.

В следующий раз, получив доступ к сети, Кваме действовал строго по протоколу. Он открыл поисковик – старый, перегруженный баннерами Yahoo! – и набрал в строке поиска наивную, прямую фразу, составленную из собранных им данных: “make white client send money Western Union”.

Сеть ответила ему мусором. Десятки страниц корпоративных сайтов, предлагающих услуги денежных переводов. Форумы экспатов, жалующихся на высокие комиссии. Статьи о правилах безопасности. Ничего полезного. Зелёная полоска загрузки внизу браузера двигалась мучительно медленно, словно ползла по вязкой грязи. Каждая секунда его драгоценного времени утекала впустую. Челюсть Кваме свело судорогой. Костяшки пальцев, сжавших пластик мыши, выступили белыми, словно фарфор. Полоска загрузки замерла, издеваясь над ним. Система не поддавалась. Его запрос был слишком грубым, слишком прямым.

Он попробовал иначе. “Stories for clients money”. Снова мимо. Сайты писательских курсов, сборники рассказов, блоги. Он сжал кулаки. Время шло. Осталось двадцать минут. Он уже был готов сдаться и потратить остаток сессии на чтение технических форумов, как вдруг его взгляд зацепился за заголовок на третьей странице поисковой выдачи. Это была ссылка на небольшой новостной сайт из какого-то американского городка. Заголовок гласил: «Меня пытались обмануть нигерийские мошенники: история одного письма».

Кваме замер. Дыхание остановилось. Он щёлкнул по ссылке, и мир сузился до пикселей, медленно складывающихся в текст. Страница грузилась вечность. Сначала появился текст, потом, рывками, начали подгружаться картинки. Он жадно впился в строки. Автор статьи, какой-то пенсионер из Огайо, с возмущением описывал, как получил электронное письмо от «нигерийского принца», который просил помощи в переводе миллионов долларов из страны. И, что самое важное, автор приводил в статье полный текст полученного им письма.

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

В самой статье несколько раз упоминалось сленговое название этой схемы. Журналист называл это “Nigerian Letter” или “419 scam”.

Четыре-один-девять.

Это было кодовое имя. Ключ. Точный технический термин, которого ему не хватало. Теперь его поиск не будет слепым. Он быстро открыл новую вкладку, не закрывая статью. Времени оставалось меньше десяти минут. Пальцы летали над клавиатурой. Он вбил в поисковую строку новую, точную команду: “419 scam forum”.

Нажал Enter.

Первая же ссылка вела на старый, текстовый, анонимный форум. Дизайн был убогим – чёрный фон, зелёный текст, никакой графики. Он выглядел как реликт из прошлого десятилетия. Но названия веток на главной странице заставили его затаить дыхание. «Рабочие шаблоны». «Как общаться с клиентом». «Проблемы с Western Union». «Обсуждение форматов».

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

– Кваме, всё, – голос Коджо вернул его в реальность.

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

Пока он шёл через тесное помещение, мир вокруг него воспринимался иначе, острее. Он прошёл мимо столика, за которым сидел студент из университета Легона. Тот, ссутулившись, что-то быстро печатал, и Кваме слышал тихое, ритмичное, деловитое щёлканье клавиш. Звук упорного, честного труда. Звук, которым выковывалась мера его будущего.

Дальний угол, где сидели Yahoo Boys, жил в другом ритме. Кваме смотрел на их громкий смех и понимал, что видит не хищников, а всего лишь пользователей готового скрипта. Шумных, неэффективных, оставляющих слишком много следов. Их протокол был грубым.

Кваме толкнул дверь и вышел наружу. И его оглушило.

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

Все они – взломщики.

Студент, который зубрит ночами, чтобы сдать экзамен и получить диплом. Yahoo Boys, которые плетут истории, чтобы выманить деньги. Коджо, который латает старое оборудование и даёт взятки инспекторам, чтобы его кафе не закрыли. Его мать на рынке, которая знает, какому покупателю можно подсунуть товар похуже. Его отец, который знает короткие пути, чтобы объехать пробки и сделать лишний рейс на своём тро-тро.

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

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

Через неделю он пришёл в кафе с одной-единственной целью. Он не читал новости, не искал техническую документацию. Он сразу открыл тот самый форум и нашёл ветку с неприметным заголовком «Templates for clients». Внутри было несколько файлов, прикреплённых к первому сообщению. Он открыл один из них.

Текст заполнил экран. Это было классическое «нигерийское письмо».

«Уважаемый сэр/мадам,

Я обращаюсь к Вам с деликатным предложением, требующим высшей степени конфиденциальности…»

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

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

Это была машина для взлома человеческой жадности и наивности.

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

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

Он положил лист рядом с клавиатурой и начал переписывать. Скрип грифеля по дешёвой, шершавой бумаге был единственным звуком, который он слышал. Он писал медленно, старательно. Пальцы сводило не только от напряжения. Слова были чужими, неуклюжими. “Utmost confidentiality”, “divine providence” – он не был уверен, что точно понимает их смысл, но чувствовал их вес, их функцию в этом механизме обмана. Каждая грамматическая ошибка в оригинале казалась ему не багом, а фичей – специальным фильтром для отсеивания слишком умных жертв. Он не просто копировал слова – он декомпилировал чужой код, перенося его с экрана на бумагу, впитывая его ядовитую логику. Грифель пару раз угрожающе хрустнул, но выдержал. Каждая буква, выведенная карандашом, была строчкой вредоносного скрипта, который он сохранял в офлайн-режиме. Рука быстро устала, предплечье горело от напряжения, но он не останавливался. Он должен был забрать это знание с собой.

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

Слева – исписанные карандашом листы из школьной тетради. Шаблон письма. Схема обмана. Система хаоса.

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

Глава 3

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

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

Вся его жизнь сжалась до этого душного, гудящего вентиляторами помещения. Мир за его пределами – школьные дрязги, крики торговок с рынка, даже редкие улыбки матери – стал фоновым шумом, неважным процессом, потребляющим минимум системных ресурсов. Вся его энергия, каждая капля внимания, каждый сэкономленный седи уходили на одну-единственную задачу. Он строил инфраструктуру. Первые месяцы ушли на болезненное осознание: бесплатные прокси-серверы, которые он находил на тех же хакерских форумах, были тропами в болоте – медленными, ненадёжными, исчезающими без следа во время очередного dumsor. Операция, зависящая от удачи, не была операцией. Это был хаос. А он ненавидел хаос.

Ему нужен был платный VPN. Надёжный. С серверами за пределами Африки. Стоящий денег, которых у него не было. Решение нашлось на нигерийском форуме: реселлер, готовый за небольшой процент активировать годовую подписку и принять наличные через водителя «тро-тро», курсирующего между странами. План стал реальным. Так началась долгая, серая осада. Жареные бананы по дороге домой исчезли из его жизни. Выцветшая футболка оставалась на нём, пока мать, качая головой, силой не отбирала её в стирку. Мятые, влажные от пота купюры прятались в выдолбленной полости старого учебника по химии. Семнадцать месяцев ожидания вытравили из его одержимости всё лишнее, оставив только сухой, безжалостный алгоритм. Он больше не был ребёнком, играющим с командной строкой. Он был хищником, который достаточно долго сидел в засаде и теперь, наконец, был готов к своей первой охоте.

Ритуал начался с унижения. Не острого, а того тупого, привычного, что въедается в кости, как пыль дорог Адженкоте. Кваме подошёл к стойке Коджо, за которой тот, нахмурившись, пересчитывал дневную выручку. Он не сказал ни слова. Не дожидаясь приглашения, он выложил своё сокровище на засахаренную от пролитой колы поверхность прилавка. Это была не аккуратная пачка банкнот, а скопление тысяч мельчайших, болезненных сбережений. Стопка монет в один седи, стёртых до белизны упрямой рукой времени, несколько десятков грязных, скомканных купюр помельче, перехваченных резинкой. Деньги несли на себе не запах пота, а металлический привкус сотен отказов самому себе.

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

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

– Пять часов, K? – его голос был ровным. – На всё? Сегодня ты гуляешь по-крупному.

Кваме лишь коротко кивнул. Слова казались избыточными. Эта транзакция была важнее любых слов. Он покупал не время и не аккаунт на Yahoo. Он покупал ключ зажигания.

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

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

Кваме прошёл к своему месту. Компьютер в самом тёмном углу был его негласной территорией. Старый компьютер с выпуклым ЭЛТ-монитором, на котором, словно крошечная чёрная звезда, вечно горела одна мёртвая точка. Никто не любил это место, а для Кваме оно было единственным безопасным плацдармом – тыл был прикрыт стеной, а сам он скрыт от взглядов большинства посетителей. Он сел на скрипучий пластиковый стул, ощущая знакомую продавившуюся вмятину. Он вдохнул знакомый воздух своего угла. Смесь горячего пластика, въевшейся в ковры пыли и озона от старой электропроводки. Запах работы.

Он не спешил. Методичность была его религией. Сначала он создал новый почтовый ящик. Имя пользователя – анонимный набор букв и цифр. Контрольный вопрос – название несуществующей улицы. Дата рождения – случайная. Он создавал свою первую цифровую личность, призрака, сотканного из лжи. Затем, убедившись, что VPN-соединение установлено и его IP-адрес теперь указывает на дата-центр под Кливлендом, штат Огайо, он достал из кармана сложенные вчетверо, истрёпанные по сгибам листы из школьной тетради.

Текст, переписанный полтора года назад, он знал наизусть. Каждое слово, каждая запятая были выверены. Но сейчас он смотрел на него не как ученик, а как инженер на чертёж. Он открыл текстовый редактор и начал перепечатывать, на ходу меняя слова. «Money transfer» он заменил на «fund remittance procedure». «Confidential» на «strictly proprietary». Каждая замена, как ему казалось, добавляла тексту веса, солидности. Он действовал как программист, оптимизирующий код, а не как мошенник, играющий на чувствах. Он верил, что безупречный протокол – залог успеха.

Следующий этап – поиск целей. Он давно определил стратегию. Его пальцы забегали по клавиатуре, вбивая в поисковую строку запросы, которые он оттачивал неделями: inurl:members filetype:txt site:․edu "2005", inurl:guestbook․php "university" "2006". Поисковик безразлично выдал ему ссылки на цифровые кладбища. Забытые сайты университетских клубов, гостевые книги с сообщениями десятилетней давности, списки адресов участников каких-то давно закончившихся конференций. Он нашёл то, что искал: длинный список электронных адресов на странице какого-то студенческого фотографического общества из Канзаса.

Для него это не были люди. Это был просто массив данных, который он сохранил в текстовый файл под названием targets․txt. Он не анализировал имена, не пытался угадать, кто за ними стоит – профессора, студенты, случайные посетители. Система предоставила ему цели. Его задача – обработать их. Он механически скопировал первые двадцать адресов. Разделил их на четыре группы по пять, чтобы не вызывать подозрений у почтовых фильтров.

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

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

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

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

Он сел за тот же компьютер в углу. Его сердце стучало глухо и тяжело, отдаваясь в ушах. Он ввёл логин и пароль. Напряжение было таким, что суставы не слушались, и он с трудом продавил нужную клавишу. Со второй попытки получилось. Страница почты загружалась целую вечность. Синяя полоска прогресса ползла по экрану с издевательской медлительностью, и когда она наконец замерла, на экране проступили слова.

Папка «Входящие (0)».

Ноль.

Круглый, пустой, идеальный ноль.

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

«Входящие (0)».

К горлу подступила тошнота. Может, они попали в спам? Он лихорадочно выбрал папку «Спам».

«В этой папке нет писем».

Цифровое безмолвие. Абсолютное. Двадцать отправленных сигналов в пустоту, и ни одного эха в ответ.

Этого не могло быть. Сбой. Сбой сети Коджо. Или проблема с сервером Yahoo. Он открыл новую вкладку и загрузил новостной сайт. Сайт открылся мгновенно. Сеть работала.

Тогда… тогда что?

И тут отрицание растворилось, оставив после себя тихую, бессильную пустоту. Его протокол был безупречен. Ноль во входящих означал одно: проблема не в логике, а в переменных. Эти двадцать невидимых, безымянных целей из Канзаса оказались непредсказуемыми, иррациональными входными данными. Человеческий фактор, самая неустранимая ошибка в коде реальности.

Он сидел, уставившись на этот проклятый ноль на экране. Костяшки пальцев, лежавших на мыши, побелели. Ярость кодировщика, чей безупречный алгоритм наткнулся на неразрешимую ошибку ввода-вывода (I/O error). Он потратил семнадцать месяцев своей жизни, каждую свою мысль, каждый сэкономленный седи на создание идеального механизма, а тупые, иррациональные люди просто отказались нажать на кнопку. В его реальности, скомпилированной из логики и протоколов, это было не просто поражением. Это был фатальный сбой в ядре мироздания.

Опустошение было полным. Гнев схлынул, оставив после себя липкий, серый осадок бессилия. Кваме обмяк, позволив скрипучему стулу принять вес его тела. Позвоночник отозвался тупой, ноющей болью. Оплаченный час тикал, но ему было всё равно. Он бессмысленно смотрел на экран, на этот ноль, который стал приговором всей его стратегии. Его взгляд расфокусировался, скользнул по пыльным проводам, по грязной стене, и зацепился за группу, занимавшую столы в центре зала. Yahoo Boys.

Они были здесь, как всегда. Расслабленные, громкие, одетые в яркие футболки и поддельные кроссовки Nike. Они были частью интерьера, как гудящие системные блоки и запах пыли. Но сегодня Кваме смотрел на них по-другому. Не с любопытством аналитика, а с отчаянием проигравшего, пытающегося понять правила игры, в которой его разгромили.

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

И он начал слушать. Не просто слышать, а анализировать.

Первое, что его поразило, – голос Сэмми. Он был неестественно высоким, мягким, почти женственным, с лёгким, тщательно культивируемым американским акцентом. Он не говорил, он ворковал.

– О, Дженнифер, дорогая, конечно, я понимаю… Да, Принцесса – это самое главное. Как она после визита к ветеринару? Бедняжка… У нас в Огайо сегодня тоже такая прекрасная погода, солнышко светит…

Кваме замер. Огайо? Сэмми никогда не был за пределами Ганы. Принцесса? У него дома была только тощая курица во дворе. Это был спектакль. Но детали… детали были слишком точными. Напряжение стянуло его челюсти, и он прищурился. Взгляд Сэмми периодически срывался на монитор. Там был открыт не браузер – простой текстовый файл. А рядом с клавиатурой лежал исписанный лист бумаги.

Это не было чистой импровизацией. Это был отточенный, жестокий перформанс.

Кваме смотрел, как заворожённый. Он видел не просто мошенника. Он видел актёра на сцене. Гарнитура была его костюмом. Текстовый файл и листок – его сценарием и суфлёром. Интернет-кафе – его театром. И где-то там, на другом конце провода, сидел единственный зритель, для которого разыгрывалось это представление.

Сэмми говорил ещё минут пять, обсуждая стоимость какого-то особого корма для собак и предстоящую благотворительную ярмарку в церкви. Потом его голос стал ещё нежнее.

– Конечно, дорогая. Я вышлю тебе номер счёта Western Union чуть позже. Целую тебя. Береги Принцессу.

Он закончил разговор. Нажал кнопку на гарнитуре. И в следующую секунду произошло то, что перевернуло мир Кваме.

Сэмми снял гарнитуру, бросил её на стол. Он шумно выдохнул, и всё его тело, до этого казавшееся натянутой струной, обмякло. Он повернулся к своему напарнику, сидевшему за соседним компьютером, и его лицо изменилось. Мягкость исчезла, уступив место циничной ухмылке. И его голос… Голос упал на октаву, стал низким, грубоватым, полным уличных интонаций Аккры.

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

Его напарник, не отрываясь от своего экрана, лениво кивнул и сделал пометку в толстой общей тетради, лежавшей между ними.

В голове Кваме что-то щёлкнуло. Громко, отчётливо, как будто сломалась кость.

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

Его «профессиональное», «оптимизированное» письмо… Каким же он был идиотом. Это был не код. Это был мусор. Мёртвый текст, отправленный живым людям. А они… они рассказывали истории. Они не взламывали почтовые серверы. Они взламывали одиночество. Они не просили денег. Они создавали эмоциональную связь, выстраивали целый мир, полный больных собачек, благотворительных ярмарок и солнечной погоды в Огайо.

Резкий, почти физически ощутимый контраст между приторно-сладким, фальшивым голосом Сэмми-«американца» и его обычным, грубым голосом парня из Аккры стал для Кваме откровением. Это был звук лжи. Системной, методичной, отточенной и невероятно эффективной лжи.

Его письмо было не взломом. Его письмо даже не было приглашением. Это был просто спам. А настоящий взлом был театром. У него были сценарий, реквизит, актёры и база знаний.

А он пытался вскрыть сейф, зачитывая вслух инструкцию по его эксплуатации.

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

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

– Ты сегодня тихий, K, – начал Коджо, нарушив молчание. Его голос был обманчиво беззаботным. – Даже тише обычного.

Кваме не отрывался от принтера.

– Просто устал.

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

Он сделал паузу. В наступившей тишине стал слышен натужный гул старого кондиционера. Кваме почувствовал на себе его взгляд. Он знал, что это не просто праздное любопытство. Коджо что-то подозревал. Он видел его подавленное состояние после провала, видел, как его внимание приковывается к Yahoo Boys.

«Он сканирует меня на уязвимости», – отстранённо подумал Кваме.

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

– Значит, с деньгами, – заключил Коджо. Его тон стал серьёзнее. – Слушай, парень. Я вижу, как ты смотришь на этих… артистов. Сэмми и его команду. Не надо. Это быстрые деньги, да. Но это грязь. Такая грязь, которую потом с души не отмоешь.

Кваме наконец вытащил застрявший кусок бумаги. Он выпрямился и посмотрел на Коджо. Его лицо было непроницаемым. Он научился этому за последние полтора года – прятать свои мысли за пустой, вежливой маской. Ему нужно было скрыть свой провал, скрыть свой интерес, скрыть всё. Ему нужно было выглядеть как обычный подросток, а не как потерпевший крах системный архитектор.

– Я не смотрю на них, – сказал он ровно. – Я думаю о том, что этот кондиционер еле дышит. Сколько будет стоить поставить новый? Сплит-систему. Я видел рекламу Panasonic.

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

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

– Дорого. Слишком дорого. Давай, закрывай эту адскую машину, и иди домой. Поздно уже.

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

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

И то, что он видел, было мёртвым кодом.

Он взял обломок карандаша и начал ставить диагноз.

«Dear Sir or Madam». Безлично. Холодно. Как повестка в суд. Сэмми назвал её «Дженнифер, дорогая». Ошибка номер один: отсутствие персонализации.

«…fund remittance procedure…» Процедура. Канцелярский язык, от которого веет налоговой инспекцией. Сэмми говорил о «помощи для Принцессы». Ошибка номер два: отсутствие эмоциональной привязки.

«…strictly proprietary…» Казёнщина. Угроза. Сэмми говорил о «нашей маленькой тайне». Ошибка номер три: неправильный фрейминг.

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

Кваме отложил карандаш. Гнев и разочарование ушли. Остался только холодный, безжалостный анализ. Он понял свою фундаментальную ошибку. Он пытался расшифровать код машины, не изучив её главный компонент – человеческий фактор. Ему нужно было изучить не сетевые протоколы, а правила компиляции человеческих эмоций. Не то, как работает спам-фильтр, а то, как работает одиночество. Не как провести транзакцию, а как продать историю.

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

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

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

Первым делом он сменил поисковые запросы. Вместо 419 scam format или anonymous proxy list он методично вбивал:

most popular dog breeds USA 2007

what to watch on american TV thursday night

lonely hearts forums for over 50

typical problems of american suburbs

how to talk about weather in midwest

Результаты поиска были другими. Вместо сухих технических форумов и списков IP-адресов на него хлынул поток чужой, непонятной жизни. Он читал блоги домохозяек из Айовы, которые жаловались на своих мужей и делились рецептами яблочного пирога. Он изучал форумы ветеранов Вьетнама, где они травили байки о прошлом и обсуждали свои болячки. Он просматривал сотни фотографий американских пригородов: одинаковые дома с идеальными газонами, большие машины в гаражах, улыбающиеся семьи на фоне барбекю.

Он не читал. Он собирал данные. Он, как и раньше, выписывал всё в тетрадь, но теперь это были не технические термины. Это был культурный код.

«Золотистый ретривер – самая популярная порода».

«По четвергам все смотрят сериал C․S․I.».

«Любимый президент – Рональд Рейган».

«Люди жалуются на налоги на недвижимость и плохие школьные обеды».

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

В какой-то момент он почувствовал за спиной чьё-то присутствие. Он не обернулся.

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

Кваме медленно повернул голову. Сэмми стоял, засунув руки в карманы, и с ухмылкой смотрел на его экран, где была открыта статья о разновидностях корма для собак.

Кваме молча пожал плечами.

Сэмми покровительственно хлопнул его по плечу, отчего пластиковый стул скрипнул.

– Учишь язык, да? Американский. Правильно. Белым леди нравится, когда ты знаешь, как зовут их президента и какая у них там погода. Они от этого тают.

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

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

Он ничего не чувствовал. Он просто занёс в тетрадь новое слово: «kibble». Сухой корм. Важная деталь.

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

Слова «база», «иннинг», «страйк», «хоум-ран» были для него абсолютной абракадаброй. Схема поля, ромбом начерченная на зелёном фоне, казалась какой-то мистической диаграммой. За окном плавился асфальт, кричали торговки, ревел мотор старого «тро-тро». Пыльный, потный, хаотичный мир Аккры. А на экране перед ним был другой мир – упорядоченный, непонятный, с ритуалами, лишёнными для него всякой логики. Контраст был настолько сюрреалистичным, что на мгновение у Кваме закружилась голова.

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

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

Глава 4

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

И каждое осадное орудие требовало металла.

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

В этот раз работа была особенно грязной. На разобранной картонной коробке стоял системный блок – бежевый, пожелтевший от времени и никотина корпус с наклейкой «Pentium 4». Он гудел, как рассерженный улей, и от него исходил отчётливый запах горячей пыли и чего-то неуловимо-химического, горелого пластика.

– Опять от торговца с рынка, – проворчал Коджо, брезгливо ткнув в корпус пальцем. – Говорит, тормозит и выключается. Я даже смотреть не хочу, что за мерзость там внутри скопилась. Проведёшь деконтаминацию – половина твоя.

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

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

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

Следующие три часа ушли на борьбу с хаосом цифровым. Он загрузился с аварийного диска, снёс напрочь замусоренную пиратскую Windows XP, кишевшую вирусами и рекламным ПО, как труп – опарышами. Отформатировал жёсткий диск. Затем началась долгая, медитативная установка чистой системы. Он сидел, наблюдая за ползущей синей полосой инсталляции, и слушал звуки кафе: щелчки мышей, приглушённые разговоры, смех Yahoo Boys, которые обсуждали очередную удачную сделку. Они работали с иллюзиями. Он – с кремнием и медью.

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

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

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

Жарким летом 2007-го, когда солнце плавило асфальт, под окном раздались крики его друзей, знакомые имена, азартные вопли. Они звали его играть в футбол. На мгновение что-то внутри дрогнуло – воспоминание о простом, бездумном движении, о вкусе пыли во рту. За окном его друзья – потные, счастливые – гоняли мяч, абсолютно свободные в своей игре. А потом его взгляд упал на стол, где лежала бухта сетевого кабеля и кримпер. Коджо предложил ему плату за изготовление двадцати патч-кордов. Кваме отошёл от окна. Щёлк. Отказ. Щёлк. Выбор. Каждый обжатый коннектор был ещё одним шагом прочь от окна, от потного, счастливого мира его сверстников.

Наблюдение за Yahoo Boys превратилось в ритуал. В начале 2008-го он стоял в тени у входа в кафе и смотрел, как Сэмми и его приятель, смеясь, выходят из такси. На них были новые, кричаще-яркие футболки и дешёвые подделки под дорогие часы. Они купили несколько бутылок холодного пива и лениво направились в сторону своего дома. Кваме в это время доедал свой обед – плотный шар кенке с острым соусом шито, купленный у уличной торговки. Идеальное топливо с точки зрения эффективности затрат. Он смотрел на них без зависти. Его взгляд не задерживался, он пропускал их через внутренний алгоритм, фиксируя только аномалии в трафике. Он видел не успех, а системную ошибку. Неэффективную трату ресурсов. Деньги, которые можно было бы инвестировать в оборудование, они превращали в пиво и крикливые тряпки. Спринтеры, прожигающие свой шанс. Он был марафонцем.

Его старая тетрадь, начатая с изучения американской культуры, к середине 2008 года разбухла от новых записей. Рядом с породами собак появились страницы, исписанные убористым почерком. Это был его бухгалтерский гроссбух.

«Замена вздувшихся конденсаторов на материнской плате: +15 седи».

«Установка и настройка антивируса Avast!: +10 седи».

«Расход на еду (варёный ямс, шито): -5 седи».

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

Ноябрь 2008 года. Ночь окутала Аккру влажным одеялом. Интернет-кафе Коджо было погружено во тьму, горела лишь одна лампа над стойкой. Кваме сидел за своим обычным местом в углу. В этот раз он был клиентом. Он заплатил Коджо за всю ночь – неслыханная трата, съевшая почти недельную норму сбережений.

– Зачем тебе это, Кваме? – спросил Коджо. – Ночью канал всё равно плохой.

Кваме кивнул в сторону своего места в углу, не глядя на Коджо. – Нужно кое-что скачать. Файл объёмный.

Его целью был дистрибутив Ubuntu 8․10, “Intrepid Ibex”. Образ операционной системы весил почти 700 мегабайт. В мире стабильного интернета – задача на несколько минут. В Аккре 2008 года – осада. Он запустил загрузку. Цифры на экране поползли вверх с мучительной медлительностью. Скорость скакала – от жалких пяти килобайт в секунду до пиков в тридцать-сорок, когда канал на мгновение прочищался, но потом снова падала. Связь постоянно рвалась, и менеджер загрузок возобновлял передачу с прерванного места.

Часы тянулись. Коджо давно уже спал за своей стойкой. Кваме не спал. Он смотрел на экран, на медленно ползущую полоску прогресса. Это была его битва. Не с хакерами. С базовой инфраструктурой.

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

Кваме сидел, глядя на почерневший экран. После нескольких часов гудения компьютеров тишина обрушилась, стала физически ощутимой. Единственным звуком был скрип табурета под Коджо и собственное сбившееся дыхание Кваме. Воздух мгновенно стал плотнее, жарче; по спине медленно поползла капля пота. Девяносто восемь процентов, – стучало в голове. – Система всегда находит способ сломаться в самый критический момент. Привычной вспышки ярости не было. Вместо неё он почувствовал, как мышцы его челюсти работают вхолостую, перемалывая невидимый шлак. Внутри всё сжалось, превратившись в холодный, плотный узел. Точно такое же чувство он испытал, открыв пустой почтовый ящик после первой атаки – глухой удар о невидимую стену.

Он не кричал. Просто сидел и ждал. Минут через пять Коджо поднялся со своего табурета, ругнулся в темноту и резко метнулся к стартеру генератора. Тот закашлял, чихнул чёрным дымом и зарокотал, обретая мощность. Свет вспыхнул. Кваме посмотрел на экран. Менеджер загрузок показывал ошибку. Файл был повреждён.

Он молча отправил испорченный файл в небытие. Курсор снайперски лёг на ссылку. И он инициировал повторную загрузку.

Под утро, когда небо на востоке начало светлеть, загрузка завершилась. Файл был цел. Руки Кваме слегка дрожали от усталости. Он вставил в USB-порт старенькую флешку на один гигабайт. Эту программу, UNetbootin, как и десятки других утилит, он давно скачал и хранил на ней – свой портативный набор инструментов на все случаи жизни. Несколько минут ожидания, и система сообщила, что загрузочный диск готов.

Он вытащил флешку. Тёплый пластик. Он сжал её в кулаке. Это был не просто кусок пластика с микросхемой. Это был артефакт, выкованный в огне фрустрации. Его ключ.

Ноябрь 2009 года. Прошло ещё больше года. Кваме, которому было почти шестнадцать, сидел на полу в своей комнате. Он достал из-под кровати ржавую жестяную коробку. Она была тяжёлой.

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

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

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

Кваме сжал кулак, в котором лежала стопка купюр, ощущая их плотный вес. Вся его дисциплина спрессовалась в этом жесте.

Время пришло.

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

Четырнадцатого ноября 2009 года Кваме Одуафо шёл сквозь этот хаос не как жертва, а как хищник. Его взгляд не блуждал. Он сканировал. Он искал ноутбук. Не просто ноутбук. Он искал franco – подержанный компьютер из Европы или Америки.

В кармане его брюк лежал тугой рулон купюр – почти все его сбережения. Он ощущал их вес каждым шагом. Это были часы, проведённые в пыли. Отказы от футбола. Бессонная ночь в интернет-кафе. Он не собирался расставаться с ними легко.

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

– Chale, смотри, какой! HP Pavilion, почти новый! – продавец, парень немногим старше его, заученно улыбался.

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

– Видеочип отвалился от перегрева, – констатировал Кваме ровным голосом. – Его нужно прогревать феном. Хватит на неделю, потом опять сдохнет.

Улыбка сползла с лица продавца.

Они продают внешний вид. Оболочку. Яркая наклейка, блестящий корпус. Система внутри гнилая, но кого это волнует? Люди покупают то, что видят. Это та же уязвимость, которую используют Yahoo Boys. Красивая история. Блестящая наживка. А внутри – пустота. Мне не нужна красивая история. Мне нужен инструмент.

Он обошёл ещё несколько рядов. Его взгляд искал не блеск, а матовую, потёртую поверхность. И он нашёл его. В куче старых корпусов лежал тяжёлый, толстый, чёрный, как кусок антрацита, Dell Latitude D630. Корпус из магниевого сплава был исцарапан, на углах пластик стёрся добела. Аккумулятор отсутствовал. Для любого другого покупателя это был хлам. Для Кваме он был идеален. Крепкий, как танк. Легко разбирался. И главное – у него была репутация неубиваемой рабочей лошадки.

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

– А, этот. Крепкая вещь. Не подведёт. С тебя триста седи.

Цена была завышена вдвое. Кваме не стал спорить. Он молча достал из рюкзака кабель питания и подключил ноутбук. Нажал кнопку. Экран ожил. Но Кваме не интересовала операционная система. Он достал из кармана свой программный ключ. Ту самую флешку.

Он вставил её в USB-порт, перезагрузил машину и вошёл в BIOS. Продавец удивлённо приподнял бровь. Кваме выставил загрузку с USB и дождался меню Ubuntu. Он запустил систему в Live-режиме, открыл терминал и ввёл команду для проверки состояния жёсткого диска. Через минуту на экране появился лог. Он молча повернул ноутбук к продавцу и ткнул пальцем в строку: Reallocated_Sector_Ct: 137.

– Сто тридцать семь битых секторов, – спокойно сказал Кваме. – Диск сыпется. Он умрёт через пару месяцев. Новый стоит пятьдесят седи.

Мужчина посмотрел на экран, потом на Кваме. В его усталых глазах промелькнуло уважение. Он увидел того, кто знает.

– Сто пятьдесят, – сказал он.

– Сто двадцать, – ответил Кваме.

– Сто тридцать. И кабель питания в подарок.

– Идёт.

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

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

– Кваме, что это? – её голос был тихим, но в нём звенела тревога.

– Ноутбук, мама.

Он не смотрел на неё, продолжая протирать корпус сухой тряпкой.

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

Её взгляд был острым. В нём смешались страх и подозрение. Она слышала истории о Yahoo Boys, о быстрых и грязных деньгах. И сейчас все её страхи сфокусировались на этом чёрном куске пластика.

– Ты украл его? – её голос сорвался на шёпот. – Ты связался с этими… с этими бандитами из кафе? Кваме, встреться со мной взглядом!

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

– Заработал, мама, – сказал он. Голос звучал ровно. Он репетировал эту ложь последние полгода. – Я чиню компьютеры. Уже давно. Для торговцев с рынка Макола, там, где ты работаешь. У них постоянно всё ломается. Коджо меня научил. Это… это для работы. Чтобы не ходить каждый раз в кафе.

Он говорил ровно, глядя ей в глаза. Легенда была конкретной, привязанной к рынку Макола, к её миру. Ама замерла, её взгляд стал неподвижным, словно она пыталась прочесть невидимые символы на его лице. Или, может, искала повод поверить ему. Не нашла. Она медленно кивнула, словно заставляя себя согласиться. Тень сомнения, впрочем, так и не сошла с её лица.

– Смотри у меня, Кваме. Если я узнаю, что ты врёшь… – её голос упал до тихого, почти беззвучного шёпота, который был страшнее крика.

– Не вру, мама. Ешь, суп остынет.

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

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

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

Машина была готова к получению души.

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

– Купил-таки, – констатировал Коджо. – Хорошая машина. Dell. Надёжные.

Кваме провёл рукой по матовой крышке ноутбука. – Да.

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

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

– Мне нужна гибкость системы, Коджо, – ответил Кваме. – Открытый код. Больше контроля. Windows слишком уязвима.

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

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

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

Четыре часа утра. Установка была завершена. Ноутбук перезагрузился. На экране появился чистый, фиолетово-оранжевый рабочий стол с изображением леопарда. Тишина.

Кваме открыл терминал. На экране появился чёрный прямоугольник с мигающим курсором. Точка отсчёта. Он положил пальцы на клавиатуру. Они не дрожали. Он медленно, с наслаждением от каждого щелчка клавиши, набрал команду:

whoami

И нажал Enter.

Щелчок клавиши в гулкой тишине кафе показался оглушительно громким. Фиолетово-оранжевое свечение экрана отражалось в его зрачках. Он чувствовал тепло, исходящее от клавиатуры, и слышал едва различимый шелест кулера – дыхание его собственной, личной системы. Он вспомнил тот самый первый день в этом же кафе. Себя, двенадцатилетнего, просившего разрешения прикоснуться к системе, и себя нынешнего, который только что создал свою собственную.

Система ответила мгновенно. Ниже его команды появилась новая строка. Одно слово.

kwame

Он был один. Он был дома. Он больше не зависел ни от кого. У него был свой ключ от своего мира.

Глава 5

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

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

Он похудел. Скулы заострились. Под глазами залегли тёмные, почти фиолетовые тени – стигматы добровольного монашества. Отношения с матерью превратились в холодную войну из тяжёлых вздохов и неодобрительных взглядов на экран. За ужином – молчание. Однажды он уронил ложку. Звук удара о плитку вырвал его из раздумий. Мать вздрогнула, но ничего не сказала. Он даже не заметил, как ослабли пальцы. Он научился быть призраком в собственном доме – бесшумной тенью, существующей в параллельной реальности, отделённой от него частотой гула старого вентилятора Dell. Он формировал свою среду. Платой за каждую строчку кода была частица мира, который он покидал.

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

Кваме сидел в своём обычном углу, вжавшись в хлипкое пластиковое кресло. Его личная вселенная была подключена к розетке толстым кабелем, похожим на пуповину. Аккумулятор давно сдох – неизбежная плата за низкую цену на рынке Circle. Эта зависимость была унизительным напоминанием, что его автономия – иллюзия. Но теперь это была оплаченная зависимость. Каждый ватт был куплен часами чистки чужих, заляпанных жиром клавиатур.

На экране его Dell не было ни картинок, ни видео. Только чёрный прямоугольник терминала, по которому бежали ровные, гипнотизирующие строки.

–-2010-05-22 01:17:14– http://docs․python․org/2/tutorial/

Resolving docs․python․org… 151․101․108․223

Connecting to docs․python․org|151․101․108․223|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 46788 (46K) [text/html]

Saving to: ‘docs․python․org/2/tutorial/index․html’

Он не читал. Он скачивал. Методично, страница за страницей, он выкачивал всю документацию по языку Python. Команда wget, дополненная ключами для рекурсивной загрузки, работала как цифровой пылесос, втягивающий знания с далёкого сервера и аккуратно складирующий их на его жёстком диске. Для него эти бегущие строки были увлекательнее любого голливудского боевика. Он не потреблял – он строил. По крупицам собирал свою личную Александрийскую библиотеку в мире, где свет мог погаснуть в любую секунду.

Эта работа требовала терпения, граничащего с медитацией. Yahoo Boys, сидевшие через два стола от него, жили в мире мгновенного результата. Их работа состояла из коротких, яростных всплесков: отправка письма, звонок, получение денег. Их цифровой след был эфемерным. Они потребляли трафик, сжигали его на музыку и видео, превращая биты в дешёвый дофамин. Из-за их плеч доносился модный трек Sarkodie. Они качали головами в такт, тратя драгоценные мегабайты на то, что завтра забудут.

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

Он снова перевёл взгляд на экран. Скачивание раздела было завершено. Он ввёл следующую команду. Щелчок клавиши Enter был тихим, деловитым. Он запустил следующую итерацию, неумолимо наращивая объём своего офлайн-архива.

Дверь в каморку Коджо скрипнула. Владелец кафе вышел, щурясь от света мониторов. Его тень накрыла спину Кваме. Коджо наклонился, и в воздухе запахло дешёвым чистящим средством. На его лице отразилось недоумение. Перед ним был не сайт, не игра. Чёрный экран с рядами белых, непонятных букв, которые казались ему зловещими письменами. Он инстинктивно чувствовал, что это не имеет ничего общего с мошенничеством Yahoo Boys. Это было что-то другого порядка. Что-то, что могло привлечь совсем другие проблемы.

– Кваме, – начал он, но осёкся.

Шея Кваме оставалась неподвижной, взгляд – прикованным к терминалу.

– Почти закончил, Коджо.

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

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

Пять утра. Кафе погрузилось в сонную тишину. Скачивание последнего, самого объёмного архива – коллекции PDF-книг по сетевым протоколам – подходило к концу. Девяносто семь процентов. Девяносто восемь.

Кваме наклонился к экрану. В этот момент он был богом своей маленькой цифровой вселенной. Он чувствовал абсолютный, пьянящий контроль. Каждый байт, пересекающий океан и оседающий на его жёстком диске, был актом его воли. Он побеждал хаос. Девяносто девять процентов.

Внезапный, сухой щелчок, прозвучавший в тишине как выстрел.

И всё погасло.

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

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

Нет. Нет-нет-нет. Не сейчас. Блядь.

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

В темноте послышался сдавленный выдох.

– Asem b3n koraa ni! – прошипел он в пустоту на тви. – Ёбаный свет. Блядь.

Он со всей силы ударил ладонью по столу. Глухой удар утонул в тишине. Это была его первая настоящая неудача. Первое поражение в войне, которую он считал почти выигранной.

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

А ноутбук Кваме оставался мёртвым.

Он тупо смотрел на чёрный, безжизненный прямоугольник экрана. На нём отражалась тусклая лампа с потолка. Истина была простой и убийственной. Он не купил свободу. Он купил новую, более дорогую клетку. Он всё так же зависел от розетки. А розетка зависела от городской сети, от дизеля в баке генератора, от настроения Коджо. «Я просто добавил в уравнение ещё несколько уязвимых переменных», – пронеслось в голове. Его враг – не отсутствие денег и не старый аккумулятор. Его враг – сама реальность, с её ёбаными законами энтропии. И эта работа только начиналась.

Одиннадцать вечера. В доме было тихо. Сегодня им повезло – электричество не отключали. Кваме прислонился спиной к прохладной стене своей крошечной комнаты, экран ноутбука отбрасывал на его лицо холодные блики.

Он занимался практикой. Слева на экране была открыта сохранённая страница с главой «Первые шаги в программировании». Справа – текстовый редактор с несколькими строчками кода.

#!/usr/bin/pyton

print "Hello, World!"

Он сохранил файл, открыл терминал и ввёл команду для запуска. Терминал ответил короткой, непонятной строкой: bad interpreter: No such file or directory.

На его лице не отразилось ничего, кроме предельной концентрации. Ошибка была не врагом, а загадкой. Система сообщала, что не может найти «интерпретатор». Но ведь он был на месте, он сам проверял версию. Он снова и снова всматривался в свой код, затем в пример на веб-странице. Идентичны. Он перепечатал строчку заново. Тот же результат. Он проверил версию Python в системе. 2․6. Синтаксис был верным. Тогда в чём дело?

Он вернулся к своему коду и начал проверять его посимвольно. И тут он увидел. В первой строке, в так называемом шебанге, который указывал системе, какой интерпретатор использовать, он допустил опечатку. Вместо /usr/bin/python он написал /usr/bin/pyton. Одна пропущенная буква. Одна ничтожная человеческая ошибка делала всю конструкцию бессмысленной.

По телу разлилось тёплое, тихое удовлетворение. Он нашёл уязвимость. Исправил её. Сохранил. Запустил снова.

И в чёрной пустоте терминала, словно первое слово новорождённого бога, появилась белая надпись:

Hello, World!

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

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

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

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

– Что ты там делаешь, Кваме? – голос Кофи был уставшим.

– Учусь, – не отрываясь от экрана, ответил Кваме.

– Всё время учишься. В школе мало учат?

– В школе учат не тому.

Кофи развернулся к нему всем корпусом.

– А чему надо учить?

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

Отец хмыкнул.

– Дорога… На дороге всё понятно. Есть машина, бензин, пассажиры. Деньги. Всё можно потрогать. А это… – он кивнул на ноутбук, – …это просто коробка со светом. Что в ней можно потрогать?

– Информацию.

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

– Чего боится? – в голосе Кваме прозвучало раздражение.

– Того же, чего и я. Эти Yahoo Boys… Я вижу их каждый день. Ездят на хороших машинах, носят дорогую одежду. И тратят деньги так, будто завтра не наступит. Для многих из них оно и не наступает. Это грязные деньги, Кваме. Они пачкают руки. И душу.

– Я не Yahoo Boy, – отрезал Кваме.

– Ты всё время с этой машиной. Они – тоже. Ты сидишь в интернете ночами. Они – тоже. Для твоей матери, для соседей… для меня… разницы нет. Мы не видим, что у тебя внутри этой коробки. Мы видим только то, что снаружи.

Отец боится. Аналогия с Yahoo Boys – его единственный способ понять. Цель – успокоить, прекратить допрос. Нужно дать ему простое объяснение. Без деталей. Механик. Да, механик для программ. Это он должен понять.

– Папа, я учусь программировать. Это как… как быть механиком, только не для моторов, а для компьютерных программ. Люди будут платить мне за то, чтобы я чинил их программы или создавал новые. Это настоящая работа. Чистая.

Кофи долго смотрел на него. В его глазах отражалась внутренняя борьба: уставший разум цеплялся за надежду, которую не могло объяснить сердце. Тяжелая рука, лежавшая на колене, непроизвольно сжалась в кулак.

– Программировать… Я не знаю таких слов. Я знаю слово «работа». Работа – это когда ты устаёшь. Когда у тебя болит спина. Когда ты видишь результат своих рук. А ты просто сидишь и нажимаешь на кнопки.

Разговор зашёл в тупик.

– Знаешь, в чём разница между моей дорогой и твоей? – вдруг сказал Кофи, поднимаясь. Он положил тяжёлую руку на плечо сына. – На дороге ты видишь опасность своими глазами. Видишь пьяного водителя, видишь грабителя с ножом. А в этой твоей машине… опасность невидима. И это страшнее всего.

Он сжал плечо сына и пошёл в дом.

Кваме смотрел ему вслед. Слова отца вызвали не страх, а острое чувство одиночества. Он впервые так ясно понял, что в своей собственной семье, в своём собственном доме, он был иностранцем, говорящим на непонятном языке. И переводчика для этого языка не существовало.

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

Жаркий полдень августа 2011 года. Сотня выпускников толкалась у доски объявлений, на которой вывесили списки с результатами экзаменов WASSCE. Воздух вибрировал от смеси надежды и страха. Этот листок бумаги для многих был приговором или билетом в новую жизнь.

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

Толпа на мгновение расступилась. Его зрение, натренированное выискиванием ошибок в коде, мгновенно выхватило знакомую фамилию: ODUAFO, KWAME ABEKU.

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

«Вот оно. Протокол выполнен. Статус: успех. Следующий этап…»

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

Напротив фамилии стояли символы, похожие на статусы в системном логе. A1. A1. B2. Проверка пройдена. Доступ к следующему уровню – Университет Ганы – разрешён.

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

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

По пыльной дороге домой он не думал о том, как сообщит родителям. Его мозг уже работал над следующей задачей. Университет Ганы. Какой у них интернет-канал? Есть ли публичный Wi-Fi? Какая архитектура у их локальной сети? Какие уязвимости могут быть в системе регистрации студентов?

Университет был для него не храмом знаний. Это была новая, большая, сложная и, без сомнения, дырявая система. И он шёл туда не учиться. Он шёл туда работать.

Глава 6

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

Войдя в аудиторию, Кваме попал внутрь умирающей машины. Воздух здесь был настолько плотным, что казался структурой, сотканной из перегретого металла и токсичных испарений – химический выдох медленно разлагающейся электроники. Под высоким потолком облупившаяся краска обнажила серый бетон. Единственный вентилятор под ним с протестующим скрипом изношенного подшипника перемешивал эту тяжёлую взвесь, не принося прохлады, лишь перемалывая тот же спёртый воздух. Солнечный свет резал пространство на косые полосы сквозь мутные стёкла, и в этих столбах света застыл неподвижный рой пыли. Кваме сел в самом дальнем углу, спиной к стене – старая привычка, выработанная в кафе Коджо. Кожа под рубашкой горела от пота, а жёсткая поверхность скамьи ощущалась как прямое давление на позвоночник. Этот физический дискомфорт был идеальным аккомпанементом к тому, что происходило у доски.

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

– …таким образом, концентратор, или хаб, просто повторяет полученный пакет на все свои порты, создавая коллизионный домен, – бубнил доктор Аду, водя указкой по выцветшей схеме на доске.

Кваме опустил взгляд на экран своего старенького Dell. Там был открыт PDF-файл – подробная техническая документация по протоколу BGP. Он мысленно прокручивал принципы маршрутизации между автономными системами, сложность векторов путей, механизмы предотвращения петель. А здесь, в этом храме знаний, ему рассказывали про хабы. Разрыв между реальностью на его экране и реальностью в этой аудитории составлял целую технологическую эру.

Раздражения не было. Мысли сами собой выстроились в холодную, аналитическую схему, как у патологоанатома перед вскрытием. Доктор Аду был не человеком, а неэффективным узлом в системе образования. Узел получал на вход устаревшие пакеты данных из пожёлтевшего учебника и ретранслировал их дальше, не проверяя ни актуальности, ни целостности. Студенты, прилежно строчившие в тетрадях, были конечными устройствами, послушно принимающими повреждённый трафик. Вся лекция была не актом передачи знаний, а ритуалом. Бессмысленным карго-культом.

Он скользнул взглядом по лицам однокурсников. Большинство выглядели такими же измученными жарой и скукой. Но их усталость была другой. Они зевали, перешёптывались, дремали. Они были здесь, в этом моменте. А он – нет. Его разум уже давно блуждал по цифровым магистралям, выискивая уязвимости в протоколах. Он не чувствовал одиночества, лишь абсолютную операционную автономию. Он переключил восприятие на режим холодной фильтрации – окружающий мир стал для него низкоприоритетным процессом, свёрнутым в фон.

Кваме перевёл взгляд в окно. Там, на выжженной солнцем траве под тенью дерева ним, сидела группа студентов. Они смеялись, жестикулировали, передавали друг другу бутылку с водой. Их взаимодействие подчинялось своим, непонятным ему протоколам. Он смотрел на них, как на несинхронизированный трафик, проходящий по незащищённому каналу. Он мог бы перехватить их паттерны, научиться имитировать их. Но ему не хотелось. Это был канал, к которому он не хотел подключаться. Он здесь чужой. Его цели, его война, его вселенная лежали далеко за пределами этой аудитории. Университет был лишь точкой доступа. И он уже нашёл в нём уязвимость – его полную бесполезность. А значит, пора было искать другой путь.

Ночной компьютерный класс был единственным местом в кампусе, где Кваме чувствовал себя дома. Комната вибрировала низким, успокаивающим резонансом. Воздух был стерильным и холодным, очищенный фильтрами кондиционера и пронизанный запахом озона и горячего кремния. Мерный гул вентиляторов, низкочастотный рокот серверов и сухой, отчётливый щелчок десятков клавиатур сливались в единую, гармоничную симфонию. Это была музыка работающей системы.

Он сидел за своим обычным столом, подключив верный Dell к розетке. Мёртвая батарея давно превратила ноутбук в стационарный компьютер, но это была малая цена за собственный, полностью контролируемый мир внутри университетской сети. Он методично сканировал открытые порты на внешних серверах одного из нигерийских банков – просто для составления карты их инфраструктуры. Его способ поддерживать форму.

Монотонное сканирование портов прервал раздражённый шёпот.

– Chale, опять не пускает. Этот прокси – просто кусок дерьма, – голос принадлежал Аде, студенту четвёртого курса, местной легенде. Рядом с ним сидел его постоянный спутник, Йао, суетливо тыкавший пальцами в клавиатуру.

– Я пробовал через SSH-туннель. Он режет соединение через тридцать секунд. Фильтрует по сигнатурам, сволочь, – прошипел Йао.

Кваме на мгновение оторвался от сканера. Университетский прокси-сервер был настроен параноидально, блокируя доступ ко всему, что не входило в «белый список». Для Кваме это было не проблемой, а переменной в уравнении, которую он решил в первую же неделю. Для остальных – стеной.

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

Он не собирался вмешиваться. Но потом Аде с досадой ударил ладонью по столу. Этот резкий звук был как segmentation fault в отлаженной программе – грубое, недопустимое вторжение. И этого Кваме стерпеть не мог.

Он молча открыл терминал. Его пальцы пробежались по клавиатуре с сухим, быстрым стуком. Это был его собственный инструмент – скрипт на Python, который заворачивал SSH-трафик в полноценный TLS-туннель. Для университетского файрвола с DPI это выглядело как обычный HTTPS-запрос, неотличимый от обращения к защищённому сайту. Он потратил меньше минуты, чтобы вписать в конфигурационный файл IP-адрес своего дешёвого VPS и сменить порт на стандартный 443. Сохранил файл.

python proxytun․py

На экране выскочило несколько строк, а затем зелёная надпись: [+] Connection established. Local proxy running on 127․0․0․1:8080.

Молча развернув ноутбук экраном к парням, он провел пальцем по матовому дисплею, акцентируя зеленую строку, а затем кивнул в сторону их компьютера.

Парни замерли. Йао непонимающе уставился на экран. Но Аде смотрел не на код. Он смотрел на Кваме. В его взгляде не было благодарности. Было профессиональное признание. Аде оценил не результат. Он распознал маркер другого уровня мышления: наличие готового, отлаженного, кастомного инструмента. Уровня, на котором проблемы не решают, а готовятся к ним заранее.

– Пропишите в браузере прокси 127․0․0․1, порт 8080, – тихо сказал Кваме.

Йао торопливо вбил настройки. Страница GitHub, до этого выдававшая ошибку, мгновенно загрузилась. Он издал сдавленный восторженный возглас. Аде продолжал смотреть на Кваме. Его спина напряглась, а ладони впились в столешницу, словно он взвешивал каждый последующий шаг. Он медленно подошёл и протянул руку.

– Аде, – сказал он. Голос низкий и спокойный.

– Кваме, – ответил он. Рукопожатие было крепким, сухим. Не дружеским – деловым. Как фиксация транзакции.

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

– Ты наш человек, – сказал Аде. Это прозвучало не как приглашение, а как диагноз. Как будто сканер закончил работу и вывел на экран результат: Совместимость: 100%. Протокол: свой. – Приходи завтра. В это же время. Поговорим.

С этими словами он вернулся на своё место. Гармония была восстановлена. Но для Кваме что-то необратимо изменилось. Кто-то наконец заговорил с ним на его единственном родном языке. Языке чистого функционала.

Через несколько недель Аде жестом подозвал Кваме, и они вышли из гудящего прохладой зала в душный, слабо освещённый коридор. Было далеко за полночь. Пахло старой краской и чем-то неуловимо кислым, а воздух в коридоре казался вязким и тёплым, словно неверно скомпилированный код. Йао остался внутри, наблюдая через стеклянную вставку в двери.

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

Кваме молчал. Это была калибровка. Аде нащупывал его мировоззрение, проверял, совпадают ли их протоколы.

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

– Неэффективность, – коротко поправил Кваме. Это был его пароль. Его ответный сигнал.

Аде на мгновение замолчал, а потом повернул голову с выверенной неторопливостью и впился взглядом в Кваме. На его губах появилась тень ухмылки. Сигнал был принят.

– Именно. Неэффективность, – повторил он. – А неэффективность нужно исправлять.

Он сделал паузу.

– Есть несколько парней с инженерного. Толковые ребята. Но у них проблемы с одним преподом по термодинамике. Старый мудак. Им грозит отчисление.

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

– Нужно немного подправить их оценки в базе данных, – Аде произнёс это будничным тоном. – Не ради денег, – он снова сделал паузу. – По крайней-мере, не напрямую. У одного из этих парней отец – большой человек в GNPC, национальной нефтяной корпорации. Нам нужен будет его «отеческий совет» в будущем. Когда мы запустим свой проект. Так что это…

– Инвестиция в сеть контактов, – закончил за него Кваме.

Ухмылка Аде стала шире.

– Ты быстро учишься. Это способ показать этим динозаврам, что их система – дырявое ведро. Способ восстановить справедливость.

Снова этот пароль. «Справедливость», – подумал Кваме. – Удобная идеологическая обёртка для прагматичного действия. Он проверяет, нужен ли мне такой самообман. Не нужен.

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

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

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

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