Odbrana Tjuringove mašine od hipstera koji žele novo i bolje, a da još uvek ne razumeju razliku između starog i bezvremenog

Postoje teme koje nisu jednostavne i tema sigurnosti je jedna od njih. Tema Tjuringove mašine još je gora. Danas je red da odgovorim Marku Tatlu i dam mu savet kako da priča o temama koje su deo informatičke teorije

Miroslav Gavrilov - 3. Decembar, 2015.

Za početak, sedite. Ovo neće biti standardan poslepodnevni quick read. Ako vas interesuje gde ne smete pogrešiti i u koje zamke ne smete upasti, nedajbože investirati posle nekog “dobrog” elevator pitch-a, a sa ovom temom u vezi, nećete to moći da pokupite brzo. Postoje teme koje nisu jednostavne i tema sigurnosti je jedna od njih. Tema Tjuringove mašine još je gora.

Današnji pacijent je čovek koji me je jednom davno podstakao da napustim svoj tadašnji posao i uradim sa životom ono što želim, posle razgovora čije detalje i danas mogu da razlučim kao da se desio pre samo par sati. On se mene verovatno ne seća, bio sam jedan lik iz publike, verovatno samo hrana za ego. Danas je red da odgovorim Marku Tatlu, iako nisam pitan direktno, kako da se ne blamira pri intervjuisanju, ako priča o temama koje su deo informatičke teorije. Ovo nije napad na Marka; samo napad na neznanje koje je, nažalost, invazijom raznih familija buzzword-a i raznih layman empowerment govora uspelo da se uvuče na velika vrata i maže oči čak i najboljima.

U sajber bezbednost sam ušao 2007., kada sam investirao u kompaniju koja ima veliku bazu sa intelektualnom svojinom i kompjutersku podlogu sledeće generacije koja može da se nosi sa malware problemima i hakovanjem. O bezbednosti pre ovoga nisam ništa znao,  a razlog za investiciju je bilo prijateljstvo sa osnivačem, dr Majklom Fiskom.

Ovo mi je omogućilo da dobijem trogodišnje besplatno obrazovanje od jednog od najvećih stručnjaka u polju bezbednosti. Znao sam da čak i ako mi se ne povrati novac, obrazovanje koje sam stekao je još vrednije. Uložio sam 50k, i bilo bi mi okej da ništa ne dobijem.

Razgovor sa Markom otvorio je zanimljiva i radikalna pitanja o budućnosti kompjuterskih nauka i bezbednosti, uz tezu da potpuna sajber bezbednost nije moguća na Turingovoj mašini sa fon Nojmanovom arhitekturom.

Uvod je bitan, iako nema direktne veze sa temom sve do poslednjeg pasusa, u objašnjavanju Markove pozadine i razloga zbog kog je mogao da nasedne na nešto što zvuči tako jednostavno kao “Tjuringova mašina sa Fon Nojmanovom arhitekturom je pokvarena i to je ceo problem”.

Pa, nije u pravu. Tjuringova mašina je “pokvarena”, na neki način, namerno. Prvo, nemojte zamišljati neke kuke i kvake: Tjuringova mašina je čista mentalna alatka i služi samo kao teorijska osnova bilo kakvog pravog računara. Od samog početka je bilo jasno da ćemo prave računare morati da gradimo od drugačijih materijala, pa zašto onda uopšte kažemo da se na Tjuringovoj mašini bazira sve danas?

U tom grmu leži prvi zec: pod uslovima da fizika našeg sveta važi u smislu u kom važi u makro-svetu tj. našoj svakodnevnici, Tjuringova mašina je model bilo kog uređaja koji može da računa bilo šta. Bilo šta. Drugim rečima, Tjuringova mašina je univerzalni računar, sposoban da izrazi bilo kakav račun koji je moguće obaviti u konačnom vremenu (ono što u praksi zovemo korisno).

Genijalnost u jednostavnosti

Deo lepote ideje koju je Alan Tjuring predstavio te davne 1936. je upravo to: evo vam jedna veoma jednostavna postavka, jedna štap-kanap mašina, nacrtana na listu hartije, koja ne može da uradi ništa fascinantno na prvi pogled, i — posle dramske pauze — evo vam dokaz da može da uradi sve što možete da zamislite.

Šta je sve računanje? Pa, tri plus dva je račun. “Koliko je sati?” je račun. Zbilja, bilo šta za šta postoji objašnenje u obliku konačnog broja koraka koje možete da pratite bez dvosmislenosti (poznato takođe i kao algoritam) je račun. Slušate muziku sad? Imate neki program uključen? Sve su to različiti računi i, da, Tjuringova mašina je sposobna da ih sve izvede. Svako pitanje, nema veze koliko kompleksno, možete napisati kao konačan niz “da/ne” pitanja, pa ih tako možemo predstaviti jednim konačnim nizom nula i jedinica, koje će predstavljati to “da” i “ne”, stoga, možemo ih “izračunati”.

Sa dovoljno velikom mašinom, čitavi naši operativni sistemi bi se mogli izraziti u Tjuringovoj mašini, no to ne bi bilo fino za jadne ljude zadužene da je popravljaju i sređuju: zato kažemo da je ona mentalni model; u praksi postoje prečice, no to su samo prečice; ne i zbilja drugačiji načini rada. Na kraju krajeva sve što je moguće računati u konačnom broju koraka ostaje u ideji predstavljenoj pred drugi svetski rat.

Sve tehnologije koje koristimo, uključujući i cloud, nalaze se na sistemu koji ne može da bude osiguran. Kad god neko novi izađe sa svojim bezbedonosnim rešenjem, hakeri pronađu način da ga slome. Dobri momci pokušaju da nađu novo rešenje, a loši ga slome. To vam je kao Hladni rat između Sovjeta i Amerike – oni izgrade nešto, mi izgradimo veće, oni nas nadmaše, mi za njima.

Ovaj telefon, ovaj računar, i bilo šta drugo što radi bilo kakvo računanje može se predstaviti Tjuringovom mašinom, da. Tjuringova mašina, taj model kog se Mark boji, činjenica je koja nema veze sa sigurnošću. Tjuringova mašina može da računa bilo šta, pa zbog toga mora da može da obavlja i nesigurne transakcije (koje su, usput, mnogo jednostavnije od sigurnih). To što je sposobna za to je činjenica zato što ona može da računa sve. To ne znači da je kriva za to. Ona takođe može da predstavlja i viruse, ali isto tako i antiviruse.

Reći ovakvo nešto je isto kao i tvrditi da je neko kriminalac samo zato što je čovek, a postoje ljudi koji su kriminalci. Sad maskirajte ljude u neki latinski izraz i recite to sa nekoliko buzzworda i možda niko neće videti grešku u vašoj logici!

Čovek-mašina-čovek je nužno nesiguran lanac

Na širem planu, ljudi ne razumeju koliko je sve nesigurno. Ako bih poredio sa situacijom koju ljudi mogu da razumeju, to bi bilo kao da veslate čamcem preko okeana, na čamcu ima mnogo rupa i voda konstantno ulazi, a vi sve vreme pokušavate da izlivate vodu iz čamca. Rekao bih da je tako loše. Američka Vlada je kapetan broda i kapetan nas uverava da je sve u redu, a ako pogledate ispod vode vidite da postoji armija ljudi koja odlaže potonuće.

Problem sigurnosti u ovom primeru uopšte nije problem interneta, već problem institucija: čak i da se transakcije, ne znam, ne prate putem interneta ili čak i da se zabrani njihovo uzimanje od strane NSA, banke bi mogle da daju izveštaje koje pišu monasi, rukom, guščijim perom, na papirusu i da to šalju vladi na magarcima; da li bi i tu onda bila kriva Tjuringova mašina i Fon Nojmanova arhitektura? Sistem mora da bude pokvaren koliko najgori čovek u njemu i tu nema popravke sem izbacivanja najgoreg čoveka i re-evaluacije. Kompletna automatizacija sistema bila bi, u tom pogledu, čak mnogo sigurnija! Svaka interakcija čovek-mašina-čovek stvara nesigurnost ali samo zbog nemogućnosti obezbeđenja tog kontakta. Dobro je poznato da je tzv. social engineering moguć i bez računara i da mnogo bolje rezultate daje od hakovanja iz Holivudskih filmova.

Dakle, lepa priča i potpuno istinita, no zamagljena tako da se ne vidi koji je pravi problem: ako neko želi da dobije vaše podatke, a usput je najveća svetska sila, pre ili kasnije, postojaće jedna osoba koja će biti dovoljno uplašena ili oduševljena da ih prosto, bez otpora, preda toj sili.

Minecraft alternativa Tjuringovoj mašini

Mark je skeptičan prema postojećim rešenjima zbog uverenja u manjkavosti trenutne arhitekture i onoga što poima pod “Turingovom mašinom”. Kaže da sigurnije alternative postoje samo u akademskim krugovima, a da bi jedno od rešenja bio koncept na kom radi zajedno sa dr Majklom Fiskom, koje bi oponašalo način funkcionisanja živih bića i razmišljanja ljudi (naglašava da se ne radi o veštačkoj inteligenciji).

Alternative Tjuringovoj mašini još kako postoje! To bi bile druge mašine koje su sposobne da računaju sve moguće računice. To su, naravno, modeli, a ne mehaničke mašine, podsećam opet: možete ih guglati i čitati o njima; nekoliko njih je krajnje poznato danas (lambda kalkulus, formalni jezici, teorija automata, Minecraft (da, taj Minecraft!) su sve dokazane alternative). Sve one, a ima ih mnogo, su, nažalost, ekvivalentne Tjuringovoj mašini. Šta ovo znači?

Pa, zamislite sve prirodne brojeve. Vi ih, kao deca, učite na srpskom. Mark ih je učio na engleskom ili nemačkom. Neko treći na japanskom. Da li ovo znači da postoji bezbroj brojeva koji znače “dva”? Ne, to je samo drugačija reprezentacija istog skupa mogućih brojeva. Sve naše reprezentacije brojeva su jednake, koji god jezik gledali, tako da možemo da odaberemo jedan, recimo engleski, i da se dogovorimo da on bude standardan. To je ono što se desilo sa Tjuringovom mašinom: pošto je najlakša za objašnjavanje, uzeta je kao standard za pričanje o univerzalnosti računanja.

Voleo bih da znam zašto Mark misli da akademija pokušava da uspori razvoj bilo čega što bi bilo ne-Tjuringovo procesuiranje. Takođe, zašto misli da će bilo šta takvo ostati u akademiji? Mislim da je glavni razlog banalizacija i nerazumevanje. Ako vam problem izgleda jednostavno, a neko vam ponudi rešenje, u teoriji, i onda pokušava da ga materijalizuje, ali mu ne ide jer — pa, postoje zakoni fizike — naravno da ćete misliti da ga samo želi zadržati za sebe i da biva nepraktičan.

Ne, Mark. Uviđamo potrebu. Takođe, uviđamo i istinu o ograničenjima koje priroda daje.

“Ja nisam samo Fon Nojmanov automat!”

“Dr Fisk radi na alternativi, ali trenutno samo u akademskom kontekstu. Njegovo rešenje je zasnovano na organskom načinu razmišljanja i ponaša se kao ljudski mozak.

Kao neko ko i sam pokušava da se penje lestvicama ove nauke, morao sam da iskopam dr Fiska i njegov rad. Našao sam nešto što me je oduševilo: tekst u časopisu H+, čiji sam jedan od prvih fanova bio kad se pojavio (evo linka). Dr Fisk prikazuje arhitekturu koja ima ulaze, ima izlaze, kontrolne jedinice (u obliku thresholda neuralne mreže koju gradi), očiglednu aritmetičku jedinicu koja sabira signale i šalje ih dalje i — za kraj — memorijsku jedinicu koja drži u sebi sve ove stvari. Na dijagramu, ovo bi se moglo lepo nacrtati ovako:
Screen Shot 2015-12-03 at 2.46.58 PM

A ne, oprostite, ovo je dijagram za Fon Nojmanovu arhitekturu! Nije li čudno kako je svaka sličnost sa ovim ranjivim, prastarim modelom sasvim slučajna? Ne, nije čudno.

Istina je da je i Fon Nojmanova arhitektura još jedan od onih večnih kamena mudrosti koji nam govore “ovo su minimalni potrebni delovi kako bi nešto uopšte moglo da se računa”. Mi sami imamo Fon Nojmanovu arhitekturu u sebi: imamo ulazne uređaje, senzore za mirise, za treperenje vazduha, za različite elektromagnetne nadražaje, imamo razne načine izbacivanja podataka iz svog sistema, a dok su podaci unutra, obrađujemo ih, skladištimo i kontrolišemo. Takođe, računamo! Jedan moj profesor sa PMF-a u Novom Sadu jednom je, prolazeći pored mene, viknuo nekome: “Ja nisam samo Fon Nojmanov automat!” ali to je samo sujeta, i, u njegovom slučaju, šala. Naravno da jesmo, sama naša DNK već ispunjava sve ove uslove, iako na jednom fundamentalnom, hemijskom nivou.

O čemu, dakle, pričamo? Svaki program koji možete da napišete na današnjim, ili bilo kakvim budućim računarima, čim ste ga napisali, podleže i Fon Nojmanovoj arhitekturi i Tjuringovoj mašini i to je prosto tako. Nadam se da dr Fisk svoje programe piše po orbitalama atoma, iako sumnjam da bi i tu važila ista pravila.

Organskim modelima bi se došlo do rešenja sigurnosnih problema, a ne kroz sistem za koji je neko mislio da bi bio koristan 1936. Sa tačke gledišta progresivne kulture, mi nismo baš progresivni. Ostajemo privrženi onome što razumemo, što predajemo i u čemu smo dobri. Ne tražimo zamenu.

Da su organski modeli sigurni na bilo koji način, mađioničari bi ostali bez posla, a termin “optička varka” ne bi postojao. Ne bi nam čak bila potrebna zaštita, da je naš organski model dobar, razmislite. Da citiram baš Džona Fon Nojmana:

Kad pričamo u matematici, možda samo pričamo sekundarnim jezikom sagrađenim nad primarnim jezikom našeg nervnog sistema.

Što se dela rečenice “…a ne sistem koji je neko mislio da bi bio koristan 1936.”, mogu samo reći da mnogo toga danas ljudi uzimaju zdravo za gotovo. Za domaći, eno vikipedije o Alanu Tjuringu i Džonu Fon Nojmanu. Uporedite koliko toga su oni uradili za svog života, a koliko vi i ceo krug ljudi koji znate i još uvek će rezultat biti isti. Ovo nije bilo ko. Ovo nije samo neko ko ima ideju za “sad i ovde”. Ovo su očevi nekoliko različitih nauka, ljudi koji su bez problema mogli da misle o budućnosti bez ograničenja trenutka, i sa znanjem i intuicijom nezamislivo moćnim. Zato bi moglo delovati kao da su ideje koje su važile tada danas zastarele, no njihove ideje su univerzalne i proste: ne trend, već istina. Pomaže i to što su bili svesni svojih ograničenja, što ne vidim kod Marka i Fiska, nažalost. Usuditi se i pomisliti da bar jednom od dvojice velikana iz prošlosti nešto od ovih ideja nije palo na pamet, bez proveravanja te informacije, me, iskreno, plaši. Govori mi o egocentrizmu zasnovanom na poluinformacijama i o osnovnom nepoznavanju života i dela ovih ljudi. Nekako mi je to, sa druge strane, potpuno tipično za kulturu koja goni entrepreneurship danas.

Da živimo u Malament-Hogartovom vremeprostoru, hiperkompjutacija bi bila svakodnevnica

Prvi čovek koji je pričao o ograničenjima i naprednijim verzijama modela koji je Alan Tjuring dao svetu zvao se upravo Alan Tjuring! Ne zato što boluje od neke misteriozne mentalne bolesti, već zato što je bio osoba koja nije volela granice i, verovatno, ideju jednosmernih ulica. Alan Tjuring je pričao o hiperkompjutaciji, o računarima koji bi mogli da pređu ograničenja Tjuringove mašine, i pokazao šta neke od njih moraju da ispune kako bi to bilo moguće.

Evo primera nekoliko načina na koje bismo mogli ova ograničenja da prevažiđemo:

Čini se prirodnim da mogućnost putovanja kroz vreme (postojanje zatvorenih vremenolikih krivih) čini hiperkompjutaciju mogućom.

ili, moj lični favorit:

Prema radu iz 1992, kompjuter koji radi u Malament-Hogartovom vremeprostoru ili u orbiti rotirajuće crne rupe, teoretski bi mogao raditi ne-Tjuring računanja.

Očekujem da Mark ima ili rotirajuću crnu rupu ili vremeplov negde u garaži ako može pouzdano da kaže da ćemo do ovoga doći u sledećih dvadeset godina. Napredak ovog tipa nije mala stvar i akademija bi bila više nego oduševljena da je bilo koje od gorenavedenih moguće, no realno, ne uspevamo ni do Marsa da dođemo, a ne do najbliže crne rupe (a i da dođemo do nje, nemamo baš način da od nje pišemo kući sa rezultatima našeg hiper-računa). Takođe, nažalost, da živimo u Malament-Hogartovom vremeprostoru, hiperkompjutacija bi bila svakodnevnica, tako da vam je verovatno jasno da ne živimo u istom.

Voleo bih da ne moram ovo da pišem i da ljudi izuče teme o kojima pričaju pre nego što počnu da pričaju o njima. Akademija u globalu nije pasivan član ove vožnje ka budućnosti: DARPA daje ogromne pare kako bi se došlo do mnogo manjih rešenja od onoga o čemu Mark priča, i čak i ti problemi su problemi koji se godinama rešavaju i zahtevaju ogromnu investiciju vremena i pažnje, no samo zato što moramo da pazimo na detalje. Moramo da pazimo šta pričamo jer je jedini napredak onaj koji se dobija diskusijom, a jako je teško diskutovati sa neupućenim sagovornikom, naročito ako ne želi da shvati da nešto ne zna.

Najbliža ideja hiper-računanju (i ovo nije isto što i kvantno računanje) kojoj možemo prići kao veoma lepoj ideji i dokazu, jeste nešto što je Hava Sigelman dokazala 1994. godine: rekurentna neuralna mreža koja kao svoje težine ima prave realne brojeve proizvoljne preciznosti, sposobna je za hiper-računanje. Ovo je dokazano.

Evo ideje: da li je naša neuralna mreža u glavi jedna koja sadrži realne težine? Da li je mera kojom možemo da opišemo te težine dovoljno proizvoljna da bi Hava Sigelman mogla da primeni svoju teoriju na nas? Da li bi bilo teško zamisliti da su hemijsko-fizičke veze između naših neurona, kao i svi njihovi čudni i prelepi evolucijom gonjeni, u bezbroj mutacija stvoreni detalji dovoljno različiti od onih koje prezentujemo sa nekolicinom bajtova u rečunaru? Da li možemo da pretpostavimo da smo, ako ništa drugo, na osnovu toga, bliže hiper-računanju od naših računara? Sasvim sam siguran da možemo to da pretpostavimo, ali bih bio prvi koji bi izazvao taj stav ako bi mi ga neko ponudio kao činjenicu. Ne pada mi na pamet kada radimo nešto takvo, sem možda na neki nesvestan način, u eksplozijama intuicije i snova. Sve naše misli, sem toga, deluju konačno (iako mislimo o beskonačnom!) i organizovano, dakle, algoritmično.

Problem je, naravno, baš u tome što su sve naše mašine ograničene prezentacijom realnih brojeva. Ne možemo da imamo proizvoljnu preciznost i uvek postoji greška. To je samo zato što imamo konačan prostor i konačno vreme i što stvarima, čak i svetlosti, treba vreme da bi putovale ka drugim delovima prostora, dakle: fizičko ograničenje. Siguran sam da ljudi van akademije svakodnevno rešavaju probleme otklanjanja fizičkih ograničenja, i da je mnogo firmi u San Francisku uspelo da dobije mnogo para radeći na ovakvim izumima.

Zvučim otrovno, no to je samo zato što se plašim zmija otrovnica, i moram da budem spreman da budem otrovniji od istih. Volim da budem na zemlji dok sanjam o nebesima; da razumem ideje džinova pre nego što odlučim da ću da se penjem po njihovim ramenima i da probam da ih sahranim. Nemam ništa protiv uloge osobe koja će sahranjivati lažne proroke, doduše.