Басы в клубе «Неон» не просто звучали — они вибрировали в поджелудочной железе. Стены, обшитые зеркальным пластиком, отражали сполохи ультрафиолета, превращая толпу в единое, извивающееся неоновое чудовище. Пахло дорогим парфюмом, ледяным просекко и тем специфическим дымом из вейпов, который оставляет во рту привкус синтетической земляники.
Алёна стояла в самом углу вип-зоны второго этажа, сжимая в руках швабру с насадкой из микрофибры. На ней был безразмерный серый комбинезон с выцветшим логотипом клининговой компании и синие резиновые перчатки. Алёне было двадцать два года, но здесь, среди сверкающих страз и безупречных виниров, она чувствовала себя древним, пыльным артефактом.
— Слышь, чучело, отойди, кадр портишь! — Кристина, двадцатилетняя дочь строительного магната, брезгливо сморщила идеально сделанный носик. На ней было платье из жидкого серебра, которое держалось на честном слове и чеках её папы.
Кристина позировала для сторис. Её парень, Марк — наследник сети премиальных автосалонов, лениво держал айфон последней модели. Марк выглядел так, будто только что сошёл с обложки журнала о яхтенном спорте: небрежно наброшенный на плечи кашемировый свитер (в душном-то клубе!), безупречная укладка «волосок к волоску» и взгляд человека, который купил этот мир в рассрочку и уже выплатил последний взнос.
— Извините, — тихо сказала Алёна, делая шаг назад. Ей нужно было просто протереть пролитый кем-то коктейль «Голубая лагуна», пока липкая лужа не разнеслась по всему вип-залу.
— Нет, ты посмотри на неё, Маркуш! — залилась смехом Кристина, повиснув на плече своего парня. — Она реально думает, что если надела эти перчатки, то стала частью инсталляции?
Марк ухмыльнулся, не отрывая взгляда от экрана телефона. К их столику подошли ещё двое — Рома и Диана, завсегдатаи закрытых вечеринок, чьи ментальные горизонты ограничивались картой скидок в бутиках Столешникова.
— О, клининг-контроль прибыл, — хохотнул Рома, картинно роняя на пол половинку дольки лайма из своего бокала. — Слышь, эй, подбери. Чистота — залог здоровья.
Алёна молча наклонилась. Она привыкла. За три месяца работы в «Неоне» она научилась отключать эмпатию и гордость на входе в раздевалку. Ей нужны были деньги. Очень нужны. Её младший брат ждал операцию на колене после неудачного падения в спортивной секции, а квоту задерживали уже полгода. Каждый день промедления уменьшал шансы парня на нормальную ходьбу.
— Ладно, хорош, — лениво протянул Марк, делая глоток виски. Он посмотрел на Алёну сверху вниз, как смотрят на неисправный автомат по продаже газировки. — Твое место на коврике у входа, милочка. Там и трись. Не порти эстетику приличным людям.
Кристина оглушительно расхохоталась, ткнув в Алёну пальцем с длинным, усыпанным стразами ногтем.
— Реально! На коврик её! Слышишь, Золушка? Твое место на коврике! — крикнула она, перекрывая очередной взрыв басов.
Алёна замерла на секунду. В её груди что-то горячо и остро кольнуло. Она посмотрела в глаза Марка — пустые, сытые, абсолютно уверенные в своей безнаказанности. Затем перевела взгляд на Кристину.
«Ладно», — подумала Алёна, медленно выпрямляясь. — «На коврике, так на коврике».
Она не стала отвечать. Просто развернулась и ушла в сторону служебного лифта, унося с собой ведро и швабру. Золотая молодёжь за её спиной уже забыла о её существовании, переключившись на обсуждение новой Теслы Ромы.
Глава 2: Обратная сторона зеркала
Чего Марк, Кристина и вся эта сияющая шелуха не знали об Алёне, так это того, что три месяца назад она окончила механико-математический факультет МГУ с красным дипломом. А ещё они не знали, что её дипломная работа была посвящена уязвимостям в блокчейн-протоколах и алгоритмам шифрования криптографических кошельков.
В клининг она пошла не от скудоумия, а от безысходности: крупную IT-компанию, куда её брали на стажировку с хорошим окладом, внезапно заморозили из-за санкций, а деньги брату были нужны «вчера». Работа ночной уборщицы в элитном клубе давала два плюса: живые деньги дважды в неделю и... свободные дни для фриланса.
Но сегодня что-то сломалось. То ли этот лайм, брошенный под ноги, то ли визг Кристины.
В подсобке Алёна сняла резиновые перчатки. Её пальцы, тонкие и длинные, пальцы пианистки или первоклассного кодера, слегка дрожали. Она достала из шкафчика свой старый, видавший виды ноутбук ThinkPad с наклейкой «Debian».
Она открыла консоль.
Клуб «Неон» принадлежал некоему Эдуарду криминального толка, но вся финансовая логистика, включая приватные расчёты для VIP-клиентов, шла через закрытую локальную сеть и кастомное приложение. Марк и его друзья, будучи «своими», пользовались внутренними токенами клуба для оплаты элитного алкоголя и... других, менее легальных развлечений, которые доставлялись прямо в вип-комнаты.
Алёна знала это, потому что дважды находила в вип-зонах забытые флешки-ключи и один раз — распечатку с QR-кодами авторизации, которую Марк небрежно бросил на стол, а Кристина залила шампанским. Алёна тогда просто выкинула бумажку, предварительно... чисто автоматически, сфотографировав её на телефон. Математическая память — проклятие или дар.
— Коврик, значит, — прошептала Алёна, и её губы тронула холодная, совсем не свойственная уборщице ухмылка.
Её пальцы взлетели над клавиатурой. Скорость её набора была бешеной. Она подключилась к внутренней Wi-Fi сети клуба через скрытый VPN-туннель. Защита местной сетки была построена на оборудовании Cisco пятилетней давности — для обычного обывателя крепость, для выпускницы мехмата — картонная коробка.
Через сорок минут у неё был полный доступ к локальному серверу «Неона». Но её целью был не клуб. Её целью был Марк.
Марк пользовался клубным приложением, привязанным к его основному криптокошельку — он любил хвастаться, что держит все свои «карманные» деньги в Биткоинах и Эфириуме, чтобы «предки не палили транзакции». На его несчастье, приложение клуба имело уязвимость нулевого дня в модуле интеграции Web3. Алёна нашла её ещё месяц назад ради спортивного интереса, но не трогала. До сегодняшнего дня.
Используя сессионный токен Марка, который всё еще был активен (ведь парень прямо сейчас оплачивал очередной сет на втором этаже), Алёна вошла в его профиль.
На балансе его кошелька светилось $142,000. Деньги, которые его отец выделил ему на покупку нового спортивного байка и «на расходы».
— Извини, Маркуша, — тихо сказала Алёна. — Но моему брату нужнее. А тебе полезно походить пешком.
Она инициировала транзакцию. Но она не была глупой, чтобы перевести деньги на свою карту. Она прогнала сумму через три миксера — специальные сервисы, которые дробят транзакции на тысячи мелких частей, перемешивают их с миллионами других переводов и выводят на чистые, сгенерированные секунду назад адреса. Найти концы после такого микширования в блокчейне практически невозможно.
$40,000 ушли на транзитный кошелёк, откуда утром они должны были упасть на счёт немецкой клиники, которая согласилась принять её брата на операцию вне очереди.
Оставшиеся $102,000 Алёна распределила по-другому. Она отправила их на адреса трёх благотворительных фондов: помощь детям-сиротам, приют для бездомных животных и фонд поддержки молодых учёных.
На кошельке Марка остался ровно 1 доллар. И 23 цента.
Но Алёна на этом не остановилась. Ей нужно было завершить шоу.
Глава 3: Падение титанов
Через час Алёна снова вышла в зал. На ней снова был серый комбез, в руках — верная швабра. Она шла медленно, аккуратно обходя подвыпивших гостей.
В VIP-зоне Марк как раз подзывал сомелье.
— Короче, нам ещё две бутылки «Кристалла», — вальяжно скомандовал он, протягивая телефон для сканирования QR-кода оплаты. — И принесите те ананасы в карамели, Кристина хочет.
Сомелье, молодой парень в строгом костюме, почтительно наклонился, поднося терминал. Марк приложил экран.
Раздался резкий, неприятный писк. Терминал загорелся красным.
— Ой, секунду, — нахмурился Марк. — Сбой сети, наверное.
Он попробовал ещё раз. Снова красный свет и надпись: «Insufficient funds» (Недостаточно средств).
— Что за бред? — Марк нервно усмехнулся. Кристина прекратила кривляться перед камерой телефона и посмотрела на него. — У вас терминал сдох. У меня там больше сотки зелени.
— Извините, Марк Эдуардович, давайте я попробую другой терминал, — засуетился сомелье.
Через минуту прибыл администратор с другим аппаратом. Результат тот же. В этот момент на телефон Марка пришло пуш-уведомление от криптокошелька. Он открыл его, и его лицо мгновенно стало цвета мокрого асфальта.
Баланс: $1.23.
И ниже — история транзакций. Тысячи мелких списаний, уходящих в никуда, и три крупных перевода с пометками: «Благотворительный взнос».
— Что... что это за нах..? — прошептал Марк. Его голос сорвался на фальцет. — Где мои деньги?! Кристина, у меня взломали кошелёк! Всё пропало!
— В смысле пропало?! — взвизгнула Кристина. — Марк, ты шутишь? А как мы за стол платить будем? Тут счёт уже на триста тысяч рублей!
В этот момент музыка в клубе внезапно затихает. Огромный светодиодный экран за спиной диджея, где обычно крутились абстрактные неоновые фракталы, мигнул и погас.
Толпа недовольно загудела.
Через секунду на экране появилось изображение. Это была текстовая трансляция, выведенная огромными белыми буквами на чёрном фоне.
УВАЖАЕМЫЕ ГОСТИ КЛУБА «НЕОН».
ОСОБЕННО ТЕ, КТО СЧИТАЕТ, ЧТО ДЕНЬГИ РОДИТЕЛЕЙ ДЕЛАЮТ ИХ ВЫСШЕЙ РАСОЙ.
В клубе повисла мёртвая тишина. Люди уставились на экран.
СЕГОДНЯ ОДИН ИЗ ВАШИХ «ПРИНЦЕВ», МАРК В., УЗНАЛ, ЧТО ТАКОЕ НАСТОЯЩИЙ КЛИНИНГ. ЕГО СЧЁТ ОЧИЩЕН ОТ МУСОРА. $102,000 УШЛИ НА КОРМЕЖКУ БЕЗДОМНЫХ ПСОВ И ЛЕЧЕНИЕ ДЕТЕЙ. ЕЩЁ ЧАСТЬ — НА ОПЕРАЦИЮ ЧЕЛОВЕКУ, КОТОРЫЙ СЛИШКОМ МНОГО РАБОТАЕТ, ПОКА ВЫ ПЬЕТЕ СИНТЕТИКУ.
Толпа взорвалась шёпотом. Все головы повернулись в сторону VIP-зоны, где стоял бледный, трясущийся Марк.
И ПОМНИТЕ:
ЕСЛИ ВЫ НЕ УВАЖАЕТЕ ТЕХ, КТО ЗА ВАМИ УБИРАЕТ... ВАШЕ МЕСТО НА КОВРИКЕ У ВХОДА.
С ЛЮБОВЬЮ, ЗОЛУШКА.
Экран снова мигнул и вернулся к обычной неоновой заставке. Музыка бахнула с новой силой, но атмосфера в клубе изменилась безвозвратно.
Кристина смотрела на Марка с диким ужасом и отвращением.
— Ты... ты нищий? — выдохнула она. — Нам сейчас охрана ноги переломает за неоплаченный счёт! Рома, одолжи денег!
Но Рома уже попятился назад, делая вид, что увлечён перепиской в телефоне. Связываться со взбешённой администрацией клуба, чью систему безопасности только что публично унизили, никто не хотел.
Марк опустился на диван, обхватив голову руками. Весь его лоск, весь кашемировый апломб испарился. Он выглядел маленьким, напуганным мальчиком, у которого отобрали любимую игрушку.
Алёна стояла у перил второго этажа, наблюдая за этой картиной. Она держала в руках швабру и слегка улыбалась.
К ней подбежал старший смены, брызжа слюной от нервного тика:
— Алёна! Что ты стоишь?! Там внизу у входа кто-то шампанское разбил! Бегом туда! На коврик, живо!
— Знаете что, Валерий Петрович? — Алёна аккуратно прислонила швабру к зеркальной стене. — Я, пожалуй, увольняюсь.
— Что?! Да я тебе расчёт не отдам!
— Оставьте себе, — спокойно ответила она, снимая серую куртку комбинезона. Под ней оказалась простая белая футболка.
Она шла к выходу через беснующуюся толпу. Люди танцевали, пили, смеялись, не подозревая, что мимо них проходит человек, который только что переписал правила этой ночи.
На выходе из клуба Алёна остановилась у большого, пушистого грязезащитного коврика. Она аккуратно вытерла об него подошвы своих старых кроссовок.
На её телефон пришло уведомление от банка: «Входящий перевод. Назначение: Аванс за контракт по кибербезопасности». Это пришёл ответ от международной компании, куда она превентивно отправила своё резюме и детальный разбор уязвимостей одной известной криптобиржи (в качестве тестового задания). Её заметили. Ей предложили удалённую работу с окладом, о котором Марк мог только просить у папы.
Алёна улыбнулась ночному прохладному воздуху, вдохнула полной грудью, свободной от запаха клубной химии, и пошла в сторону метро.
Её место точно было не здесь. И уж точно не на коврике.