Изведоха ме навън, зад ъгъла чакаше цивилна полицейска кола. Не че някой в квартала нямаше да я познае. Само ченгетата караха „Краун Виктория“, след като горивото бе станало по седем кинта галона. И само ченгета можеха да спрат на две места на „Ван Нес“, без колата им да бъде вдигната от множеството обикалящи паяци, които бяха готови да приложат неразбираемите правила за паркиране на Сан Франциско и да ти приберат парите.
Сопола си издуха носа. Седях до него на задната седалка. Партньорът му беше отпред и пишеше на античен лаптоп, който принадлежеше сякаш на Фред Флинтстоун.
Сопола огледа внимателно личната ми карта.
— Искаме само да ви зададем няколко рутинни въпроса.
— Може ли да видя значките ви? — Тези очевидно бяха полицаи, но нямаше да навреди да покажа, че си знам правата.
Сопола размаха набързо своята, но Бенката ми позволи да огледам добре неговата. Запомних номера на отдела, както и личния му номер. Беше лесен: 1337. Така хакерите изписват „лийт“ или „елит“.
— Може ли пак да погледнем личната ти карта? — Двамата бяха много учтиви и не ме заплашваха като типовете от СВС.
— Арестуван ли съм?
— Задържан си временно с оглед на твоята и обществената безопасност — каза Сопола.
Дадох му шофьорската си книжка, той я подаде на Бенката, който я въведе бавно в компютъра. Видях, че направи грешка, и щях да го поправя, но си замълчах.
— Искаш ли да, ми кажеш нещо, Маркъс? Или те наричат Марк?
— Маркъс става. — Сопола изглеждаше свестен тип. Като изключим цялата част с отвличането, разбира се.
— Маркъс, искаш ли да ми кажеш нещо?
— Какво? Арестуван ли съм?
— В момента не си арестуван. Искаш ли да бъдеш?
— Не.
— Добре. Наблюдаваме те, откакто слезе от влака. Според картата си посетил множество странни места в странни часове.
Почувствах облекчение. Въобще не ставаше дума за Екснет. Явно наблюдаваха пътуванията ми и се чудеха защо са толкова странни напоследък. Пълна простотия.
— Значи следите всеки със странен маршрут, който излезе от гарата? Сигурно сте много заети.
— Не всеки, Маркъс. Уведомяват ни, когато се появи необичаен профил, и ние решаваме дали да разследваме. В твоя случай се появихме, защото искаме да знаем защо умно хлапе като теб има толкова странен профил на пътуванията.
След като вече знаех, че няма да ида в затвора, започнах да се ядосвам. Тези типове не биваше да ме шпионират. За Бога, не беше работа на влаковата система да им помага. Защо картата доносничеше, че съм имал нестандартен маршрутен профил?
— Мисля, че бих искал да ме арестувате — казах аз.
Сопола се облегна назад и повдигна вежди.
— Наистина ли? По какво обвинение?
— Нима ползването на нестандартен маршрут в обществения транспорт не е престъпление?
Бенката затвори очи и ги потърка с пръсти.
Сопола въздъхна.
— Виж, Маркъс, ние сме на твоя страна. Използваме тази система да залавяме лошите. Да залавяме терористи и наркодилъри. Може би ти си наркодилър. Влакът е добра възможност да обикаляш из града. Анонимно.
— Какво лошо има в анонимността? Била е достатъчно добра за Томас Джеферсън. В крайна сметка арестуван ли съм?
— Да го заведем у тях — каза Бенката. — Ще поговорим с родителите му.
— Чудесна идея. Сигурен съм, че нашите тръпнат от желание да разберат как се харчат парите от данъците им…
Прекалих. Сопола беше натиснал дръжката на вратата, но сега се извъртя към мен, намръщен като Хълк.
— Защо не млъкнеш, докато още имаш възможност? След случилото се през последните седмици няма да ти стане нищо, ако ни сътрудничиш. Може би трябва да те арестуваме. Да поседиш ден-два в затвора, докато адвокатът ти те измъкне. Много неща може да се случат за това време. Много неща. Какво ще кажеш?
Не казах нищо. Вече не бях ядосан, а изплашен.
— Съжалявам — измънках, въпреки че се мразех за това.
Сопола се премести отпред, а Бенката подкара колата към Потреро Хил. Бяха видели адреса от личната ми карта.
Мама отвори, но не махна верижката от вратата. Надникна през процепа и ме видя.
— Маркъс, кои са тези хора?
— Полиция — каза Сопола. Показа значката си, като остави майка ми да я огледа добре. — Може ли да влезем?
Мама затвори вратата, за да махне верижката, и ни пусна. Те ме въведоха вътре, а тя ги изгледа мрачно.
— За какво става въпрос?
Сопола ме посочи.
— Искахме да зададем на сина ви няколко рутинни въпроса за неговия маршрут, но той отказа да отговаря. Решихме, че е най-добре да го доведем тук.
— Арестуван ли е? — Мама заговори със силен акцент. Добрата стара мама.
— Госпожо, вие гражданин на Съединените щати ли сте? — попита Бенката.
Тя го изгледа с поглед, който можеше да остърже боя.
— Стествено, готин — каза тя с южняшки акцент. — И мен ли ш’арестувате?
Ченгетата се спогледаха. Бенката пое инициативата.
— Изглежда, не започнахме добре. Засякохме, че синът ви има нестандартен профил за използване на обществения транспорт, като част от новата проактивна полицейска програма. Когато видим хора с необичайни пътувания или подозрителен профил, ги разследваме допълнително.
— Чакайте — прекъсна го мама. — Откъде знаете как синът ми използва градския транспорт?
— От транзитната карта. Тя записва пътуванията.
— Разбирам. — Мама скръсти ръце. Това винаги е лош знак. Беше достатъчно лошо, че не им предложи чай. В нейната родина това е еквивалентно да си викат през процепа за пощата. Но щом скръсти ръце, положението ставаше още по-лошо. В този момент исках да й купя голям букет.
— Маркъс отказа да ни обясни защо е извършил тези пътувалия.
— Искате да кажете, че синът ми е терорист заради начина, по който се вози на автобуса?
— С този метод не ловим само терористи — каза Вейката. — Наркодилъри, улични банди. Дори крадци, които са достатъчно умни да удрят различни квартали всеки път.
— Мислите, че синът ми е наркодилър?
— Не казваме това… — отвърна Вейката. Мама плесна с ръце и го прекъсна.
— Маркъс, моля те, дай си раницата.
Направих го.
Мама се обърна с гръб към нас и погледна вътре.
— Господа, мога да потвърдя, че вътре няма наркотици, експлозиви и крадени вещи. Мисля, че приключихме. Преди да си тръгнете, бих искала номерата на значките ви.
Сопола я изгледа криво.
— Госпожо, Асоциацията за граждански права съди триста полицаи в Сан Франциско. Ще трябва да се наредите на опашката.
Мама ми направи чаша чай и ми се скара, че съм вечерял, след като знам, че е сготвила фалафел. Татко се прибра и ни завари на масата. Разказахме му за случката и той поклати глава.
— Лилиан, те просто са си вършили работата. — Носеше обичайния син блейзър и панталони в цвят каки, с които често ходеше на работа в Силиконовата долина. — Светът не е същият като преди седмица.
Мама остави чашата си.
— Дрю, това е абсурдно. Синът ти не е терорист. Ползването на обществения транспорт не може да е причина за полицейско разследване.
Татко свали блейзъра си.
— Използваме това и в моята работа. С тази система компютрите намират грешки и аномалии. Караш компютъра да създаде среден профил на базата данни и търсиш най-големите отклонения. Нарича се анализ на Байес и се използва от векове. Без него не можем да филтрираме спама…
— Искаш да кажеш, че полицията трябва да се превръща в нещо като филтъра за спам? — прекъснах го аз.
Татко никога не се ядосва, когато споря с него, но тази вечер личеше, че е напрегнат. Въпреки това не можах да се сдържа. Собственият ми баща вземаше страната на полицията!
— Казвам, че е напълно разумно полицаите да започнат разследване с анализ на информацията и след това да има човешка намеса, за да проверят защо съществува аномалия. Не смятам, че компютърът трябва да казва кого да арестуват, но може да им помогне да отсеят купата сено.
— Но те сами създават купата, като се ровят в транзитната система. Това е огромно количество информация без почти никаква стойност от полицейска гледна точка. Загуба на време и ресурси.
— Разбирам, че системата не ти харесва, защото ти е причинила неудобство. Но точно ти би трябвало да осъзнаваш ситуацията. Нали не се е случило нищо лошо? Дори се те докарали до вкъщи.
„Заплашиха да ме вкарат в затвора“, помислих си, но реших, че няма смисъл да го казвам.
— Освен това не си ни обяснил защо имаш толкова странен профил на пътуванията.
Това ме озапти.
— Мислех, че разчитате на преценката ми и не искате да ме следите. — Мама го повтаряше достатъчно често. — Наистина ли искате да ви докладвам за всяко пътуване?
— Баща ти ще го очаква. Бъди сигурен.
— И без това не се разбираме напоследък. Как би могло да стане по-лошо?
Тя ме изгледа с типично британски поглед.
— Ще говоря с него.
Щом влязох в стаята си, пуснах ексбокса. Бях закачил проектора на тавана, за да свети към стената над леглото ми. Наложи се да махна пласта пънк рок плакати, които бях свалял от стълбовете.
Изчаках машината да зареди. Мислех да пиша на Ван и Хулу за днешната случка с ченгетата, но не го направих.
Обзе ме същото чувство, както когато разбрах, че са направили стария Салмагунди предател. Този път ме завладя подозрението, че обичният Екснет може би издава местонахождението на потребителите си.
Беше заради думите на татко: „Караш компютъра да създаде среден профил на базата данни и търсиш най-големите отклонения.“
Екснет беше сигурен, защото потребителите не бяха директно свързани към интернет. Те прескачаха от конзола на конзола, докато намереха вързана към мрежата и изпращаха през нея кодираната информация. Никой не може да каже кои пакети са от Екснет и кои са част от нормалната кодирана комуникация, като онлайн банкиране и пазаруване. Беше невъзможно да откриеш кой използва Екснет.
Ами статистиките на Байес? Бях си играл с тях и преди. С Дарил се опитахме да напишем по-добър спам филтър и за целта ни трябваше Байесианска математика. Томас Байес е британски математик от 18-и век, който станал популярен двеста години по-късно, когато учените открили, че техниката му е много полезна за компютърен статистически анализ на информация.
Ето как работи. Да речем, че имаш купчина спам. Вземаш всяка дума и броиш колко пъти се повтаря. Това се нарича хистограма за честотата на думите и ти показва вероятността всеки сбор от думи да е спам. След това вземаш множество нормални писма — в бизнеса ги наричат „шунка“ — и правиш същото.
Изчакваш нов имейл и броиш думите в него. След това използваш хистограмата, за да изчислиш вероятността да е спам. Ако се окаже, че е спам, внасяш промените в хистограмата. Има множество начини да се усъвършенства, но като цяло това е основата на системата. Това е една от онези гениално прости идеи, които ти се струват очевидни, след като вече си научил за тях.
Системата има множество приложения. Можеш да накараш компютъра да брои линиите на снимките, за да ти каже дали това е „кучешка“ или „котешка“ хистограма. Може да открива порно, банкови измами и други работи. Полезно нещо.
И лоша новина за Екснет. Да речем, че следиш целия трафик, както прави СВС. Не можеш да определиш кой изпраща Екснет пакети, защото информацията им е кодирана.
Но можеш да откриеш кой изпраща голямо количество кодиран трафик. При нормален потребител една сесия обикновено е 95% чист текст и 5% криптиран. Ако някой изпраща 95% кодиран текст, може да изпратиш компютърните еквиваленти на Сопола и Бенката да го питат дали е терорист или наркодилър.
Това се случва постоянно в Китай. Някой умен дисидент решава да заобиколи Великия китайски файъруол, който цензурира връзката на цялата страна, като използва криптирана връзка с компютър в чужбина. Партията не може да разбере какво точно сърфира. Може да е порно или указания за направа на бомба, мръсни писма от гаджето от Филипините, политически материали или глупости за сциентологията. Няма нужда да знаят. Достатъчно е да видят, че човекът има много повече кодиран трафик от съседите си. Тогава го пращат в трудов лагер, за да покажат какво се случва с големите умници.
Засега бях готов да се обзаложа, че Екснет е извън радара на СВС, но нямаше завинаги да е така. А след тази вечер се чувствах съвсем като китайски дисидент. Бях изложил на опасност всички хора, които бях въвлякъл в Екснет. Законът не се интересуваше дали вършиш нещо лошо. Щяха да те сложат под микроскопа само защото си статистическа аномалия. А вече не можех да спра Екснет. Той живееше собствен живот.
Налагаше се да оправя нещата по друг начин.
Трябваше да говоря с Хулу. Той работеше за интернет доставчик на име „Пигсплийн Нет“. Бяха го наели още на дванайсет години и разбираше от мрежата повече от мен. Щеше да знае как да спаси задниците ни от пандиза.
За щастие с Ван и Хулу имахме среща на следващата вечер в любимото ни кафене в Мишън. Официално това се водеше седмична среща на отбора, но след като играта бе спряна и Дарил го нямаше, предимно ревяхме и се питахме дали сме добре и дали наистина всичко това се е случило. Щеше да е хубаво да има за какво друго да говорим.
— Ти съвсем се побърка — каза Ванеса. — Наистина ли си откачил тотално и безвъзвратно?
Беше още с ученическата униформа, защото трябваше да се прибира по по-дълъг път през моста „Сан Матео“, използвайки училищен автобус. Мразеше да се мотае на обществени места с униформа, защото приличаше на Сейлър Мун7 — плисирана поличка и чорапи до коленете. Беше в лошо настроение, защото кафенето бе пълно със студенти, които се подсмихнаха при нейната поява.
— Какво да направя, Ван? — И аз започвах да се дразня. Училището беше непоносимо без играта и Дарил. Цял ден се утешавах, че ще видя остатъка от отбора, а сега се карахме.
— Искам да спреш да се излагаш на риск, Мики. — Космите по тила ми настръхнаха. Обикновено на тези срещи си говорихме на никове, но след като псевдонимът ми беше свързан с Екснет, вече се плашех да го чувам на обществено място.
— Не ме наричай така на обществени места — просъсках аз.
Ван поклати глава.
— Точно за това говоря. Може да влезеш в затвора, Маркъс. И не само ти. След това, което стана с Дарил…
— Правя го заради Дарил! — Няколко души се обърнаха към нас и понижих глас. — Правя го, защото алтернативата е да им позволя да се измъкнат.
— Мислиш, че можеш да ги спреш? Откачил си. Те са правителството.
— Страната си е наша. Имаме право на това.
Ван сякаш щеше да заплаче. Пое си дълбоко дъх и стана.
— Съжалявам, не мога да го направя. Не мога. Все едно гледам катастрофа на каданс. Ти ще се самоунищожиш, а аз те обичам твърде много, за да гледам как това става.
Тя ме прегърна и ме целуна по бузата и в ъгълчето на устата.
— Пази се, Маркъс. — Кожата ми гореше от докосването на устните й. Тя целуна и Хулу, но само по бузата, и си тръгна.
С Хулу се спогледахме.
— Мамка му! — изпъшках и закрих лице с длани.
Хулу ме потупа по гърба и ми поръча ново лате.
— Всичко ще е наред.
— Човек би решил, че точно Ван ще разбере. — Родителите й бяха бежанци от Северна Корея. Бяха живели под луда диктатура, преди да избягат в Америка, за да осигурят на дъщеря си по-добро бъдеще.
Хулу сви рамене.
— Може би затова е изплашена. Защото знае колко опасно може да стане.
Знаех за какво говори. Двама от чичовците на Ван бяха изчезнали по затворите след бягството на родителите й.
— Аха.
— Защо не беше в Екснет снощи?
Бях доволен от смяната на темата. Обясних му за Байесианската система и страха ми, че ще привлечем внимание с ползването на Екснет. Той ме слушаше внимателно.
— Разбирам за какво говориш. Проблемът е, че ако има твърде много крипто в нечия комуникация, тя ще се отличава. Ако пък не криптираш, лошите ще могат да те следят по-лесно.
— Аха. Мисля над това цял ден. Може би ако забавим връзката и я разхвърляме през повече акаунти…
— Няма да стане — отвърна Хулу. — За да скриеш всичко, ще трябва да забавиш толкова, че на практика мрежата ще спре. Не е опция.
— Прав си. Но какво друго да направим?
— Защо да не променим определението за нормално?
Ето защо „Пигсплийн“ наеха Хулу още на дванайсет години. Дай му проблем с две лоши решения и той ще предложи трето, изхвърляйки всичките ти предположения. Закимах трескаво.
— Продължавай.
— Какво ще стане, ако нормалният потребител в Сан Франциско има много повече крипто на ден? Ако успеем да докараме до петдесет на петдесет чистия и шифрования текст, потребителите на Екснет няма да се отличават.
— Но как ще го направим? Хората не се интересуват толкова от сигурността на информацията, че да сърфират през криптирана връзка. Не виждат нищо лошо в това шпионите да знаят какво търсят в „Гугъл“.
— Да, но уебстраниците са малка част от трафика. Ако накараме хората рутинно да смъкват по няколко големи криптирани файла дневно, това ще се равнява на хиляди уебстраници.
— Говориш за независима мрежа?
— Точно така.
Независимата мрежа направи „Пигсплийн“ един от най-успешните независими доставчици на нет в света. Когато големите музикални компании започнаха да съдят феновете за даунлоуд на музика, мнозина от независимите творци се обявиха против. Как ще изкарваш пари, като съдиш клиентите си?
Основателката на „Пигсплийн“ откри отговора. Тя предложи сделка на всеки, който искаше да работи с феновете си, а не срещу тях. Даваш на „Пигсплийн“ право да разпространява музиката ти, а в замяна получаваш процент, в зависимост от популярността на творчеството ти. Независимите творци нямат проблем с пиратството, а с неизвестността. Никой не иска да ти открадне песните, ако не ги е чул.
Схемата проработи. Стотици независими компании и музиканти сключиха договор с „Пигсплийн“, Колкото повече музика имаше, толкова повече клиенти се връзваха към доставчика и повече пари отиваха за творците. В рамките на година фирмата привлече сто хиляди нови клиенти, а сега имаше почти милион — повече от половината потребители в града.
— Разполагам с основата на кода на независимата мрежа от месеци — каза Хулу. — Оригиналните програми са писани набързо и могат да станат по-ефективни с мъничко работа. Само че нямах време. Една от приоритетните задачи е да се криптират връзките само защото на Труди така й харесва.
Труди Ду беше основателката на „Пигсплийн“. Легенда на пънка в Сан Франциско и вокалистка на анархо-феминистката банда „Скоростни курви“. И тя е луда по личната свобода. Напълно вярвах, че иска музикалните й услуги да са криптирани.
— Трудно ли ще е? Искам да кажа, колко време ще отнеме?
— В мрежата има тонове безплатен крипто код. — Хулу действаше както винаги, когато срещнеше сериозен проблем. Опитваше да обхване цялата картина. Барабанеше с длани по масата и караше кафето да подскача. Идеше ми да се засмея. Всичко отиваше по дяволите, но той щеше да напише този код.
— Мога ли да помогна?
Той ме изгледа.
— Мислиш, че няма да се справя ли?
— Какво?
— Ами ти направи цялата работа с Екснет, без дори да ми кажеш. Без да говориш с мен. Помислих, че няма да имаш нужда от помощта ми.
Нямах думи.
— Какво? — Той изглеждаше наистина разпален. Явно това го човъркаше от доста време. — Хулу…
Погледна ме и видях, че е разгневен. Как го бях пропуснал? Боже, понякога съм такъв идиот.
— Виж, пич, не е голяма работа. — Искаше да каже, че наистина е голяма работа. — Само че можеше да ми кажеш. И аз мразя СВС. Дарил е и мой приятел. Можех да ти помогна.
Идеше ми да си завра главата между коленете.
— Хулу, това наистина беше глупаво. Направих го в два през нощта. Бях подивял. Всичко се случи изведнъж. Аз… — Не можех да го обясня. Той беше прав и в това бе проблемът. Вярно, че беше два през нощта, но можех да му се обадя на следващия ден, или на по-следващия. Не го бях направил, защото знаех какво ще каже. Че това е грозен хак и трябва да го обмисля по-добре. Хулу винаги успяваше да превърне среднощните ми идеи в код, но крайният резултат винаги беше по-различен от първоначалния ми замисъл. Исках този проект за себе си. Напълно се бях превърнал в „Мики“.
— Съжалявам — казах накрая. — Наистина съжалявам. Прав си. Просто откачих и направих нещо глупаво. Имам нужда от помощта ти. Не мога да се справя без теб.
— Сигурен ли си?
— Разбира се. Ти си най-добрият програмист, когото познавам. Истински гений. За мен ще е чест, ако ми помогнеш с това.
Той продължи да барабани с пръсти.
— Просто… Ти си лидерът. Ван е мозъкът. Дарил беше… Той беше твоят заместник, който се грижи за организацията и детайлите. Програмирането беше моята роля. Почувствах, че едва ли не вече нямаш нужда от мен.
— Човече, такъв съм идиот. Ти си най-квалифицираният и само ти можеш да направиш това. Наистина, наистина…
— Добре де, стига. Хубаво. Вярвам ти. В момента всички сме скапани. Разбира се, че ще ти помогна. Дори мога да ти платя. Разполагам с малък бюджет за програмисти на хонорар.
— Наистина ли? Никой не ми е плащал за писане на програми.
— Разбира се. Вероятно си достатъчно добър, за да го заслужиш. — Той се усмихна и ме ръгна в рамото. Хулу обикновено е доста сговорчив и точно затова ме беше изплашил толкова.
Платих кафетата и излязохме. Обадих се на нашите да им кажа какво ще правя. Майката на Хулу настоя да ни приготви сандвичи. Заключихме се в неговата стая и започнахме един от най-великите програмистки маратони. След като техните си легнаха към единайсет и половина, отмъкнахме кафемашината и направо се поставихме на кофеинови системи.
Ако никога не сте програмирали, пробвайте. Няма подобно нещо в целия свят. Когато програмирате компютър, той прави точно каквото му казвате. Все едно конструираш машина, кола или газова панта — ползваш инструкции и математика. Чувството е наистина неописуемо. Може да те изпълни с благоговение.
Компютърът е най-сложната машина, с която ще работите. Той е сбор от милиони микротранзистори, които могат да подкарат всяка програма. А когато седнете пред клавиатурата и напишете един ред код, тези транзистори правят каквото им кажете.
Повечето от нас няма да конструират кола. Почти никой няма да създаде авиационна система, да проектира сграда, да направи градоустройствен план.
Това са сложни задачи и не са за всеки. Но компютърът е десет пъти по-сложен и въпреки това ще ти играе по свирката. Можеш да научиш основите на програмирането за един следобед. Започни с лесен език като Python, който е създаден за непрограмисти. Струва си, дори да програмираш само един ден. Компютрите могат, да те контролират, а могат и да помагат в работата ти. Ако искаш власт над машините, трябва да се научиш да програмираш.
Онази нощ написахме много код.