Код перелома. Сатоши
Глава 1
Глава 1. Сорок сатоши
Дмитрий Соколов проснулся в шесть утра от того, что сосед сверху снова ронял что-то тяжёлое. Наверное, гирю. Или, может быть, свой бесконечный ремонт, который длился уже третий месяц и, судя по звукам, не приближался к завершению. Дмитрий лежал в темноте, глядя в потолок, по которому медленно расползалось серое пятно от протечки, и считал минуты до будильника. Вставать не хотелось. На работу не хотелось. Жить, если честно, тоже не особенно хотелось — по крайней мере, в этом конкретном формате: съёмная однушка в Марьино, зарплата тридцать восемь тысяч, должность «специалист второй категории» в департаменте урегулирования убытков страховой компании «Росстрах», где он провёл последние четыре года, разбирая заявления о разбитых бамперах и залитых соседями кухнях.
Будильник зазвонил ровно в семь. Дмитрий протянул руку, выключил его и ещё минуту лежал неподвижно. Потом встал. Привычка. Вставать, даже когда не хочется. Ходить на работу, даже когда тошнит от неё. Улыбаться клиентам, даже когда они орут в трубку. Так было всегда. Так было правильно. Так жили все, кого он знал. Нормальные люди. Обычные люди. Те, кто не ждёт чуда, потому что чудес не бывает.
Он поставил чайник, залез в душ, побрился, надел рубашку, которая требовала глажки, но времени на глажку не было, поэтому он просто заправил её в брюки и надел свитер. В зеркале отразился худощавый парень двадцати девяти лет, с усталым лицом, тёмными кругами под глазами и лёгкой небритостью, которую он не успел убрать. Ничего особенного. Таких, как он, — миллионы. Едут в метро, читают новости в телефоне, пьют кофе из картонных стаканчиков, мечтают о чём-то, но ничего не делают. Потому что делать — страшно. А мечтать — безопасно.
Кофе он пил, стоя у окна. За окном моросил дождь, дворники уже сгребали мокрую листву, а бабушки у подъезда обсуждали чью-то невестку, которая, по их мнению, вела себя неподобающе. Дмитрий смотрел на них и думал, что через сорок лет, если ничего не изменится, он будет вот таким же стариком на лавочке, обсуждающим чужие жизни, потому что своя уже давно закончилась. Он допил кофе, взял рюкзак и вышел из дома.
В метро было, как всегда, душно и тесно. Он стоял, держась за поручень, и смотрел в телефон. Не в новости — в график. Биткоин вырос до шестидесяти восьми тысяч долларов. Дмитрий держал несколько монет, купленных ещё в двадцать первом году, когда всё летело вверх, и потом, в двадцать втором, когда всё рухнуло. Он не паниковал тогда. Не продавал. Просто ждал. И теперь, глядя на зелёные цифры, чувствовал тихое, почти незнакомое удовлетворение. Он был не совсем обычным клерком. Где-то глубоко, за слоем серой рутины, жил человек, который верил в технологии. В децентрализацию. В свободу. В то, что однажды мир изменится, и он будет частью этого изменения.
Но пока он был частью другого мира. Мира бумаг, печатей, регламентов и клиентов, которые всегда правы, даже когда неправы. В офисе пахло кофе, принтерной краской и чьим-то новым парфюмом. За соседним столом Наташа из отдела кадров обсуждала с Олей из бухгалтерии новую диету, которая обещала минус десять килограммов за две недели. Дмитрий сел за свой компьютер, включил его и уставился на экран, где медленно загружалась корпоративная программа с синей заставкой. Ещё один день. Ещё восемь часов. Ещё сто входящих заявок.
Он открыл первую: заявление от женщины, у которой залили квартиру. Сосед сверху забыл закрыть кран. Вода лилась двенадцать часов, пока никто не пришёл. Женщина писала, что у неё испорчены обои, мебель, техника, документы. И что она осталась одна с двумя детьми, и что сосед отказывается платить, и что она не знает, что делать. Дмитрий вздохнул и начал составлять стандартный ответ. Он знал, что через три дня придёт отказ. Формально всё было правильно: договор не покрывал такие случаи. Но человеку от этого легче не станет.
Обед он провёл, листая форумы. Не новости, не соцсети — старые криптофорумы, где обсуждали технические детали, баги, уязвимости, историю блокчейна. Он любил эту атмосферу: люди, которые говорят на странном языке, понимают друг друга с полуслова, спорят о хешах и подписях, о меркле и UTXO. Там он чувствовал себя умнее, чем был. Там он был не клерком Соколовым, а Дмитрием — человеком, который разбирается в технологиях. Там у него было имя. Там у него была жизнь.
Именно в тот день он наткнулся на старый тред. Ему было уже десять лет. Кто-то писал о том, что в ранних версиях биткоин-клиента была странная особенность: некоторые транзакции, помеченные определённым образом, могли быть приняты сетью, даже если их подписи не соответствовали стандартным требованиям. Тогда это считалось ошибкой, и её быстро исправили. Но один из участников треда, пользователь под ником SatoshiFan2009, утверждал, что исправление было неполным. Что остались адреса, созданные до определённого блока, которые всё ещё можно было «распечатать» с помощью специально сконструированной транзакции. Что в этом нет практического смысла, потому что таких адресов мало, и все они давно пусты. Тред затух. Никто не стал проверять. Никому не было интересно.
Дмитрий закрыл вкладку и вернулся к работе. Но мысль застряла где-то в глубине сознания, как заноза. Вечером, дома, он снова открыл тот тред. Перечитал. Потом открыл спецификацию протокола. Потом — архив старых версий клиента. И начал копать.
Это было не для денег. Ему просто стало интересно. Он любил такие задачи: сложные, запутанные, требующие терпения. Они давали ему ощущение смысла, которого не было в его обычной жизни. Он сидел до трёх ночи, копаясь в коде, читая описания транзакций, изучая структуру подписей. И где-то к четвёртому часу утра понял: SatoshiFan2009 был прав. Баг действительно существовал. И он был реален.
Он откинулся на стуле, глядя на экран, и почувствовал, как сердце бьётся чаще. В теории он мог создать транзакцию, которая позволила бы ему распоряжаться средствами с любого адреса, созданного до определённого блока — если тот адрес никогда не подписывал транзакций в новом формате. Таких адресов было несколько тысяч. Большинство из них были пусты. Но некоторые — нет. Некоторые хранили монеты, которые не двигались с две тысячи десятого года. Монеты, о которых их владельцы, возможно, давно забыли. Или потеряли ключи. Или умерли.
Дмитрий сидел неподвижно, глядя на мерцающий курсор. Он думал о том, что это — преступление. Что если он сделает это, то станет вором. Что его найдут, посадят, и вся его жизнь, какая бы она ни была, закончится. Он думал о матери в Орле, которой он каждый месяц отправлял пять тысяч и которая гордилась тем, что сын «работает в Москве, в серьёзной компании». Он думал о Наташе из отдела кадров, которая вчера улыбнулась ему в лифте, и он весь день потом не мог сосредоточиться. Он думал о том, что если он этого не сделает, то через десять лет будет всё там же. В той же однушке. С тем же окладом. С тем же ощущением, что жизнь проходит мимо.
Он отодвинул чашку с остывшим чаем и начал писать код. Простой скрипт, который должен был создать транзакцию. Он взял самый маленький адрес, который смог найти: кошелёк, на котором лежало ровно сорок сатоши. Сорок сатоши. Меньше копейки. Он выбрал его специально: если что-то пойдёт не так, потеря будет минимальной. Если всё получится, он сможет проверить гипотезу и остановиться.
Он запустил скрипт. Транзакция сформировалась. Он скопировал её, вставил в тестовую сеть — не в основную, а в тестовую, чтобы не наделать глупостей. Сеть приняла её. Через несколько секунд пришло подтверждение: транзакция валидна. Он снова запустил скрипт, теперь уже для основной сети. Руки дрожали. Он нажал «отправить».
Транзакция ушла в мемпул. Дмитрий смотрел на экран, не дыша. Прошла минута. Две. Пять. Транзакция попала в блок. Сорок сатоши с чужого кошелька, который не двигался двенадцать лет, перешли на его адрес. Это было невозможно. Этого не должно было быть. Но это произошло.
Дмитрий откинулся на спинку стула и посмотрел в окно. За окном светало. Где-то внизу проехала машина, шурша шинами по мокрому асфальту. Он сидел неподвижно, чувствуя, как внутри него борются два человека. Один — осторожный клерк, который знает, что правила существуют не просто так. Другой — кто-то новый, кого он раньше не знал, кто-то, кто смотрел на мир и думал: а что, если?
Он вернулся к списку адресов. Теперь он знал: баг работает. И он мог делать это снова. И снова. И снова.
Он нашёл ещё один адрес. На этот раз не сорок сатоши, а пятьдесят биткоинов. Пятьдесят монет, которые лежали без движения с две тысячи десятого года. Если он возьмёт их, это будет стоить три с половиной миллиона долларов. Хватит, чтобы расплатиться с долгами матери, купить квартиру, уйти с работы. Хватит, чтобы изменить всё.
Он посмотрел на часы. Пять утра. Через два часа нужно вставать на работу. Он закрыл ноутбук. Не сегодня. Сегодня он просто проверил гипотезу. Сегодня он ничего не крал. Он просто убедился, что баг существует. Завтра он подумает, что с этим делать. Завтра он решит, хочет ли он стать вором. Или кем-то другим.
Он лёг в постель, но сон не шёл. Он лежал в темноте, глядя в потолок, на то же серое пятно, и думал о том, что мир, в котором он жил, только что изменился. Он один знал то, чего не знал больше никто. И это знание было тяжелее, чем он мог себе представить.
Он не заметил, как заснул. И не услышал, как в четыре часа ночи его ноутбук, оставленный на столе, тихо мигнул индикатором. Кто-то — или что-то — попыталось установить с ним соединение. Соединение было заблокировано, но факт оставался фактом. Система зафиксировала активность. И где-то далеко, в другой стране, в комнате, заставленной серверами, человек в наушниках оторвался от монитора и нахмурился.
— У нас гости, — тихо сказал он в микрофон. — Кто-то активировал старый протокол. Нужно сообщить наверх.
Он записал IP-адрес. Он не знал, кто этот человек. Но он знал, что теперь за ним будут следить. Внимательно. Постоянно. Потому что то, что он сделал, не осталось незамеченным. Первый шаг был сделан. И обратной дороги не было.
Глава 2
Глава 2. Сжигатель
Первые сто тысяч долларов Дмитрий потратил на глупости. Он купил новый ноутбук, дорогой телефон, несколько пар кроссовок, о которых мечтал с юности, и оплатил матери в Орле ремонт в её квартире — просто перевёл деньги на карту и сказал, что выиграл в лотерею. Мать не поверила, но деньги взяла. Ремонт сделала. Обои выбрала персиковые, которые Дмитрий терпеть не мог, но спорить не стал.
А потом он остановился. Сел и подумал: если он будет просто тратить, его найдут. Система, в которую он влез, не прощает жадности. Он знал это из истории криптовалют: все, кто пытался быстро обналичить украденное, рано или поздно попадались. Значит, нужно было действовать иначе. Умнее. Так, чтобы никто не понял, что это он.
Он провёл неделю, изучая, как работают блокчейн-аналитические компании. Chainalysis, CipherTrace, Crystal — эти ребята умели отслеживать транзакции по всему миру. Они строили графы связей, выявляли кластеры адресов, вычисляли владельцев через биржи. Дмитрий понял: если он просто переведёт деньги с чужого кошелька на свой, а потом на биржу — его вычислят за считанные дни. Нужно было создать такую цепочку, которая запутает следы настолько, что даже лучшие аналитики сдадутся.
Он начал с того, что создал сотни промежуточных кошельков. Каждый из них был одноразовым: получил монеты, разбил на части, отправил дальше по десяти разным адресам и умер. Никаких повторяющихся паттернов. Никаких круглых сумм. Он использовал микроплатежи, смешивал их с обычными транзакциями, добавлял случайные задержки. Его скрипт работал круглосуточно, автоматически перегоняя средства по лабиринту, который сам же и создавал.
Но главное было не в анонимности. Главное было в том, чтобы найти применение деньгам. Настоящее. Такое, от которого система не сможет просто отмахнуться.
Идея пришла случайно. Он читал статью о Виталике Бутерине — создателе Ethereum, который однажды сжёг токены на миллиарды долларов, чтобы стабилизировать курс. Это был жест, который потряс криптомир: один человек взял и уничтожил состояние, которое мог бы оставить себе. Дмитрий подумал: а что, если пойти дальше? Что, если использовать старые кошельки не для того, чтобы обогатиться, а для того, чтобы играть с рынком? Не в своих интересах — в интересах тех, кого система забыла.
Он выбрал первую цель. Небольшая криптовалюта, зарегистрированная на бирже в Сингапуре. Токен назывался «Аква», позиционировал себя как «зелёная валюта» для финансирования экологических проектов. На деле — обычная пирамида: основатели собрали деньги с инвесторов, пообещали золотые горы и медленно выводили средства. Дмитрий проверил их кошельки, нашёл адреса, на которых лежали миллионы токенов, и с помощью бага получил к ним доступ.
Он не стал продавать их. Он сжёг. Просто отправил на адрес, который невозможно восстановить, и уничтожил. Токены «Аква» исчезли из обращения. Их стало меньше. Цена выросла. Инвесторы, которые держали монеты, вдруг обнаружили, что их активы подорожали на сорок процентов. А основатели, которые планировали обвалить рынок и выкупить всё за бесценок, остались ни с чем.
Через неделю он повторил операцию с другой валютой. Потом с третьей. Он выбирал только те проекты, которые, по его мнению, были мошенническими или несправедливыми. Он читал whitepapers, изучал команды, проверял, куда идут деньги. И если видел обман — сжигал токены. Иногда он переводил часть средств на благотворительные адреса: детские дома, фонды помощи бездомным, приюты для животных. Он не афишировал это. Просто делал.
Слухи поползли по криптосообществу. На форумах начали появляться треды: «Кто-то жжёт токены», «Аква рухнула, основатели в панике», «Неизвестный благотворитель раздаёт миллионы». Никто не знал, кто это. Никто не мог отследить. Дмитрий сидел в своей однушке в Марьино, пил чай и смотрел, как мир медленно сходит с ума от его действий.
Но он понимал: долго так продолжаться не может. Рано или поздно его найдут. И тогда начнётся охота.
Он начал готовиться заранее. Первое: он перестал пользоваться своими обычными устройствами. Купил несколько одноразовых ноутбуков, настроил их так, чтобы каждый использовался только один раз. Второе: он создал несколько легенд. В разных странах появились люди, которые, по документам, были владельцами криптовалютных кошельков. На самом деле это были подставные лица — студенты, фрилансеры, пенсионеры, которым он платил за использование их данных. Третье: он разработал систему перемещения. Каждый раз, когда ему нужно было покинуть квартиру, он использовал разные маршруты, разные виды транспорта, разные легенды.
Однажды вечером он заметил, что за домом наблюдают. Чёрный автомобиль, припаркованный у соседнего подъезда. Двое мужчин в штатском, которые слишком долго стояли у киоска с газетами. Дмитрий понял: его вычислили. Не до конца — иначе уже пришли бы. Но вышли на след. Нужно было уходить.
Он собрал рюкзак: ноутбук, несколько флешек, наличные, документы на другое имя. Он не взял ничего лишнего. Не взял даже фотографию матери. Потому что знал: если его поймают, лишние вещи могут стать уликами. Он вызвал такси через приложение, которое никогда раньше не использовал, и уехал в другой район. Оттуда — на электричке в Подмосковье. Потом — на автобусе в Тверь. Потом — на поезде в Санкт-Петербург.
В Питере он снял квартиру на неделю, через агентство, которое не задавало лишних вопросов. Оплатил наличными. Сказал, что приехал в командировку. Никто не проверял. Он сидел в этой квартире, смотрел на Неву из окна и думал о том, что теперь он — беглец. Человек без дома. Человек без имени. Человек, которого ищут все.
Он снова открыл ноутбук и продолжил работу. Сжёг ещё несколько миллионов токенов. Перевёл деньги в благотворительные фонды. А потом написал письмо. Анонимное. На форум, где когда-то нашёл тот самый тред. «Тот, кто жжёт токены, — написал он. — Это я. Я делаю это не для денег. Я делаю это, потому что система гнилая. И я собираюсь её починить. Следите за новостями».
Он нажал «отправить» и закрыл ноутбук. Где-то далеко, в Женеве, Маркус Бреннер читал утреннюю сводку, в которой говорилось о странной активности в блокчейне. Он отложил бумаги и вызвал Кремера.
— Посмотри вот это. Старые кошельки оживают. Токены сжигаются. Кто-то играет с рынком.
— Я уже видел, — ответил Кремер. — Это началось три недели назад. Сначала единичные случаи, теперь — системно. Кто-то получил доступ к старым адресам и использует их.
— Кто?
— Не знаю. Но он не прячется. Он оставляет сообщения. Хочет, чтобы его заметили.
Маркус задумался. Он вспомнил слова Вебера, сказанные на суде: «Это только середина игры». Тогда он не понял, что Архитектор имел в виду. Теперь, кажется, начал понимать. Игра действительно продолжалась. Только на этот раз противник был не один. И, возможно, не враг.
— Найдите его, — сказал он. — Но не для того, чтобы сдать. Для того, чтобы понять, кто он и чего хочет. Если он действительно хочет починить систему, мы должны ему помочь. Если он просто вор — мы его остановим. Но сначала — найти.
Кремер кивнул и вернулся к мониторам. А Маркус остался стоять у окна, глядя на Женевское озеро, и думал о том, что где-то в России, в съёмной квартире, сидит человек, который держит в руках ключ к мировой финансовой системе. И от того, что этот человек сделает дальше, зависит будущее всех.
Он не знал, что в этот самый момент Дмитрий Соколов смотрел на ту же луну, что и он, и думал о том же. Только с другой стороны.
Глава 3
Глава 3. Охота начинается
Санкт-Петербург, третья неделя побега. Дмитрий Соколов сидел в съёмной квартире на Петроградской стороне, пил растворимый кофе из кружки с отбитой ручкой и смотрел, как за окном моросит дождь. Он давно перестал считать дни. Время теперь измерялось не датами, а переводами: сколько кошельков он вскрыл, сколько токенов сжёг, сколько сообщений оставил на форумах. За три недели он уничтожил токены семнадцати криптовалютных проектов. Общая стоимость сожжённого — около четырёхсот миллионов долларов. Из них сто двадцать он перевёл на благотворительность: детским домам в Твери и Новосибирске, фонду помощи бездомным в Казани, приютам для животных в Подмосковье. Деньги уходили через цепочку кошельков такой длины, что отследить их было невозможно. Он проверял.
За ним охотились. Он это чувствовал. Не по конкретным признакам — по атмосфере. Слишком тихо стало на форумах, где он раньше сидел. Слишком много новых аккаунтов, задающих слишком правильные вопросы. Слишком часто в новостях мелькали сообщения о «подозрительной активности в блокчейне». Кто-то очень хотел понять, кто жжёт токены. И этот кто-то приближался.
Дмитрий разработал систему, которую сам называл «мышиные норы». У него было пять легенд: Дмитрий Волков, менеджер по логистике из Екатеринбурга; Андрей Смирнов, фрилансер-программист; Сергей Кузнецов, курьер; Павел Морозов, студент; и Алексей Крылов, водитель. На каждое имя были документы, банковские карты, сим-карты, аккаунты в соцсетях с историей. Он платил реальным людям за использование их данных — студентам, пенсионерам, гастарбайтерам. Никто из них не знал, зачем это нужно. Никто не задавал вопросов. Деньги решали всё.
Квартиру он менял каждые пять дней. Снимал через разных риелторов, платил наличными, всегда с разными легендами. Иногда говорил, что приехал в командировку. Иногда — что разводится и ищет временное жильё. Иногда — что пишет книгу и ему нужен покой. Никто не проверял. В России, если у тебя есть наличные и ты не вызываешь подозрений, ты можешь жить где угодно.
Но сегодня он чувствовал, что пора уходить. Утром, выходя за хлебом, он заметил во дворе серый «Форд» с московскими номерами. Машина стояла у детской площадки, мотор работал, в салоне сидели двое. Они не смотрели на его подъезд. Они смотрели в телефоны. Но Дмитрий знал этот тип: они умели смотреть в телефоны и при этом видеть всё вокруг. Профессионалы.
Он вернулся в квартиру, собрал рюкзак. В этот раз он взял больше вещей: тёплую куртку, зарядки, пауэрбанк, аптечку. Но главное — он взял деньги. Не крипту, не карты. Наличные. Пятьдесят тысяч рублей, которые лежали в тайнике под половицей. Он понял, что в бегах наличные надёжнее всего. Их нельзя отследить, нельзя заблокировать, нельзя украсть через сеть.
Он вышел через чёрный ход — дверь на лестничную клетку, которую обычно держали запертой, но Дмитрий заранее позаботился о том, чтобы замок не работал. Он спустился в подвал, прошёл через подземный переход соседнего дома и вышел на параллельную улицу. Оттуда — на маршрутке до Витебского вокзала. Потом — на электричке до Пушкина. Потом — пешком до посёлка, где снял комнату через женщину, которая сдавала жильё без документов.
Здесь, в тихом пригороде, среди сосен и дач, он чувствовал себя в относительной безопасности. Но и здесь он не задержится. Он знал: если за ним идут профессионалы, они найдут его в любом городе. Единственный способ выжить — не оставаться на месте. Быть водой. Быть ветром. Не иметь корней.
Вечером он открыл ноутбук и вышел в сеть. Он больше не пользовался домашним Wi-Fi — только мобильный интернет с сим-карты, зарегистрированной на подставное лицо. Он проверил форум. Тред, который он создал, разросся до сотен сообщений. Люди обсуждали, кто он такой, что он делает, зачем. Были версии: что он — хакер-одиночка, что он — группа анонимов, что он — искусственный интеллект, что он — сам Сатоши. Дмитрий усмехнулся. Никто не догадался, что он — обычный клерк из страховой компании.
Он написал новое сообщение. «Те, кто ищет меня, — вы не найдёте. Те, кто боится меня, — вы правы. Те, кто надеется на меня, — я работаю. Следующая цель: токен „Гелиос“. Проект-пирамида, собравший полтора миллиарда с инвесторов. Основатели вывели деньги в офшоры и готовятся исчезнуть. Я не позволю. Завтра в полдень их токены сгорят. Следите за новостями».
Он нажал «отправить» и закрыл ноутбук. Где-то далеко, в Москве, в здании на Лубянке, аналитик ФСБ читал это сообщение и хмурился. Где-то в Лондоне, в офисе частной криптоаналитической компании, специалист по блокчейну докладывал руководству: «Он действует по одной и той же схеме. Мы можем его вычислить. Нужно только время». Где-то в Женеве Маркус Бреннер читал сводку и понимал: этот человек не просто вор. Он — игрок. И он бросает вызов всем сразу.
Дмитрий не знал, что за ним следят не только люди. Он не знал, что каждый его шаг, каждая транзакция, каждое сообщение фиксируются системой, о существовании которой он не подозревал. Системой, созданной человеком, который предусмотрел всё. Сатоши Накамото.
В маленькой квартире в Токио, в районе Сибуя, человек, которого никто не знал в лицо, сидел за столом и смотрел на экран. Он был немолод — седые волосы, очки в тонкой оправе, морщины у глаз. Он выглядел как университетский профессор на пенсии или как отставной инженер. Никто на улице не обернулся бы ему вслед. Никто не узнал бы в нём создателя биткоина.
Он смотрел на карту мира, на которой пульсировали точки — узлы сети. Одна из точек, в России, мигала ярче остальных. Это был Дмитрий. Сатоши знал о нём всё: где он находится, что он делает, как он прячется. Он знал о нём больше, чем ФСБ, больше, чем Бреннер, больше, чем кто-либо. Потому что Сатоши контролировал сеть. Не как владелец — как садовник. Он посадил дерево и следил, чтобы оно росло правильно.
Баг, который нашёл Дмитрий, был не ошибкой. Это была страховка. Сатоши оставил его намеренно. Он знал, что рано или поздно найдётся человек, который попытается взломать систему. И он хотел, чтобы у этого человека был шанс. Не для того, чтобы обогатиться. Для того, чтобы понять: власть над деньгами — не цель. Власть над деньгами — испытание.
Он нажал несколько клавиш, и на экране появилась схема. Дмитрий использовал старый протокол для доступа к кошелькам. Но каждый его шаг оставлял следы в сети — невидимые для аналитиков, но видимые для Сатоши. Он мог бы остановить его в любой момент. Мог бы закрыть баг, заблокировать доступ, стереть следы. Но он не торопился. Он хотел посмотреть, что будет дальше. Хотел понять, чего стоит этот парень из Москвы.
Он откинулся в кресле и закрыл глаза. В памяти всплыли старые времена: криптофорум, первые сообщения, первые блоки, первые споры о том, что такое биткоин — валюта или протокол. Тогда всё было просто. Тогда он верил, что технология изменит мир к лучшему. Теперь он знал: технология ничего не меняет. Меняют люди. И то, как они используют то, что им дали.
Дмитрий Соколов использовал биткоин не так, как предполагалось. Он не копил, не инвестировал, не строил. Он разрушал. Сжигал токены, раздавал деньги, играл с рынком. Он вёл себя как ребёнок, который нашёл спички. Но где-то в этом ребёнке жил и взрослый. Человек, который знал, что делает. Сатоши чувствовал это. И это ему нравилось.
Он снова открыл глаза и посмотрел на экран. Дмитрий готовился к следующей операции. Через двенадцать часов токены «Гелиоса» должны были сгореть. Сатоши мог бы предотвратить это. Но не стал. Пусть действует. Пусть учится. Потому что уроки, которые нельзя предотвратить, — самые ценные.
Он выключил компьютер и подошёл к окну. За окном шумел Токио — неон, машины, миллионы людей, каждый со своей жизнью. Где-то среди них был и он — человек без имени, без лица, без прошлого. Человек, который создал систему, изменившую мир, и ушёл в тень. Он знал: рано или поздно ему придётся вернуться. Но не сейчас. Сейчас он будет смотреть. И ждать.
В Москве, в здании ФСБ на Лубянке, собралось экстренное совещание. На большом экране отображалась карта блокчейна с подсвеченными транзакциями. Полковник Сергей Валентинович Громов, начальник отдела по борьбе с киберпреступностью, стоял у экрана и говорил:
— Мы имеем дело с неизвестным субъектом, который получил доступ к старым кошелькам биткоина и использует их для манипуляций рынком. За три недели он сжёг токены семнадцати проектов и перевёл более ста миллионов долларов на благотворительность. Он действует из России. Мы полагаем, что он находится в Москве или Санкт-Петербурге.
— Кто он? — спросил генерал, сидевший во главе стола.
— Мы не знаем. Он использует одноразовые кошельки, подставные документы, разные легенды. Его действия выглядят как хаотичные, но на самом деле они системны. Он хорошо подготовлен. Возможно, бывший сотрудник спецслужб или программист высокого уровня.
— Что нам нужно, чтобы его найти?
— Время. И доступ к данным бирж. Он выводит деньги через криптобиржи в Сингапуре, Дубае и на Кайманах. Если мы получим данные о транзакциях, сможем вычислить его IP-адрес.
— А если не получим?
Полковник помолчал.
— Тогда нам придётся использовать другие методы. Например, найти людей, которые ему помогают. Он не может действовать в одиночку. У него есть подставные лица, риелторы, возможно, кто-то из близких. Мы уже проверяем его мать в Орле.
Генерал кивнул.
— Работайте. И держите меня в курсе. Это дело слишком громкое, чтобы пустить его на самотёк.
Совещание закончилось. Полковник вернулся в свой кабинет и набрал номер.
— Это Громов. У нас новый фигурант. Кодовое имя — «Сжигатель». Да, тот самый. Мне нужны все данные по нему. Все, что есть. И ещё: свяжитесь с нашими коллегами в Женеве. Кажется, они тоже им заинтересовались.
Он положил трубку и посмотрел в окно. За окном темнело. Где-то в этом городе, среди миллионов людей, прятался человек, который бросил вызов всей системе. И полковник Громов собирался его найти. Чего бы это ни стоило.
А Дмитрий в это время сидел в комнате в Пушкине, пил чай и смотрел на старую фотографию матери, которую всё-таки взял с собой в последний момент. Он думал о том, что если его найдут, то найдут и её. Он не мог этого допустить. Значит, нужно было стать ещё быстрее. Ещё незаметнее. Ещё хитрее.
Он открыл ноутбук и начал готовить следующую операцию. Через двенадцать часов токены «Гелиоса» должны были сгореть. А ещё через день он собирался сделать то, чего не делал никто до него: перевести биткоины с кошелька, который, по всем данным, принадлежал самому Сатоши Накамото. Не украсть. Не потратить. Просто отправить их на благотворительность. Чтобы весь мир увидел: даже создатель биткоина не может остаться в стороне.
Он не знал, что за этим наблюдает сам Сатоши. И что Сатоши уже принял решение. Скоро он вмешается. Скоро всё изменится. Но пока — игра продолжалась.
Глава 4
Глава 4. Гелиос
Полдень следующего дня Дмитрий встретил в маленькой кофейне на окраине Пушкина. Он сидел у окна, пил американо и смотрел, как за стеклом прохожие спешат по своим делам. Обычные люди. Обычная жизнь. Никто из них не знал, что через несколько минут он собирается сжечь токены на полтора миллиарда долларов. Дмитрий допил кофе и вышел на улицу. Моросил дождь, и он поднял капюшон куртки, пряча лицо.
Он не пользовался ноутбуком в общественных местах — слишком рискованно. Вместо этого он арендовал через подставное лицо виртуальный сервер в Нидерландах, настроил на нём автоматический скрипт и запустил его дистанционно через цепочку прокси-серверов. Скрипт должен был сработать ровно в полдень по московскому времени, и Дмитрий хотел быть в этот момент в безопасном месте, вдали от любых камер и свидетелей. Он вернулся в съёмную комнату, запер дверь и сел за стол, глядя на старый ноутбук, который использовал только для этой операции.
Скрипт сработал в двенадцать ноль-ноль. Дмитрий смотрел на экран, где в реальном времени отображались транзакции. Токены «Гелиоса» — криптовалюты, созданной группой мошенников, которые обещали инвесторам «революцию в солнечной энергетике», а на деле выводили деньги в офшоры — начали исчезать. Миллионы монет одна за другой уходили на адрес, который невозможно было восстановить. Дмитрий не продавал их. Не переводил на биржи. Он уничтожал. Сжигал. Стирал из сети.
Через двадцать минут всё было кончено. Около восьмидесяти процентов токенов «Гелиоса» были уничтожены. Курс оставшихся взлетел вверх — как и планировал Дмитрий. Инвесторы, которые держали монеты, вдруг обнаружили, что их активы подорожали втрое. А основатели проекта, которые собирались обвалить рынок и выкупить токены за бесценок, остались ни с чем. Их кошельки были пусты.
Дмитрий закрыл ноутбук и откинулся на спинку стула. Он сделал это. Восемнадцатая операция. Он встал, подошёл к окну и посмотрел на улицу. Дождь усилился, превратившись в ливень. Где-то вдалеке прогремел гром. Дмитрий улыбнулся. Он чувствовал странное, почти забытое ощущение: удовлетворение. Не от денег — от справедливости. От того, что он мог что-то изменить.
Но он знал: долго так продолжаться не может. Каждая операция привлекала всё больше внимания. ФСБ, Интерпол, частные компании — все искали его. И чем дольше он играл в эту игру, тем выше были ставки. Он снова открыл ноутбук и вышел на форум. Тред, который он создал, разросся до тысяч сообщений. Люди обсуждали «Гелиос», строили теории, спорили. Кто-то писал, что «Сжигатель» — герой. Кто-то — что он преступник. Кто-то — что его нужно остановить, пока он не обрушил всю криптоиндустрию.
Дмитрий написал короткое сообщение: «Гелиос мёртв. Основатели остались без денег. Инвесторы получили шанс вернуть своё. Следующая цель — крупнее. Ждите». Он отправил сообщение и закрыл форум. Затем он сделал то, что планировал уже несколько дней. Он открыл список старых кошельков и нашёл тот, который искал. Кошелёк, который, по всем данным, принадлежал самому Сатоши Накамото. На нём лежало около миллиона биткоинов — монеты, которые не двигались с две тысячи десятого года. Состояние, оцениваемое в десятки миллиардов долларов. Дмитрий не собирался их красть. Он собирался сделать то, что никому не приходило в голову: отправить часть этих монет на благотворительность. От имени Сатоши. Чтобы весь мир увидел: создатель биткоина не остался в стороне.
Он начал готовить транзакцию. Это было сложнее, чем всё, что он делал раньше. Кошелёк Сатоши был защищён лучше остальных: множественные подписи, временные блокировки, скрытые протоколы. Дмитрий потратил несколько часов, изучая структуру, прежде чем понял: баг работает и здесь. Медленнее, осторожнее, но работает. Он сформировал транзакцию, проверил её в тестовой сети, убедился, что всё верно. Затем перевёл её в основную сеть.
Транзакция ушла. Дмитрий смотрел на экран, затаив дыхание. Минута. Две. Пять. Транзакция попала в блок. С кошелька Сатоши Накамото ушло пятьдесят тысяч биткоинов. Они были направлены на адрес благотворительного фонда, который помогал детям-сиротам в Африке. Дмитрий выбрал этот фонд специально: он был прозрачным, эффективным и не связанным ни с какими политическими структурами. Он хотел, чтобы деньги пошли туда, где они действительно нужны.
Он откинулся на стуле и выдохнул. Он сделал это. Он отправил деньги от имени Сатоши. Теперь весь криптомир сойдёт с ума. И, возможно, сам Сатоши обратит на него внимание.
В Токио, в маленькой квартире в Сибуе, человек в очках смотрел на экран и улыбался. Он видел транзакцию. Видел, как его собственные монеты уходят на благотворительность. Видел, как Дмитрий Соколов пытается играть в его игру. И он не злился. Он восхищался. Этот парень из Москвы оказался умнее, чем он думал. Он не просто крал деньги. Он бросал вызов. Бросал вызов ему, Сатоши, создателю системы. И это было интересно.
Сатоши нажал несколько клавиш, и на экране появилась схема. Дмитрий использовал старый протокол для доступа к кошелькам. Он делал это виртуозно, но всё же оставлял следы. Сатоши мог бы закрыть доступ в любой момент. Мог бы активировать защиту, которую он встроил в сеть на случай именно таких ситуаций. Но он не стал. Он хотел посмотреть, что будет дальше. Хотел понять, чего стоит этот парень. И, может быть, хотел найти преемника.
Он снова посмотрел на экран. Транзакция от его имени вызвала панику на биржах. Курс биткоина резко вырос, потом упал, потом снова вырос. Аналитики писали, что «Сатоши вернулся». Журналисты звонили в редакции, требуя комментариев. Криптосообщество бурлило. Никто не понимал, что происходит. Только Сатоши знал: это не он. Это кто-то другой. Кто-то, кто получил доступ к его кошельку. И этот кто-то только что сделал то, что сам Сатоши не решался сделать пятнадцать лет.
Он выключил компьютер и подошёл к окну. За окном шумел Токио. Где-то там, в России, сидел парень, который не боялся играть с огнём. Сатоши знал: скоро они встретятся. Не лично — через сеть. Но встретятся. Потому что игра, которую начал Дмитрий, не могла закончиться просто так.
В Женеве Маркус Бреннер смотрел на экран и не мог поверить своим глазам. Транзакция с кошелька Сатоши. Пятьдесят тысяч биткоинов. На благотворительность. Это было невозможно. Кошелёк Сатоши считался неприкосновенным. Никто не мог получить к нему доступ. И вдруг — транзакция. Он вызвал Кремера.
— Ты это видишь?
— Вижу, — ответил Кремер, не отрываясь от монитора. — Это не Сатоши. Это кто-то другой. Кто-то, кто получил доступ к его кошельку.
— Кто?
— Тот же, кто жжёт токены. «Сжигатель». Он использовал тот же метод. Тот же баг. Он добрался до самого Сатоши.
Маркус задумался. Это меняло всё. Если «Сжигатель» может получить доступ к кошельку Сатоши, он может получить доступ к любому кошельку в сети. Он может обрушить биткоин. Может уничтожить криптовалюты как класс. Может вызвать глобальный финансовый кризис, который будет хуже всего, что они пережили с «Цитаделью» и «Фениксом».
— Мы должны его найти, — сказал он. — Немедленно. Пока он не сделал что-то, что уже нельзя будет исправить.
— Я работаю, — ответил Кремер. — Но он хорошо прячется. Он использует одноразовые кошельки, прокси-серверы, подставные лица. Его почти невозможно отследить.
— Почти. Значит, шанс есть.
Кремер кивнул и вернулся к работе. Маркус остался стоять у экрана, глядя на транзакцию. Пятьдесят тысяч биткоинов. Десятки миллиардов долларов. Отправлены на благотворительность. Кем-то, кто не боялся играть с системой. Кем-то, кто, возможно, был не врагом, а союзником.
Он вспомнил слова Вебера: «Это только середина игры». Тогда он не понял. Теперь начал понимать. Игра действительно продолжалась. И, возможно, на этот раз у них был шанс сыграть в неё вместе с тем, кто её начал.
В Москве полковник Громов читал сводку и хмурился. Транзакция с кошелька Сатоши. Это было уже слишком. Это выходило за рамки обычного киберпреступления. Это была угроза национальной безопасности. Он набрал номер.
— Это Громов. Срочно. Мне нужно, чтобы вы связались с Интерполом и с нашими коллегами в Азии. Мы имеем дело с чем-то большим, чем просто хакер. Это системная угроза. Нужно действовать быстро.
Он положил трубку и посмотрел в окно. За окном темнело. Где-то в этом городе, среди миллионов людей, прятался человек, который бросил вызов всей системе. И полковник Громов собирался его найти. Чего бы это ни стоило.
А Дмитрий в это время сидел в комнате в Пушкине, пил чай и смотрел на экран. Транзакция прошла. Деньги ушли. Он сделал то, что никто до него не делал. Он отправил деньги от имени Сатоши. Он бросил вызов. И теперь он ждал ответа. Не от ФСБ. Не от Бреннера. От Сатоши. Он знал: создатель биткоина наблюдает за ним. И рано или поздно он даст о себе знать.
Он допил чай и лёг спать. Завтра будет новый день. Новые цели. Новые вызовы. И, возможно, новые враги. Но он был готов. Он больше не был клерком из страховой компании. Он был «Сжигателем». И он только начинал.
Спасибо за чтение
Вернуться к книге
