Алекс познакомился с Виктором, когда учился в девятом классе. К тому времени основным источником дохода у него стали лабораторные работы по информатике для студентов.
Одним из его постоянных клиентов вот уже полгода был сосед по дому, Тоха. Сосед этот учился не где-нибудь, а в МГИМО, хотя как он туда попал, для Алекса было загадкой. Родители Тохи, не были ни кооператорами, ни просто обеспеченными людьми, у отца хоть и был автомобиль, но это была десятилетняя, потрепанная "шестерка". Сам Тоха, хоть и учился сносно, но большим интеллектуалом не был, поэтому его аттестат украшали, в основном, четверки.
Поскольку Тоха был на три года старше Алекса, во дворе у них были разные компании. Поэтому удивительным выглядело то, что денег за лабораторные с Тохи Алекс "по-дружески" не брал. Причиной такой невиданной щедрости была Светка, сестра Тохи.
Светка была сверстницей Харламова, и лет до шести они под присмотром мам играли в одной песочнице. Потом девчоночьи куклы и войнушки мальчишек… И поскольку учились они в разных школах, со временем Алекс со Светкой общаться перестал, если не считать общением дежурное "Привет", когда случайно встречались на улице.
Все сильно изменилось летом после восьмого класса.
Их девятиэтажка в Кузьминках стола рядом с парком в окружении невысоких хрущевок. Поскольку в доме был всего один подъезд, то в районе ее называли "свечкой". Харламовы жили на последнем, девятом этаже, а Алексу еще и повезло иметь в своей комнате балкон, выходящий в сторону парка. Вид с балкона был, по меркам Москвы, потрясающий — зелень парка и никаких домов. Класса со второго каждое летнее утро, когда во дворе еще не с кем было играть, Алексей проводил на балконе с книгами. Но это было так до тех пор, пока в жизнь Алекса не вошли домашние задания у мамы в банке и Макс с кабинетом системного администратора. Программы, точки доступа, сетевые протоколы вытеснили героев Жюль Верна, Шерлока Холмса и других персонажей бумажных страниц, оставив их в приятных воспоминаниях детства.
Поэтому в то лето, после восьмого класса, Алексу было давно не до книг. По ночам он сидел в Интернете — только ночью диал-ап работал более-менее сносно, да и знакомые хакеры, с которыми в то время общался Алекс, находились в основном в Штатах, а у них как раз был день. Родители не слишком возражали против такой ночной жизни сына. Как-никак каникулы, а сын не в подворотне пьет пиво или, чего хуже, курит траву. После развала Союза, а с ним комсомола с пионерией, наркотики успели стать проблемой для многих их знакомых, у которых дети были сверстниками Алекса.
Поэтому утренние часы на балконе с книгой в плетеном кресле отошли в прошлое, теперь Алекс просыпался к обеду, когда на балконе, который находился на южном торце дома, было настоящее пекло. Саму комнату от палящего солнца спасал козырек.
В то утро утренний сон прервал звонок матери, она просила проверить, не забыла ли, уходя из дома, выключить утюг. Проверив утюг и успокоив мать, Алекс посмотрел на часы. Полдесятого утра, спать охота после чата до пяти утра, но снова уснуть вряд ли удастся. С чашкой кофе вышел на балкон полюбоваться пейзажем и окончательно проснуться.
И тут его ожидал сюрприз. Этажом ниже по диагонали на раскладушке посреди балкона загорала соседка Света. Балконы в их доме были не спаренными (между ними было метра два) так что нижний по диагонали балкон соседей отлично просматривался. Светка лежала на животе накрывшись панамкой и, наверное, дремала, восполняя недосыпание после вечерних дискотек. Главное, что ввело в ступор Алекса, что кроме панамы на Светке больше одежды не было, и только рядом с раскладушкой валялся персиковый домашний халат.
Судя по шоколадному цвету ягодниц и отсутствию белых пятен от плавок, такой способ приема солнечных ванн Светка практиковала регулярно. Видать балкон подходил для таких солнечных процедур идеально: никаких домов напротив. Балкон рядом со Светкиным принадлежал семье Архиповых. Они работали учителями в соседней с домом школе, и летом, на два месяца каникул, каждый год уезжали к родственникам в Бердянск, к морю. Перед отъездом они заходили к соседям по лестничной площадке, к соседям сверху и снизу, чтобы предупредить об отъезде и просили проследить за их квартирой "если что".
Поэтому потенциальным единственным зрителем солнечных ванн в стиле ню мог стать только Алекс, ведь соседям сверху заглядывать на Светкин балкон было затруднительно.
Наличие Интернета позволяло Алексу наслаждаться видом раздетых девушек всего мира, причем в менее целомудренных видах, чем тот в котором в этот момент предстала Светка. Нельзя сказать, что Алекс активно посещал такие сайты, хотя определенный интерес, как и у любого подростка, они вызывали. Но чтобы вот так, в пяти метрах абсолютно голая сверстница… Такого Алекс не мог припомнить, если не считать фотографии с отдыха в Крыму, где он, трехлетний, копошиться в песке с такой же по возрасту юной нудисткой.
В общем, такое неожиданное эротическое зрелище заставило замереть чашку на полпути ко рту, сердце начало бешено колотится в груди, а кровь прилила к лицу. Он аккуратно поставил чашку на пол и стал рассматривать соседку. Ее тело казалось Алексу просто идеальным, стройные ноги плавно переходили в упругую попку, выше которой тонкая талия демонстрировала, что хозяйка не злоупотребляет мучным и сладким.
Так он простоял минут двадцать, пока рядом с раскладушкой не запищал дешевый китайский будильник. Светка вздрогнула, сняла панамку, подняла с пола будильник и поднесла его к глазам. Алекс тут же присел за ограду балкона, чтобы Светка его случайно не заметила, но продолжил подглядывать через небольшие дырочки в пластиковых щитах, которыми еще строители украсили металлическую ограду балкона.
В это время Светка села на раскладушке и потянулась за халатом. И хоть она сидела в пол-оборота, Алексу повезло убедиться, что светкина молодая, но сформировавшаяся грудь не только не портила впечатление от вида сзади, но и усиливала его.
С того дня Алекс стал просыпаться в девять утра, потому что оказалось, если день был солнечным, Светка загорала исключительно с девяти до десяти утра. Это больше походила на какой-то ритуал, чем на развлечение: она полчаса лежала на спине, положив руки за голову, а полчаса — на животе вытянув их вдоль туловища.
Смысл этого утреннего действа открылся через несколько дней, когда по привычке заняв свой наблюдательный пункт, Алекс чуть не поперхнулся — на балконе голышом лежала на спине совсем незнакомая девчонка. В отличие от Светки, у этой на груди и ниже пояса были белые пятна от купальника. Спустя несколько минут на балконе появилась Светка в своем розовом халате, и до него донесся ее голос.
— Олька ты лучше загорелые места прикрой халатом, а то и за две недели от следов купальника не избавишься, остальные же части тоже загорают. А нам на соревнования уже через десять дней.
Дальше из разговора девчонок Алекс понял, что Светка и ее подруга занимаются бальными танцами. Латиноамериканская программа требует ровного загара, причем костюмы настолько открыты, что загорать в купальниках означает бороться потом с белыми полосками, виднеющимися из-под нарядов. Хорошие тональные кремы, не говоря об автозагарах, в девяностые были редкостью, да и стоили дорого. От дешевых, у девчонок бывала аллергия, некоторые кремы оставляли пятна на одежде, поэтому Светка нашла простой, а главное, бесплатный способ получить ровный загар.
За те полтора месяца, пока Архиповы не вернулись из Бердянска, Алекс пересмотрел, как ему показалось, весь кружок бальных танцев. Но только Светка снилась ему почти каждую ночь. Алексей влюбился. Теперь весь комп у него был завален ее фотографиями, сделанными цифровиком, взятом на время за большие деньги, — они тогда только появлялись в Москве и стоили безумных денег.
К сожалению, ничего большего, чем рассматривать ее фотографии, Алексу не оставалось. Во дворе его считали ботаником, он уже лет пять с пацанами двора только здоровался, а по вечерам, когда все собирались во дворе потусоваться, Алекс сидел или дома за компом, или у кого-то из знакомых сисадминов на работе. Поэтому в глазах всех девчонок двора, как, впрочем, и одноклассниц, он был из категории "нудных умников".
Светка, наоборот, слыла активной тусовщицей, вечером ее можно было встретить или во дворе или на концерте, но чаще на дискотеке, где она, благодаря приобретенной на бальных танцах пластике, чувствовала себя звездой. В общем, были они, как пелось в популярной в то время песне о дельфине с русалкой "не пара, не пара, не пара…".
Но безнадежных ситуаций не существует, и судьба преподнесла Алексу подарок в виде Тохи и его проблем с учебой, особенно с информатикой.
Зачем студентам-международникам знания Бейсика и Паскаля, Алекс не понимал, но когда на пороге его квартиры появился Тоха с фразой "я слышал, ты по информатике лабораторные на заказ делаешь", Алекс понял, что это его шанс.
Он согласился делать лабораторные за чисто символическую сумму, потом помог со скачиванием рефератов из Сети. В то время такой простой способ поиска информации был в диковинку, и преподаватели даже хвалили старательного студента, что материалы он готовит в печатном виде, дескать, не ленится.
Так постепенно, несмотря на разницу в возрасте, Алекс с Тохой стали если не друзьями, то хорошими знакомыми и тот стал даже приглашать в их студенческие походы "на пиво". Алекс почти всегда отказывался. Эти походы были достаточно нудными для Алекса — кроме музыки и шмоток, ни чего другого собирающаяся публика не обсуждала. Ни первое, ни второе не интересовало Алексея, но его интересовала Светка, которая тоже иногда участвовала в этих мероприятиях.
Кстати, оказалось, что Тоха — не Толик, как думал Алексей, а Антон. Его дворовое имя появилось в то время, когда Антон только учился говорить и называл себя Тохой. Так в семье и повелось — Тоха, Тоха. А уже институтские знакомые называли его Антоном.
И вот на одной из таких посиделок в баре, куда Алекс пошел, зная, что придет Светка, та активно терлась возле очередного студента, не обращая никакого внимания Алекса. Оно и понятно: студент этот в глазах тусовки являлся крутым парнем — он бас-гитарист группы, известной "в узком кругу ограниченных людей" (как шутил про себя Алекс). Они с группой даже выступали раза два в местном клубе (по мнению Алекса, обычном кабаке спального района).
В любом случае Алекс понимал, что в глазах Светки бас-гитарист имеет бОльшую привлекательность, чем он — сосед, знакомый с детства, единственным достоинством которого был самый мощный компьютер во дворе.
Тем не менее, настроение Алекса оказалось опять испорчено. Поэтому на предложение одного из ребят, с кем Алекс вообще не был знаком, скинуться на такси в Кузьминки, он сразу же откликнулся. Светка с братом решили еще остаться, так что Алекс с новым знакомым, попрощавшись с народом, пошли ловить машину.
Когда вышли на улицу, тот спросил:
— Вижу, ты тоже чувствуешь себя чужим на таких праздниках жизни? — незнакомец протянул руку, — Виктор.
— Алексей. Просто я тут особо никого, кроме Тохи и Светки, не знаю. Да и пригласил он меня только потому, что я ему лабораторные по информатике делаю ну и рефераты из Интернета подгоняю. А у него сейчас какой-то зверь информатику преподает, вот он в этом семестре очень уж со мной дружит.
— Ха, так вот откуда у Антона лабораторные! А я-то думал…
— Я понимал, что он их не сам делает, — продолжал Виктор, — но мне сам стиль кода понравился. Конечно, наши лабораторки не Бог весть что, но и там видно было, что талантливо. Только ты зря так лабораторные пишешь, этот у нас препод в программировании почти ноль. Ты не поверишь, на переменах он заставляет все компьютеры выключать: "КомпьютОры должны отдыхать". А так ты своих клиентов подставляешь, ведь любой разбирающийся сразу увидит качественный код, начнет вопросы задавать, а тот же Антон, что сможет о нем рассказать?
— Тоха говорил, что препод зверь, вот я и старался
— Он-то зверь — требует сдать кучу лабораторных, за опоздания со сдачей жестко наказывает, а сам смотрит только на результат работы программы. Он в коде совсем не разбирается, раньше преподавал кибернетику. Это когда только блок-схемы алгоритмов рисовали. Мне он напоминает тренера по плаванью, который сам плавать не умеет, но с секундомером стоит и орет, что у тебя руки не оттуда растут, раз так медленно плывешь.
— Ты плаваньем занимался?
— Вообще-то да, но, во-первых, недолго, во-вторых у меня тренер толковый был. Его ребята чемпионаты СССР выигрывали.
— А я шахматами… Четыре года. Даже разряд получил. Потом бросил, когда тренер уехал в Израиль.
— Программировать начал?
— Нет, сначала в клубе подсел на Дум и Кваку. Потом познакомился на работе у матери, она у меня в банке работает, с сисадмином. Вот он меня к программированию и приобщил. Ну, потом заказы на лабораторные для студентов брать стал, домой комп купил.
— Красавчик ты, я посмотрю. Ты же еще в школе учишься и уже на комп заработал?
— Ну, честно говоря, на комп я заработал, продав программку для заучивания английских слов одним языковым курсам. Они "за недешево" обучают английскому, для солидности купили компьютеры. А че делать с ними, не знали. Ну, вот теперь у них есть программка для заучивания слов, у меня — домашний компьютер. А заказы от студентов оплачивают мне Интернет и карманные деньги дают.
— Понятно — наш человек. А Фидонетом пользуешься?
— Нет. У меня нет знакомых, с кем там общаться там, я в основном с парнями из-за бугра общаюсь через форумы.
— Теперь есть. Мой ник Джокер.
— Джокер? Слышал о тебе. Думаю, и ты Умку знаешь. Это я.
— Умка? — Виктор хмыкнул. — Ты опять меня удивил. Не думал, что ты еще совсем пацан.
Алекс поморщился — напоминание о возрасте было не очень приятным. Сглаживал тот факт, что он познакомился с Джокером, о котором в среде хакеров и программистов ходило немало легенд.
— Видел несколько твоих программ-вирусов, неплохие идеи там встречаются, — продолжал Виктор. — Слушай, заходи завтра ко мне, я тут одним проектом занимаюсь, думаю, тебе будет интересно.
На следующий день они встретились у Виктора. В Кузьминках он снимал квартиру, чтобы жить отдельно от родителей. А вырос в высотке на Котельнической, той самой высотке, жизнь в которой, была недостижимой мечтой не только обычного советского человека, но и солидного чиновника. Там, у родителей, он и сейчас был прописан, но жил отдельно, потому что считал: взрослым человек становится тогда, когда способен заработать на еду и крышу над головой самостоятельно.
Съемная квартира была небольшой, ремонт не делали уже лет десять, поэтому обои были выгоревшими, линолеум в коридоре протерся в некоторых местах. При этом Алекса поразила ее абсолютная чистота и аккуратность.
В своей комнате Алекс мог полчаса искать записную книжку, которую только что видел в районе дивана или на столе, а тут ни крошек от бутербродов на столе, ни одежды разбросанной на стульях и диване. Книги стояли исключительно на книжной полке, ручки и карандаши — в синем пластиковом стаканчике на столе. Системный блок и монитор без слоя пыли. Дискеты рассортированы по коробкам и подписаны.
Квартира Виктора была мечтой мамы Алексея, которая любила повторять "Порядок в голове начинается с порядка в комнате". В спорности этой логики Алексей ее не разубеждал, но и порядка в его комнате мать добиться не могла с тех пор как перестала ее убирать сама.
— Понимаешь, — рассказывал Виктор. — Развитие кибернетики еще в 70-х пошло по пути создания компьютера как сложной системы. Чем сложнее компьютер, тем больше задач он сможет выполнить. Вот их и усложняют и усложняют. По-твоему, у кого сложнее мозг, у муравья или у лошади?
— Понятно, что у лошади. И что?
— Я тебе больше скажу, у муравья или пчелы, как такового мозга нет, есть только, по сути, скопление пятисот тысяч нервных клеток. Тем не менее, им удается организовать свою жизнь не хуже, а может и лучше людей. Знаешь, например, что в муравейнике есть система образования, где молодые муравьи учатся, что взрослые муравьи питаются разной пищей в зависимости от профессии, что с возрастом рабочий муравей двигается по "профессиональной лестнице"? Да, да! У них есть профессии — одни охраняют муравейник, другие убирают его, третьи обучают молодое поколение.
— Да ладно, все это инстинкты, — перебил Алекс. — Набор инстинктов, по которому они действуют. Ты сам сказал — мозга практически нет.
— Хорошо, а как объяснить такой эксперимент? Один исследователь 3 года облучал муравьиную тропу гамма-лучами, к которым они очень чувствительны. Думаешь, они перенесли тропу? Нет, они построили над тропой крышу длинной двенадцать с половиной метров.
— Ну, вот я ж и говорю — инстинкты. Тропу перенести не могли, значит, ума не хватило.
— Хм… перенести… А чего ты в Москве живешь? Остальные тут живут? Климат недружелюбный, зимой холодно. По твоей логике жили бы люди все в тропиках, и делов-то
— Ну, есть же одежда, отопление.
— Вот именно человек с помощью ума приспосабливается к неблагоприятным условиям. Не шерсть выращиваем как белый медведь, а из оленьих шкур одежду шьем, и продолжаем жить даже за полярным кругом. Чем мы умнее муравьев, которые вместо того, чтобы новый маршрут проложить, крышу строят?
— Ну, ты совсем уж сравнил, мы и муравьи, — возразил Алекс, — может ты еще и дрессировать муравья будешь? А вот лошадей как раз можно.
— Тут как раз самое интересное начинается. Муравей не может долго жить один, причем страдает он не от голода, он вполне спокойно находит пищу. Два рыжих муравья протянут дольше, а десять уже ведут практически полноценную жизнь колонии. Кстати, муравьи не пчелы, они по семь лет живут, так что этот десяток муравьев может прожить пять-семь лет, построив убежище, впадая в зимнюю спячку. У них только потомства не будет без самки. И еще один интересный эксперимент. Когда муравей тащит тяжелый предмет, он в среднем работает с мощностью 0,22 Вата. А когда они тащат вдвоем, то суммарная их мощность 0,57 Вата, по 0,29 Ватт на каждого. То есть их мощность каждого вырастает почти на тридцать процентов. Ты понимаешь — вместе сильнее, чем по отдельности! Этакий эффект синергии.
— Ну, хорошо, черт с ними с этими муравьями. Ты начинал рассказ с усложнения компьютеров как тупикового пути развития. Если я правильно тебя понимаю, ты хочешь сказать, что в сети компы будут мощнее, чем по отдельности? Так это и ежу понятно. Ведь сейчас делают сервера, в которых по несколько процессоров стоит, а не по одному.
— Ты не торопись. Дай мысль закончить. Так вот, муравьи с их примитивным мозгом и мощной системой общения похожи на отдельные клетки единого организма. Их язык, так же как и язык нейронов головного мозга человека — это язык химических реакций.
— Блин, ну дались тебе эти муравьи… В общем, я понял: муравейник — это большой мозг. Отличная идея… для фантастического рассказа.
— Нет. Это — не большой мозг, это — альтернатива большому мозгу. Заметь, насекомые на планете существуют сотни миллионов лет. Они появились значительно раньше динозавров и многие дожили до наших дней, практически не изменившись. Эволюция до мелочей отшлифовала их организмы. Между прочим, человек уничтожил много видов птиц, животных, но ни одного вида насекомых. Огромное количество существующих изобретений в науке — это просто использование особенностей разных насекомых.
— Ну и почему за эти миллионы лет не появилось цивилизации насекомых?
— А чем муравейник тебе не цивилизация? В рамках одного вида существует иерархическое делегирование полномочий, есть, по сути, разделение труда, который может выполнять каждая особь. Так же, как и у нас: каждый может приготовить яичницу или водить машину, но постоянно этим занимаются повара и водители. Кстати, именно разделение труда на уровне большого сообщества, по сути, деление на профессии считается многими учеными признаком цивилизации. В человеческих племенах цивилизации нет, потому что сегодня все охотятся, завтра все собирают бананы, послезавтра делают одежду. У них нет отдельно воинов, педагогов, землепашцев и охотников. У муравьев это все есть.
— Хорошо, убедил. — Алекс улыбнулся. — Муравьи это тайная цивилизация планеты, но нам-то они зачем?
— Объясню. Сейчас многие компании ведут разработку серверов с несколькими параллельно работающими процессорами, в некоторых научных центрах создают компьютерные сети для проведения сложных расчетов сразу на многих параллельно работающих машинах. Но это все не то. В таких системах поломка одного процессора или компьютера останавливает работу всей системы, поскольку каждый элемент выполняет важную часть работы и резервного элемента не предусмотрено. Такие резервные элементы могут позволить себе только военные и системы управления опасными объектами.
— Ну, ясное дело, ведь, по сути, это создание двух-трех резервных простаивающих систем. Это ж ого-го как дорого, — Алекс начал понимать к чему клонит Виктор.
Алекс, как и большинство хакеров того времени, занимался взломом закрытых баз данных из любви к искусству, а не с корыстной целью. Никогда речь не шла о доступе к паролям банков, платежных систем или секретам военных организаций. Взломать платные библиотеки, порно-сайты — вот, в принципе, круг интересов того времени.
Точно так же каждый новичок программирования пытался написать свой вирус, тогда это было что-то вроде самоутверждения. Большинство таких вирусов, просто перегружали память системы, замедляя ее быстродействие. Целью было не испортить машину, а создать вирус с большей степенью защиты от обнаружения антивирусными программами. Алекс тоже писал такие вирусы, когда только начинал всерьез интересоваться программированием.
Но сейчас, когда он перешел к взлому чужих баз данных он столкнулся с проблемами работы с зашифрованными данными. Для взлома паролей, созданных даже несложными программами по кодированию, требовались такие ресурсы, что даже мощному серверу требовалось несколько часов, чтобы подобрать ключ. Поэтому требовался резкий скачок роста производительности программ дешифровки. Но пока его не может обеспечить даже "Закон Мура" гласящий, что каждые 24 месяца количество транзисторов у процессоров будет удваиваться.
— Все очень просто, — продолжал Виктор, — посредством интернета мы будем давать сотне тысяч компьютеров маленькие задачи для расчета с двойным и даже тройным дублированием. Каждый из компов будет выдавать обратно в Сеть только результат, поэтому канал связи перегружать не будут. А размер самих расчетов не будет отражаться на производительности машины, поэтому пользователь его не заметит. Дублирование поставленных задач многими машинам позволит всей системе избежать проблем, если часть их периодически будут выходить из сети или пользователи просто выключат свои компьютеры.
— Звучит, конечно, фантастически здорово, но, во-первых, я с трудом представляю сложность этой программы. А во-вторых, — Алекс сделал паузу, — как договорится с владельцами этих компов, чтобы они разрешили ими пользоваться.
— Как раз с установкой проблем меньше всего, — Виктор улыбнулся, — я думал, ты сразу догадаешься. Пишется вирус, который потом подгрузит основное приложение, а сам уничтожится.
— Но новое приложение пользователь заметит или антивирус обнаружит. А то и обнаружит сам вирус-инсталлятор
— Именно для этого ты мне и нужен. Умка, я же встречал твои работы, поэтому пригласил тебя. Я в этих антивирусных защитах не большой спец, а у тебя, слышал, получалось неплохо. Ну и с другой стороны, идея в том, что это у нас, в совке, с компами и интернетом имеют дело в основном специалисты, которые, не подключив антивирус, комп не включат. На Западе уже даже домохозяйки и секретарши пользуются Интернетом там вирусам вольготнее.
— Но почему вирус?
— Ну, хорошо, может, я не правильно выразился. Просто до этого никто не делал программ, которые дружелюбно, но без разрешения владельца, внедряются в операционную систему. Просто никому это раньше не нужно было.
— Ладно, предположим, внедришь ты вирус, который будет отбирать часть ресурсов, — Алекс не говорил, он думал вслух. — Но я так и не понял принцип работы основной программы. На машине пользователя она будет работать и получать задачи от головного компьютера, где установлена программа управления ресурсами, распределения заданий, аккумулирования результатов для дельнейшей обработки. Все равно, получается, нужен суперкомпьютер, который уже не сам будет делать расчет, а делегировать эти задачи другим, а потом их обрабатывать.
— Верно, — согласился Виктор, — но ты мыслишь слегка прямолинейно. Ты пытаешься сосредоточить в одном месте принятие решения. А важно сделать систему неуязвимой, то есть лишить ее центра принятия решения. На самом деле нужен не центр принятия решения, а центр или несколько для аккумулирования решений. То есть места, где решения можно получить.
— Знаешь, — сказал Алекс. — теоретически выглядит красиво, но, честно говоря, я смутно представляю, как это может работать.
— Я работаю над этим проектом уже больше года. Смотри сюда, — Виктор положил на столе ватман, стоявший до этого свернутым рядом с письменным столом. — Я для простоты понимания набросал саму схему взаимодействия элементов в системе. Понятно, что много еще не решенных задач и алгоритмов, но в целом работа движется. Одна из проблем — тестирование. Прототип в коде я уже набросал и можно пробовать его внедрять, но нужны машины, объединенные в сеть. А эту задачу я пока не решил. Сам я вирусы писать не очень умею, да и не хочу отвлекаться, мне с основной программой еще копаться и копаться. Поэтому тебя и пригласил. Там масса такого, чего раньше никто не делал, особенно с учетом того, что вирусность распространения — это только этап установки инсталятора. Я видел твой код — видно, что многие вещи ты не читал, а изобретал сам — вот это для меня важно.
Алекс склонился над ватманом. С первого взгляда было видно, что эта схема — результат многомесячной и вдумчивой работы. Он знал, что Джокер серьезная личность, но этот исчерченный мелкими блоками, стрелочками и ромбами огромный лист поразил Алекса.
— И с какого раза ты все это нарисовал? — подняв от ватмана голову, спросил Алекс.
Виктор рассмеялся.
— Ну, точно, что не с первого, и даже не с двадцатого и, возможно, еще придется перерисовывать.
— Энтхил? — спросил Алекс, указывая на надпись в углу ватмана. — Это что, название? И что оно означает?
— По-нашему Муравейник, ты же заметил, что муравьев я люблю. Ну что, согласен стать вторым соавтором Энтхила? Твоя задача будет написать коммуникатор, вот он на схеме. Коммуникатор как вирус устанавливается на машину пользователя, скачивает сам Энтхил, когда тот появится в Сети.
Вопрос был риторическим. Сама идея, над которой работал Джокер, поражала воображение, но, как часто бывает в пятнадцать лет, несмотря на глобальность, она не казалась нереализуемой. Он видел перед собой просто сумасшедший проект, который пока реализуется без тебя. Но тебя приглашают принять участие в проекте, предлагают сделать такое, что, возможно, потом войдет в учебники по программированию.
Не смущало и то, что где-то далеко за океаном сотни инженеров, вероятно, решают такие же задачи. И что с того? Купила же могучая IBM у программиста Била Гейтса его DOS.
— Думаю, я справлюсь, главное, чтобы ты не облажался со своим Муравейником, — Алекс расплылся в улыбке.
На то, чтобы "справиться", ушел год. В тот год Алекс продолжал зарабатывать на студентах, что давало деньги для покупки дополнительного железа. Оставшееся время уходило на сам коммуникатор. Поэтому Алекс успел из твердых "хорошистов" в школе скатиться до "троечника".
В школе это списывали на частые болезни (справки из поликлиники помогала получать знакомая Виктора).
Дома родители иногда бурно обсуждали в своей спальне его успеваемость. Мать требовала "выбросить эти зомбо-ящики" (у него уже было три компа), чтобы ребенок мог поступить в институт, а не идти после школы в ПТУ. Отец в ответ напоминал ей, что его институт дал чудное образование, поэтому теперь: "сын может заработать больше, чем его отец. И не стоит трогать ребенка, если он нашел дело своей жизни, причем дело это — доходное. Пушкин был бездарем во всем, кроме поэзии и литературы, а кто помнит его сокурсников-отличников".
Виктору было проще. Его отец, как и дед, был серьезной персоной в МИДе. Еще во времена СССР он работал в торговых представительствах Союза в капиталистических странах, поэтому большую часть детства Виктор прожил за рубежом. Так, в языковой среде, он освоил английский (в Канаде), немецкий (в Австрии) и даже фарси (в Иране). Поэтому он без труда поступил в МГИМО, где учеба не особо обременяла студентов, в отличие, например, от Бауманки. В МГИМО все было сделано для удобства жизни "золотой молодежи", перспективы которой были и так радужными и не зависели от успеваемости.
Алекс только мельком узнал у Виктора, что деньги он зарабатывает переводами с фарси и так как тот не любил об этом распространятся расспрашивать его не стал.
Как-то Виктор пригласил Алекса к себе на день рождения, точнее в квартиру к родителям. Отец Виктора оказался подтянутым мужиком, который выглядел лет на сорок, хотя на самом деле ему было за пятьдесят. Он совсем не напоминал на совкового специалиста по внешнеэкономической деятельности. По мнению Алекса, это были упитанные кругломордые чинуши, сидевшие у большого советского пирога.
Вернувшись домой, он попытался навести справки о Новиковых. Информация была куцая и в основном лежала в зарубежных базах данных. Пришлось покопаться там, где копаться было не вполне легально, он для этого даже пошел в интернет-клуб — береженого бог бережет. Выяснилось, что и дед, и отец Виктора работали на внешнюю разведку, хоть и не военную, а экономическую.
В тот момент он даже подумал, а стоит ли продолжать проект с Виктором, поэтому решил поговорить прямо. Когда на следующий день пришел к нему в квартиру. Алекс спросил сразу, с порога, как только Виктор закрыл за ним дверь.
— Джокер, скажи честно, твоя семья связана с нашими спецслужбами?
Виктор от этого вопроса даже не вздрогнул, словно его спросили о том, есть у него пиво в холодильнике или нет. Он щелкнул замком на входной двери и прошел в комнату.
— Проходи, чего стоишь в коридоре, — послышалось из комнаты.
— Ты не ответил на вопрос, — упрямо оставаясь в коридоре, ответил Алекс.
— Умка, я вот иногда не понимаю, за что у тебя такое прозвище? Я был уверен, что ты давно наведешь справки обо мне, — Виктор появился в дверях комнаты. — А ты полгода уже со мной работаешь над таким специфическим проектом и только сейчас решил узнать кто я, и что. Ты же должен понимать, что в высотках кто попало квартиры не получал, даже работая в МИДе.
— То есть я прав.
— Ну да, мой дед работал во внешней разведке, отец тоже раньше был активным агентом, правда, по вопросам коммерческой разведки.
— Какой коммерческой разведки? У нас же социализм раньше был.
— Ты думаешь, когда страны заключают контракты на поставку леса, руды на миллиарды долларов, то они не собирают информацию о партнере? Все такие контракты прорабатываются годами, туда вовлечены корпорации, правительство спецслуюжбы и иногда даже армии. И в СССР было так, и в России, а о Штатах вообще речь не идет. Например как так получилось, что СССР в шестьдесят девятом году начинает строить нефтепровод Дружба 2 в Европу, а в семьдесят первом ОПЕК начинает взвинчивать цены на нефть?
— ОПЕК? Это организация арабских стран, которые нефтью торгуют?
— Ну, не только арабских, но, в общем, ты правильно понял. ОПЕК тихо-мирно десять лет существовал, а потом вдруг возьми и за три года раз в десять цены на нефть подними. А СССР вроде бы и не входит в ОПЕК, но как раз больше всех нефти в мире на экспорт начинает слать и как раз трубопровод вводит в эксплуатацию, — Виктор хитро улыбнулся.
— А че ты мне все это рассказываешь? — удивился Алекс
— Ну, это не большая государственная тайна. Дело давнее, это во-первых, а во-вторых, думаешь, американцы или немцы не знали откуда ноги росли у ОПЕК?
— Так это твой отец делал?
— Нет, это было еще до моего рождения, тогда отец еще в Москве работал. Он уже потом эти вопросы курировал. В Австрии мы почему жили? Потому что там штаб-квартира ОПЕК. А потом в Иране — потому что Иран важный экспортер нефти. В общем, если бы ты больше покопался — сам бы все это нашел.
— Хорошо, а сам ты работаешь на КГБ или как их там сейчас называют?
— Я? Ну, скажем так, я иногда помогаю как переводчик фарси. Ни в какие страшные тайны не посвящен, и, в принципе, не планирую работать на спецслужбы. Тем более, что с развалом Союза там сейчас такой бардак.
— А почему ты мне раньше не сказал? Мы же незаконными вещами занимаемся: вирусы, использование чужих компов.
— Ну, во-первых, мы ж не деньги со счетов воруем. Во-вторых, ты не спрашивал. А в-третьих, я думал, ты обрадуешься, что в случае чего у нас неплохой тыл. Запомни, я тебя никогда не брошу в случае серьезных проблем. Ты — мой напарник, а Новиков напарника не предаст.
В воздухе повисла тишина. Алекс ничего не говорил, обдумывая услышанное.
— Ну, если ты топором бабушку-процентщицу не грохнешь, — улыбаясь, добавил Виктор. — А теперь давай займемся нашими муравьиными делами.
Как всегда, в Макдоналдсе было людно и шумно, но Алексу удалось найти укромное место в углу зала, где расположившись с "Биг-мак меню", он достал ноут. Доступ к интернету Алекс установил быстро, правда скорость оставляла желать лучшего, осталось найти Джокера. Если он в Америке, то у них сейчас ранее утро, в инете его может и не быть.
Заходить через старый аккаунт опасно, через пару минут будут здесь. Завести новый? Но раз ребята так контролируют интернет, то сейчас весь список его контактов под их колпаком. Как только он с нового аккаунта напишет Джокеру "авторизируй меня", то они сразу увидят запрос авторизации. Хотя… он напишет от имени Умки
"…откуда они знают, кто такой Умка? Ну, попросил какой-то Умка регистрации у одного из контактов Алексея Харламова, а их у меня так десятков пять. Не перечитывают же они всю переписку, стоит программа фильтрующая переписку по ключевым словам. Все что мне нужно от Джокера — это его номер телефона. А там, закупив карточек IP- телефонии с обычного автомата можно поговорить хоть с Бразилией. Главное, чтобы в переписке не мелькнули ключевые слова. Что там точно есть?".
Алекс стал набирать небольшой список вероятных ключевых слов "Харламов, Алексей, сбежал, помощь, срочно, скрыть…" Список получился достаточно большим, оставалось надеяться, что удастся обойтись без этих ключевых слов.
Регистрируя в скайпе новый аккаунт, Алекс подумал, не стоит ли связаться и с тем анонимным помощником, но передумал. Ему хотелось сейчас исчезнуть из поля зрения у всех спрятаться на годик-другой, в том числе добровольного помощника, и попутно попытаться разобраться, что же произошло, почему его ищут. А в этом мог бы помочь Джокер, осталось только найти, где он сейчас. Последний раз они списывались года полтора назад, тогда Джокер сказал, что переезжает из Штатов в Европу, но, возможно, он уже успел в Америку вернуться.
"Джокер привет, это Умка. Есть вопрос" — прикрепил сообщение к запросу авторизации Харламов.
Теперь оставалось ждать ответа. Если Джокер опять в Калифорнии живет, то сейчас может еще спать. Если в Европе, то шансов, что он сейчас в скайпе, больше. Алекс откусил Биг мак, надеясь на лучшее. Ему повезло — ответ появился почти сразу.
"Привет, Умка, давно не списывались. У тебя что-то срочное? Я в аэропорту, объявили посадку."
"Мне нужен твой совет. Можешь дать свой мобильный? Я бы позвонил, когда приземлишься? Тебе долго лететь?"
"Ты в Москве?"
"Пока да"
"Через три часа я тоже буду в Москве"
"Ого! Вот это удача! Давай встретимся — бабушки-процентщицы живи "
Алекс надеялся, что Джокер помнит ту шутку и поймет, что ему нужна помощь.
"Все так серьезно? Тогда приезжай сразу ко мне. Часов через пять буду дома" — на экране появился незнакомый Алексу адрес. Джокер все помнил.
"Приеду, удачного полета"
"До встречи".
Все складывалось лучше, чем Алекс планировал. Приезд Джокера был сегодня первой приятной неожиданностью, если не вспоминать Алису-Симону с утренним кофе. Кстати о Симоне, он же еще не смотрел мини-диск, за которым и идет охота.
"Жаль звук не включить. Динамики слабоваты, тут шумно, а наушники не взял. Ладно, так просмотрю"
Записано было более полутора часов видео. Где-то с полчаса на экране мелькали лица сослуживцев, некоторые что-то говорили в камеру, но с отключенным звуком видны были только движения рта, при чем, чем дальше шло веселье, тем более активно говорившие жестикулировали, наверное, придавая своим словам большей убедительности. Вот кто-то со стороны снимает их с Джерардом идиотское соревнования. Так. Теперь Алекс стал смотреть внимательнее. Еще минут десять кадры с вечеринки, а вот они все на берегу Байкала усаживаются на снегоходы.
"Вот, получается, как я уехал с базы"
Дальнейшие кадры подтверждали догадку. Вот он снимает с озера, берег с небольшим бетонным пирсом и аккуратными с ажурными фонарями дорожками, уходящие в глубину берега, вероятнее всего к отелю.
— Постой Маша возле дяди он уже доел и скоро будет уходить, — раздалось справа от Алекса.
Он оторвал взгляд от монитора. Дородная тетка демонстративно смотрела на Алекса сидящего с ноутом и кучей упаковочной бумаги на подносе, давая понять, что она имеет виды на столик за которым расположился Алекс. Он окинул взглядом зал. Да, пустых столиков не было. Тетка оставив девочку лет шести возле столика Алекса пошла к кассам. Нужно было уходить, такие тетки покоя не дадут.
— Ты с мамой в Макдоналдс пришла за гамбургерами? — улыбаясь девчушке спросил Алекс.
— Вот еще! С няней. За хепи милом, — нахохлившись, ответила девочка.
"Ну да, как просто. Хеппи мил! "Бесплатная" игрушка. Мы тогда тоже всех на бесплатную игрушку подцепили" — подумал Алекс поднимаясь.
Год, ушедший на создания Муравейника, пролетел быстро. И если Виктор корпел исключительно над основной программой, мало отвлекаясь на посторонние вопросы, то у Алекса работа была веселей: ему не только нужно было написать сам коммуникатор, но и обеспечить к моменту готовности ее распространение в Интернете.
Непосредственно написание кода он закончил месяца за три. Программа отлично работала, мониторила Сеть на предмет того, нет ли в ней Муравейника, чтобы установить на комп. Благодаря кое-каким хитростям Алекса, многие антивирусы его не обнаруживали.
Выкачать версию Муравейника из единого источника коммуникаторы не могли. Точнее, они могли, но тогда бы даже на самих хороших интернет-каналах эта раздача заняла бы пару недель, а то и месяцев. Поэтому пришлось разработать алгоритм регулярного поиска файла, в который был упакован Муравейник, по всему Интернету, а не по отдельным адресам. Если такой файл обнаруживался, то коммуникатор должен был связываться с теми компьютерами, с которыми была самая хорошая связь и параллельно скачивать не менее чем с трех, но не более, чем с пятнадцати машин.
По сути это был обмен информацией напрямую между пользователями, минуя громоздкие серверы. "Вирусный маркетинг" — так в шутку называл его Виктор. Ведь идея, алгоритма базировалась на системе распространения слухов в городе.
Теперь, когда сам коммуникатор работал, осталось обеспечить минимум триста тысяч одновременно подключенных к Сети компьютеров с установленной программой. То есть, разместить коммуникатор нужно было на порядка полутора миллионов машин, учитывая, что лишь часть будут находится в Сети одновременно.
Теоретически задача была несложной, ведь срока для распространения у Алекса было месяцев шесть-семь. В то время, самым распространенным методом распространения вирусов являлся спам приходящий в почтовый ящик под видом письма от друга. Если пользователь открывал такое письмо, то вирус попадал в машину.
Но в середине девяностых любопытных блондинок за компьютерами еще было не слишком много. Тогда доступом к интернету обладали те, кто понимали слова "операционная система", "драйвер" поэтому они не открывали любой файл, сваливающийся в почту. Ну и сам вирус некоторыми продвинутыми антивирусными программами опознавался и удалялся.
Поэтому скорость распространения коммуникатора была невысокой: за месяц удалось установить только на пяти тысячах машин, точнее около пяти тысяч копий коммуникатора прислали информацию, что успешно инсталированы и готовы к работе. А одновременно подключенных к интернету машин с работающими коммуникаторами не набиралось более девятисот.
Такого количества хватало только для тестирования успешности взаимодействия самого коммуникатора на разных машинах, но было совсем мало для полноценной работы Муравейника. Алекс мучительно искал способ ускорить распространение без потери маскировки от антивирусных программ.
Решение лежало на поверхности. Однажды, когда Алекс жаловался Виктору на сложности распространения, тот спокойно заметил:
— Нужно было заставить пользователей самих установить программу и еще посоветовать друзьям.
Алекс посмотрел на Виктора, ожидая какого-то подвоха в этой фразе.
— Ты хочешь сказать, что люди станут сами устанавливать себе вирус на машину, — спросил он. — А деньги они нам по почте за это высылать не станут?
— Ну, думаю, что не станут, хотя идея твоя правильная.
— Джокер, хватит ехидничать, что ты придумал?
— Я не ехидничаю. Подумай сам: какие полезные программы антивирусы часто определяют как вирусы?
— Игры! Точно игры! Написать игру. Но, — запнулся Алекс, — ее ж написать надо, чтобы интересная, чтобы народ обменивался.
— Умка, это не так сложно. Мы ж не квейк делать будем. Все банально…
Через неделю Алекс прикрепил коммуникатор к своей первой игре — стрип-тетрису. Поскольку аудитория пользователей компьютеров была мужская, причем чаще всего лет до двадцати пяти, то через неделю коммуникатор сообщил о почти пятидесяти тысячах новых установок. Теперь все зависело от того, как быстро пользователь удалит игру из машины, потому что Алекс решил, что лучше защиты от вируса, чем игра, нет. Поэтому коммуникатор на машине пользователя оставался только скрытой функцией самой игры и удалялся вместе с ней.
Результат уже воодушевлял — полторы сотни тысяч установок за месяц. После выпуска еще нескольких клонов: стрип-покера и стрип-казино через полгода количество машин с установленной программой-коммуникатором достигла более десяти миллионов с максимальным количеством одновременно подключенных к интернету более двух миллионов.
Пришел день Икс — день запуска первой версии Муравейника в Сеть. Задача перед первой версией стояла простая — рассчитать максимально возможное количество знаков после запятой у числа Пи. Эту задачу регулярно выполняли собранные разными компаниями суперкомпьютеры, и на ней можно было легко сравнить производительность Муравейника и суперкомпьютеров.
В тот вечер собрались у Виктора дома. Выложив версию в интернет, они наблюдали, как в течение 5 минут коммуникаторы нескольких десятков компьютеров нашли ее и приступили к скачиванию. Процесс пошел! Когда поступила информация с первых машин, что Муравейник скачан и запущен, Алекс почувствовал эйфорию: "Коммуникатор работает! Он сделал это!"
Виктор начал отключение компа.
— Джокер, зачем? Блин, ну давай посмотрим на статистику, — Алекс не мог понять, что делает Виктор.
— Все, теперь спать. Утром посмотрим на результат.
— Да ты что? Какое спать? Давай посмотрим за процессом, сколько скачают, как запустят. Ну, или хотя бы дождемся, когда накопится критическая масса и начнется расчет. Я ж до утра спать не буду.
— Так мы до утра тут будем "смотреть за процессом", — возразил Виктор. — Хотя если честно, то я просто не могу смотреть. Полтора года написания программы, тестирования реального ж не было, по сути оно сейчас только и началось. Нет, — отрезал Виктор, — Сейчас приму грамм двести коньяка, и спать. Просмотр — утром в семь у меня. И ты дома не подключайся — будь человеком.
Поднявшись из-за стола, он подошел шкафу, достал из бара пузатую бутылку с коричневой жидкостью и налил в широкий низкий граненый стакан.
Алекс видел, что Виктор еще больше хочет "посмотреть на процесс". Но он был прав — наблюдать за строчками с информацией о количестве установок Муравейника и промежуточными результатами расчетов числа Пи, было занятием бессмысленным и непродуктивным. Программа остановиться в семь утра по Москве. Вот тогда и можно будет посмотреть статистику успешных запусков, а главное — результат расчетов.
— У тебя еще коньяк есть? — попросил Алекс. — Я тоже вряд ли сам усну, точно полезу смотреть, как там Муравейник. А коньяк, говорят, отличное снотворное.
— Забирай бутылку с собой, — он протянул бутылку, в которой плескалось еще грамм сто пятьдесят темной жидкости, — дома выпьешь и будешь спать как младенец.
Уже дома в своей комнате Алексей достал бутылку из рюкзака. Судя по этикетке, в бутылке находился продукт солнечной Армении. До этого Алекс пил только пиво и немного вина. Коньяк оказался напитком, оставивляющим противное послевкусие, которое хотелось чем-то запить. О том, чтобы захватить на кухне воды, он сразу не подумал, а сейчас бежать на кухню мимо комнаты, где родители смотрели телик, тоже не хотелось. Поэтому смирившись с горечью во рту он разделся и попытался уснуть.
Было одиннадцать вечера и, хотя он давно так рано не ложился, недосыпание последних дней и коньяк сделали свое дело. Как только Алексей укрылся одеялом, глаза сами закрылись и Алекс провалился в глубокий, без сновидений, сон.
Проснулся Алекс от непонятного дискомфорта — где-то вдалеке назойливо звучала трель телефона. Нехотя, с трудом он выбрался из приятной расслабленности сна и понял, что это действительно упорно трезвонит в коридоре телефон. С удивлением он понял, что успел отвыкнуть от этого звука, поскольку практически всегда занимал линию интернетом.
Трубку подняла мама. На часах было шесть утра, поэтому ее "Алло" было тревожным, словно она опасалась какой-то неприятности, которую приносят такие ранние бесцеремонные звонки.
Но тут открылась дверь и мама с удивлением сказала:
— Леша, там тебя хочет Витя слышать. В такую-то рань. Что-то на вас не похоже.
Голос у нее был уже спокойным и даже слегка удивленным. Раздражения не было — через пятнадцать минут все равно нужно было подниматься на работу на работу. Год назад ее перевели в другое подразделение банка, и теперь на автобусе и метро добиралась на работу больше часа.
— Ну что спишь? — голос Виктора в трубке был взволнованным. — Так проспишь величайшее в жизни событие.
— Сплю, — Алекс еще полностью не проснулся и плохо соображал, — Между прочим, до семи еще час, а мы договаривались раньше свой нос не совать.
— Да я не сдержался. В пять проснулся, ворочался и таки полез смотреть. Там — бомба. Если коротко — то у нас получилось. Давай так. Приходи ко мне, как раз в семь будет результат. А я к тому времени кое-какие расчеты проведу.
— Хорошо, ты скажи, коммуникатор нормально сработал? Сколько скачалось?
— А-а-а, о своем коммуникаторе волнуешься? Не знаю, как сработал алгоритм поиска оптимального места скачивания, но пятнадцать минут назад Муравейник работал на сорока пяти процентах машин, от которых прошла информации об установки коммуникатора. В общем — дуй ко мне.
Сорок пять процентов! О такой цифре в первый день Алекс и не мечтал. Ведь часть машин в Сети сейчас пока скачивают Муравейник, многие за эти шесть часов в Интернет еще не заходили. То есть можно было сказать, что Муравейник заработал везде, где коммуникатор попадал в Интернет.
Через полчаса Алекс был уже у Виктора.
— Итак, первое. — Виктор выглядел еще более возбужденным, чем показалось Алексу во время разговора по телефону. — Система запустилась нормально и начала расчеты через пятнадцать минут после первой установки. При средней скорости скачивание и установки Муравейника занимает от четырех до двадцати минут, и если через четверть часа начался расчет, значит, Муравейник запустился не меньше, чем на двадцати тысячах машин. То есть твой алгоритм "вирусного маркетинга" сработал! — в голосе Виктора звучал триумф.
— Блин, Джокер, я даже такого не ожидал. Это ж позволит любые большие файлы распространять независимо от мощности исходящего сервера. Скорость будет ограничена только каналом пользователя, который принимает информацию.
— Точно, но это не самое главное, почему я тебе звонил. Посмотри на длину получившегося числа.
Алексей посмотрел на монитор.
— Подожди, — Алекс был в замешательстве. — Мы запустили программу часов в десять вечера. Верно?
— Приблизительно да. Потом пока запустилось… короче время работы программы в более или менее полную силу составило восемь часов и почти сорок пять минут. Причем, производительность на уровне двух миллионов компьютеров стала поддерживаться часа через три работы.
— Но на сегодня последний рекорд вычислений это шесть миллиардов знаков после запятой за две недели. Неужели..?
— Да, — перебил Виктор, — Мы бы до этой цифры дошли за двое суток. Но и это не все.
— Не все?! Да ты понимаешь, что мы сделали сегодня ночью? Мы гении! — Алекс от возбуждения вскочил из-за компа и стал ходить по комнате
— Ну… Есть одна вещь, которая меня смущает. Пока ты ехал я проверил одну свою гипотезу. Я взял производительность десяти тысяч машин в разные моменты загруженности системы. И она разная, причем существенно.
— Что ты имеешь в виду? — Алекс не понимал, о чем говорит Виктор, в голове не умещалось то, что он уже услышал.
— До отметки в семьсот тысяч одновременно работающих компьютеров она была в целом стабильна, но после нее случился резкий скачок процентов на тридцать.
— Но что это значит? — спросил Алекс.
— Это значит, что любые десять тысяч компьютером в системе должны иметь приблизительно одинаковую производительность, поскольку в таком большом случайно выбранных компьютером и более мощные и менее мощные машины уравнивают свои производительности. В общем, так оно и есть. С одной разницей, когда количество участвующих в выполнении задачи машин перевалило приблизительно семьсот тысяч, производительность любых десяти тысяч компьютеров увеличилась почти на треть.
— Такого не может быть.
— Не может, но есть. У меня несколько мыслей. Первая, что в Муравейнике стало работать большое количество суперсовременных компьютеров, которые вначале не попали в базу. Например, в ЦРУ и НАСА начался рабочий день, а кто-то установил наш стрип-покер с коммуникатором на их компьютеры.
— Отпадает, — сказал Алекс. — Если это произошло при количестве в семьсот тысяч, то никакие суперкомпьютеры не могли увеличить производительность аж на треть.
— Да, я тоже так подумал. Вторая — Муравейник резко стал забирать бОльшее количество ресурсов. Проверил и эту версию. Я запустил в полседьмого свой старенький комп, где был коммуникатор. Муравейник скачался, запустился и последние 15 минут работы до семи Муравейник брал строго 3 % мощности машины. У меня остается последняя и самая сумасшедшая.
— Муравейник… превратился… в муравейник, — Алекс подошел к столу и уставился в монитор, словно ожидая что-то увидеть там еще. — Эффект интеллектуальной синергии. Но это же…
— невозможно, — закончил мысль Виктор.
В комнате повисла пауза. Гипотеза была настолько нереальной, что вызывала неприятный холодок в животе. Первым заговорил Виктор.
— Если действительно после наличия некой критической массы компьютерная сеть начинает работать не как сумма мощности входящих в нее компьютеров, а на 30 % больше…
— Тут еще надо посмотреть, не будет ли, например, трех миллионов машин очередного скачка производительности, — перебил его Алексей.
— Тут вообще много неизвестного, — согласился Виктор. — Неизвестно, зависит ли появление этого эффекта от количества машин и их суммарной производительности, или только от количества единиц в системе. А главное: было ли это каким-то неизвестным науке эффектом увеличением производительности или же это было самостоятельная оптимизация алгоритма расчета.
— Ты понимаешь, что ты говоришь? Ты хочешь сказать, что система начинает думать?
— Не способность думать, а… ну как бы это сказать. Ну, как в том же муравейнике: один муравей — набор инстинктов, а если их много у них появляются способность выполнять действия присущие организмам с наличием мозга. Может, после определенного порога сеть даже более оптимально использует свои ресурсы, чем прописано в программе.
В голове у Алекса была просто каша. Еще вчера вечером он волновался только об одном: как сработает коммуникатор. То, что алгоритм "качай и одновременно делись с другим" прекрасно работал, уже было достижением. А тут прыжки производительности, расчет числа Пи со скоростью выше любого суперкомпьютера. Кстати о суперкомпьютерах…
— Знаешь, о чем я подумал? — Алекс говорил медленно, словно мысль, которую он начал высказывать, еще не вполне сформировалась в голове. — Мы хотим проверить, оптимизирует ли машина алгоритм? Легко! Давай предложим ей поиграть в шахматы.
— И что? Есть гора программ для игры в шахматы. Я пробовал, компьютер выигрывает у меня всегда, — Виктор не понимал, к чем у клонит Алекс.
— Ну, Джокер, у тебя выиграть не сложно. А принцип работы всех программ одинаковый. Компьютер перебирает все возможные комбинации. Просто, чем круче программа, тем на большее количество ходов она прогнозирует, оценивая какой вариант приносит ей больше условных пешек.
— Почему условных? — удивился Виктор.
— Ну, это как бы единица для оценки веса, важности, называй как хочешь, всех фигур. Не это важно — важно, что она просчитывает все ходы и теоретически может просчитать абсолютно все вариации ходов. Если, конечно, ей дать достаточно времени. Но в реальности они как раз ограничены во времени, иначе партии длились бы месяцами. Спасает их только обширная библиотека готовых матчей, с которой они постоянно сравнивают позицию на доске. Человек же опирается на другой принцип. Да, он просчитывает варианты ходов, но самые бесперспективные он даже не берет во внимание. Он как бы видит общую ситуацию на доске. Поэтому изначально смотрит на позицию на доске и на основные ходы, которые могут изменить её в его пользу. Вот это и есть умение думать. А рост производительности — это просто рост производительности.
— Ты хочешь предложить поиграть ей в шахматы? Я, Умка, помню, что у тебя разряд по шахматам, но…
— но вряд ли я переиграю Муравейник? — перебил Алекс. — Да, вряд ли. Но если ограничить количество участвующих в партии машин и время на обдумывание, то можно будет определить, происходит ли только скачок производительности или это способность оптимизировать расчеты. Тем более играть буду не я у меня форма уже не та. Но есть у меня знакомый из нашей шахматной секции — он уже добрался до мастера спорта, играет за молодежку, лет через десять будет и гроссмейстером. Его имя Борис, но в секции получил кличку Директор — он приходил на тренировки с большой кожаной папкой.
Так как алгоритм работы шахматных программ почти одинаковый, то на написании версии Муравейника для игры в шахматы ушло всего полторы недели. В программу сознательно не закладывали библиотеки с готовыми партиями. Только чистый алгоритм мог показать, насколько производительна программа. Еще дня два тестировали, при этом Муравейник выиграл все партии у Алекса, а одну из них даже на десятом ходу. Пришло время привлекать более сильного соперника.
Алекс разыскал в своих старых записях телефон Бориса и прямо с утра набрал его.
— Привет, Директор. Это Алексей Харламов, помнишь такого?
— Привет. Давно не слышал. У тебя что-то срочное, мне нужно в клуб убегать?
— У меня к тебе деловое предложение, связанное с шахматами.
— Деловое, и с шахматами? Ты же бросил шахматы года два назад. Мне говорили, ты весь в компьютерах сейчас.
— Правильно, именно с этим связано предложение, но думаю лучше при встрече. Когда сможем пересечься?
— Можно и сегодня в клубе, давай часа через три, после тренировки, там и встретимся.
Клубом назывался шахматный клуб имени Петросяна, раньше это была шахматная школа Спартак, где занимался Алексей.
— Понимаешь, мы с товарищем написали шахматную программу, применив там несколько новых алгоритмов, — Алексей продолжил начатый по телефону разговор уже в кафе рядом с клубом. — Хотим продать ее буржуям. Но возникла проблема тестирования.
— Проблема чего?
— Тестирования… Ну то есть проверки, как программа работает. Понимаешь, она у меня всегда выигрывает, но я уже два года активно не тренируюсь и, честно говоря, за два года в руки не брал шахмат. Поэтому я явно не соперник для нее. Вот я и подумал о тебе — ты же по сравнению со мной просто чемпион мира. Чемпионат Москвы выиграл, такими темпами скоро гроссмейстером станешь.
Алексей давно заметил, что легкая лесть приятна всем. По румянцу на лице Бориса было видно, что он не исключение.
— Ну, я сейчас, честно говоря, к молодежному чемпионату Европы готовлюсь, да и не думаю, что тебе стоит особенно переживать. Даже с твоим уровнем, думаю, ты у других программ мог бы периодически выигрывать. Они же пока очень слабенькие, ну, по крайней мере, я после двух-трех партий с новой программой потом ни разу не проигрывал. Так что если ваша так у тебя легко выигрывает, то все в порядке.
— Ты пойми, мы новый алгоритм внедрили, производительность в разы должна вырасти. Мы ее хотим продать в серьезную американскую компанию — так что сбоев нам не надо. Тем более, мы готовы платить по десять баксов за победу, — Алекс привел последний и, по его мнению, убийственный аргумент.
Скучающее выражение лица Директора сразу изменилось. В глазах сверкнули искорки алчности. Все еще пытаясь не выказать своего интереса, он как бы лениво сказал.
— Аргумент убедительный. Ты пришел с предложением, от которого, как говорил Дон Корлеоне, трудно отказаться. Хотя, если честно, то только по старой дружбе.
— Ну так… — Алекс пытался сохранять серьезное выражение лица, хотя самого так и тянуло засмеяться. — Чего бы я тебя дергал попусту. Итак, по рукам?
— По рукам. Единственное условие — играть будем по вечерам. Днем у меня времени нет.
В течение, недели Борис каждый вечер после шести приезжал к Виктору. Результаты получились двоякие. Явных доказательств "разумности" обнаружить не удалось. Однако были косвенные…
После одной проигранной Муравейником партии было решено снова сыграть именно ее, повторяя все ходы, и вот на одном из ходов программа сделала другой ход и теперь выиграла. На следующий день снова повторили именно эту партию и Муравейник ее проиграл точь-в-точь исполнив все ходы, ведущие к проигрышу. Снова повтор и снова новый вариант хода, причем не такой как вчера, и очередная победа Муравейника. Это повторялось всегда: первая партия игрового дня Муравейник делал все ходы как под копирку и проигрывал ее, во второй раз обязательно следовало изменение, которое приводило к победе.
К сожалению, это была единственная проигранная Муравейником партия, поэтому проверить, работает ли такая зависимость для других, было невозможно: все победные партии Муравейник повторял шаг за шагом, ничего не меняя в ходах.
В конце седьмого вечера Борису стало понятно, что заработать на игре с Муравейником у него не получится.
— Ребята я вам еще в первый вечер сказал, что программа — бомба! — заявил он после очередного проигрыша. — Что вы хотите добиться, продолжая это тестирование? Вы хотите найти ошибку в алгоритме, который приводит к проигрышу, а на второй партии исправляется? Да плюньте на это. Патентуйте алгоритм или что у вас там патентуют, и вперед. Ничего лучшего на рынке пока нет.
— Ну, мы ж не знаем, что там американцы готовят, — Виктор видел, что "тестировщик" намерен бросать работу.
— Что готовят? А я знаю. Готовят они матч-реванш с Каспаровым для суперкомпьютера Deep Blue. Так там суперкомпьютер, а тут персоналка. Если Вашу программу туда загрузить, то уверен у Каспарова шансов не будет. Так что желаю вам успеха, и спасибо за возможность поиграть с таким хорошим соперником. Мне этих проигранных партий для анализа теперь на месяц хватит.
Когда Борис ушел, Виктор сказал:
— Ну что теперь остался один соперник…
— Каспаров? — иронично ухмыльнулся Алекс.
— Не-е-е. Гарри Кимовича мы не будем беспокоить, а вот его железного соперника стоит, — Виктор говорил медленно, словно что-то взвешивал в уме.
— И как ты себе это представляешь? Будешь в IBM вызов на турнир посылать? Джокер, ты понимаешь, что через интернет мы к нему не подключимся, он если в какой-то сети и находится, то только внутренней, без доступа со стороны.
— Это понятно. Но есть у меня один человек…. В общем, мне нужно пару дней. Может, и получится.
Через два дня в ящик упало письмо от Виктора:
"Тестировщик будет, заезжай ко мне сегодня"
— В общем, канал доступа в IBM будет. Но нужно написать небольшую программу. Ее задача будет посылать информацию о шахматных ходах для Deep Blue и получать ответные ходы согласно специальному внутреннему протоколу, — при этих словах он положил на стол дискету.
— Откуда у тебя внутренний протокол Deep Blue? — глаза Алекса широко раскрылись.
— Ну, ты же знаешь о моих связях. Скажем так, один хороший человек из ФАПСИ помог.
— ФАПСИ? А это кто такие?
— Наши, в смысле российские, электронные разведчики. Такая спецслужба, раньше были управлением КГБ. Но, думаю, эти детали тебе по-барабану.
Виктор достал лист бумаги и нарисовал два больших круга, подписав их "IBM" и "Муравейник".
— Твоя программа будет стоять на сервере IBM, имеющем доступ к Интернету. Вот этот кружок — это их сеть. Этот сервер имеет доступ в Интернет, и мы будем ему вручную отправлять ходы и получать ответ — на листке появилась стрелка, которая шла не к большому кругу "Муравейник, а вниз, где он дорисовал силуэт компьютера.
— Мы так же вручную будем отправлять ходы Дип Блю в Муравейник, — на бумаге появился второй компьютер стрелка от второго компьютера потянулась к кругу "Муравейник".
— А не проще сразу написать программу для обмена информацией? Пусть играют себе без нас, — он взял ручку и нарисовал прямую стрелку между кругами. — Зачем мы будем лишним звеном между ними? И на схеме у тебя два компа нарисованы, это для чего?
— Ты надеешься наш эксперимент останется незамеченным? Я думаю, что ночью, а именно тогда мы будем вести партию, никто за Deep Blue не следит. Ну, спит охранник на этаже или как у них там. А вот утром все сыгранные партии операторы увидят, как и отследят то, куда уходила информация. Если у сервера будет прямая связь с Муравейником, то они смогут отследить наш Муравейник в Сети и станет он уже не нашим, а их. А так всё, что узнают — играли из Москвы из интернет-кафе. Может, играл непризнанный шахматный гений, или Каспаров тренировался, — на лице Виктора улыбка расплылась. А вторая машина — просто подстраховка, чтобы вообще не отследить связь с Мыравейником.
— Все что мы им оставим, это — адрес anthill@hotmail.com — продолжил он.
— Думаешь, напишут?
— Если все получится, то точно напишут.
После Макдоналдса найти спокойное место, чтобы посмотреть видео так и не получилось. Все это время Алекс катался по Москве, добираясь к квартире Джокера, без помощи метро, а только на троллейбусах и автобусах. Мало того, что пришлось делать три пересадки, так еще в пятницу после обеда вся Москва была одной сплошной пробкой.
Выйдя на остановке рядом с домом Джокера, Алекс направился в супермаркет купить что-то, полагающееся для встречи друзей не видевшихся лет десять. Пробежав по полкам взглядом, он взял первое, что попалось под руку из категории ценников "выше среднего" и направился к кассе. Настроения долго выбирать подарок не было, а в голове все всплывали картинки из уже далекого прошлого.
Да тогда у них все получилось. Муравейник всю ночь рвал, как Бобик тряпку, их хваленый Дип Блю, и уже в десять утра в ящике Энтхила лежала письмо от юристов IBM. Те любезно сообщили, что готовы обсуждать вопрос о невозбуждении уголовного преследования в связи с незаконным проникновением в корпоративную сеть, если с ними выйдут на контакт добровольно.
Виктор был убежден, что их все равно подставят.
"Американцы по-другому не умеют. С ними нужно говорить или с позиции силы, или с позиции контракта. А преследование и прочая ерунда… Ну кого они будут преследовать, они ж нас не вычислят?" — говорил он.
В ответ парни отправил письмо, что если у компании IBM возникнет желание заказать услуги по консультированию в вопросах шахмат, они могут писать, а если нет, то пусть идут… Тут вышла заминка потому что Алекс с Виктором начали спорить о более правильном адресе. Не придя к общему решению, оставили три точки — на усмотрения адресата.
И вот через две недели начался матч с Каспаровым. После первого проигрыша к ним в ящик снова упало письмо, но уже с предложением сотрудничества. Оно было мягким и вежливым. Теперь американцы интересовались условиями.
Виктор дал почтовый адрес, чтобы парни из IBM прислали подписанный с их стороны официальный контракт, давно заготовленный Джокером. В нем компания заказывала услугу у (здесь следовал пробел) по тестированию шахматного компьютера Дип Блю. При этом компания соглашалась на любые методы тестирования вплоть до проникновения в их компьютерную сеть. Сумма контракта составляла двести пятьдесят тысяч долларов, а дата подписания — две недели до того, как Муравейник играл против Дип Блю. Таким образом, с контрактом на руках ребятам судебное преследование не грозило, они просто тестировали Дип Блюю по контракту с IBM. Понятно, что подписывать контракт на игру с Каспаровым в IBM никто не согласился бы — всплыви такой контракт в будущем, это могло стоит компании слишком многого.
Отправляя письмо с прикрепленным контрактом, Джокер предложил, в качестве аванса, на следующий день сыграть против Каспарова, остальное — после получения подписанного контракта. Оплата контракта после окончания всей партии Каспаров — Дип Блю. В IBM сразу согласились и на следующий день счет в матче стал 1:1.
Через несколько дней, за время которых в матче разыграли три ничьи, Виктор получил контракт…
О последнем матче спорят до сих пор. Каспаров сдался уже на девятнадцатом ходу. Он хорошо был знаком с логикой шахматных программ и утверждал что в критический момент матча Дип Блю сделал ход, противоречащий логике программы. Повторный анализ партии на программах показывал, что сила хода, заводящего в ловушку, подготовленную Каспаровым, составляла 200 баллов. То есть этот ход был бы для стандартного шахматного алгоритма единственно верным. Но Дип Блю неожиданно выбрал более осторожный ход силой всего 70 баллов. Каспаров запросил распечатки с отчетом о работе Дип Блю, но владельцы отказались их предоставить.
Акции IBM выросли на 12 миллионов долларов, а суперкомпьютер сразу после матча разобрали.
— С вас три тысячи рублей, — протараторила девушка на кассе, пробивая бутылку шотландского виски.
"Будь тут Джерард, он бы мне сейчас глотку перегрыз за шотландский, а не ирландский виски" — промелькнуло в голове у Алекса.
После того, как экземпляр подписанного контракта с уже вписанными именами Алекса и Виктора отправили обратно в Штаты, в Москву прилетел руководитель одной из внутренних лабораторий IBM, чтобы познакомиться. Потом Виктор принял предложение о работе и улетел в Америку, а Алексу оставался еще год до окончания школы.
В деньгах он теперь не нуждался — Виктор честно поделил деньги поровну, объяснив, что еще пятьдесят тысяч нужно заплатить тем людям, кто получал на свой адрес контракт и деньги на оффшорный счет. Так что на руках у московского школьника оказалось сто тысяч долларов — фантастическая сумма в то время. Родителям о таких сумасшедших деньгах Алекс ничего не сказал.
После отъезда Виктора, Алекс, с кошельком набитым баксами всерьез занялся неприступной Светкой. Тусовки, клубы, травка и наркотики. Учеба была заброшена. В конце одиннадцатого класса, остатки, спущенных на наркотики, денег ушли на лечение. Ни о какой Америке речи уже быть не могло.
После школы поступить не получилось, и Алекс вернулся к хакерству. Пришлось снять отдельную квартиру, чтобы не слушать постоянные вздохи матери. Жизнь вошла в колею. Через два года снова сошелся со Светкой, отношения с родителями наладились. Еще через два года бросил хакерство — последнее дело чуть не обернулось арестом ФБР. Тогда он так и не понял, кто ему подсказал выйти вовремя из проекта, но понял, что пора окончательно выходить из игры. Недолго поискав работу, он оказался на нынешнем месте, в общем, сытом и спокойном.
Жизнь пошла по накатанной, и иногда просто хотелось волком выть от скукотищи. Спасали сначала пиво каждый вечер, потом, обязательный заход в бар после работы. Потом, полтора года назад, дверью хлопнула Светка…
Он набрал номер квартиры на переговорном устройстве, из динамика послышались гудки, после чего донеслось:
— Слушаю
— Джокер, ты? Белый медведь пришел, открывай.
— Умка, добрался? Заходи.
В двери щелкнул замок, и Алекс, изрядно напрягшись, приоткрыл тяжелую металлическую дверь.
"Интересно, а как бабули через эту бункерную дверь домой попадают?"
Выйдя из лифта Алекс увидел открытую дверь одной из квартиры и стоящего на пороге Джокера, точнее не его, а типичного подтянутого забугорного яппи, который отдаленно напоминал парня программиста, уехавшего десять лет назад в Америку. Но глаза были те же, живые, пытливые, а сейчас еще и сиявшие от восторга.
— Рад тебя видеть, Умка. Одиннадцать лет…
— Посчитал? Все вы в своих Америках считать любите…
— Да ну тебя, — перебил Виктор, крепко пожимая руку, затянул Алекса внутрь квартиры, — Заходи и чувствуй себя как дома.
— Джокер, хочу сразу предупредить, кажется, за мной охотятся и милиция, и ФСБ.
Виктор замер и внимательно посмотрел на Алекса.
— И что? Думаешь, я тебя на улицу выставлю? Заходи, располагайся, а дальше что-нибудь придумаем, если ты, обещаешь, что бабку-процентщицу топором не убил.
— Нет, я же писал тебе, что бабки, вроде бы все живы, — Алекс улыбнулся.
Теперь он точно знал, что пришел по адресу.