Lekcia 15

Sila v číslach

Pozrime sa na to: štyri krát päť je dvanásť a štyri krát šesť je trinásť a štyri krát sedem je štrnásť – ale no tak! Týmto tempom sa nikdy nedostanem po dvadsať!

Čísla sú neodmysliteľnou súčasťou nášho každodenného života. S veľkými číslami si však väčšina z nás neporadí. Najväčšie čísla, s ktorými by sme sa mohli bežne dostať do kontaktu, sa pohybujú v rozsahu miliónov, miliárd alebo triliónov. Možno čítame o miliónoch ľudí žijúcich v chudobe, miliardách dolárov vynaložených na pomoc bankám a triliónoch dolárov národného dlhu. Aj keď je do istej miery ťažké pochopiť tieto nadpisy, veľkosť týchto čísel nás až tak neprekvapuje.

Hoci by sa mohlo zdať, že dokážeme spracovať miliardy alebo trilióny, naša intuícia už pri číslach tejto magnitúdy zlyháva. Máte tušenie ako dlho by ste museli čakať, kým prejde milión/miliarda/trilión sekúnd? Ak ste ako ja, ste stratení, kým si tieto čísla naozaj nespočítate.

Poďme sa podrobnejšie pozrieť na tento príklad: rozdiel medzi nimi je vždy zvýšenie o tri rády magnitúdy: 10⁶, 10⁹, 10¹². Premýšľať o sekundách nie je veľmi užitočné, takže si to preložme do niečoho, čo si dokážeme v hlave spracovať:

  • 10⁶: jeden milión sekúnd to je pred 1 a pol týždňom.
  • 10⁹: jedna miliarda sekúnd to je takmer pred 32 rokmi.
  • 10¹²: pred jedným triliónom sekúnd bol Manhattan pokrytý hrubou vrstvou ľadu.
Asi pred 1 triliónom sekúnd. Zdroj: xkcd #1225

Akonáhle vstúpime do mimoastronomického kráľovstva modernej kryptografie, naša intuícia katastroficky zlyháva. Bitcoin je vybudovaný na veľkých číslach a praktickej nemožnosti ich uhádnutia. Tieto čísla sú oveľa väčšie ako čokoľvek s čím sa môžme stretnúť v každodennom živote. O mnoho rádov väčšie. Ak pochopíme, aké veľké tieto čísla v skutočnosti sú, je to základ pochopenia Bitcoinu ako celku.

Zoberme si SHA-256, jednu z hašovacích funkcií používaných pri Bitcoine ako konkrétny príklad. Je prirodzené predstaviť si 256 bitov ako „dvesto päťdesiat šesť", čo nie je veľké číslo. Číslo v SHA-256 nám hovorí o rádoch magnitúdy — niečom, čo naše mozgy nie sú schopné ľahko spracovať.

Zatiaľ čo dĺžka bitu je vhodnou metrikou, skutočný význam 256-bitovej bezpečnosti sa pri preklade stráca. Podobne ako pri miliónoch (10⁶) a miliardách (10⁹) uvedených vyššie je číslo v SHA-256 v rádoch magnitúdy (2²⁵⁶).

Takže aký silný je vlastne SHA-256?

“SHA-256 je veľmi silný. Nie je ako inkrementálny krok z MD5 na SHA1. Môže trvať niekoľko desaťročí, kým príde k prelomeniu tohto kódu.” Satoshi Nakamoto

Poďme si veci pomenovať. 2²⁵⁶ sa rovná nasledujúcemu číslu:

115 kvattuorvigintilión 792 trevigintilión 89 duovigintillión 237 unvigintilión 316 vigintilión 195 novemdecilión 423 oktodecilión 570 septendecilión 985 sexdecilión 8 kvindecilión 687 kvattuordecilión 907 tredecilión 853 duodecilión 269 undecilión 984 decilión 665 nonilión 640 oktilión 564 septilión 39 sextilión 457 kvintilión 584 kvadrilión 7 trilión 913 miliarda 129 milión 639 tisíc 936.

To je veľa noniliónov! Pochopiť tieto čísla je takmer nemožné. Vo fyzikálnom svete neexistuje nič, s čím by sa to dalo porovnať. Je to oveľa väčšie číslo ako je počet atómov v pozorovateľnom vesmíre. Ľudský mozog jednoducho nie je stvorený na to, aby to pochopil.

Jednou z najlepších vizualizácií skutočnej sily SHA-256 je nasledujúce video od Granta Sandersona. Vhodne pomenované „Aké bezpečné je 256-bitové zabezpečenie?“ – krásne ukazuje aký veľký je 256-bitový priestor. Dajte si tú námahu a venujte päť minút svojho času tomuto videu. Tak ako všetky ostatné videá 3Blue1Brown je nielen fascinujúce, ale aj výnimočne dobre urobené. Varovanie: Mohli by ste spadnúť do matematickej králičej nory.

Odpoveď: Celkom bezpečné.

Bruce Schneier použil fyzikálne limity výpočtovej techniky, aby toto číslo znázornil: aj keby sme dokázali vytvoriť optimálny počítač, ktorý by využíval všetku dodávanú energiu na dokonalé prepínanie bitov, a potom postavili okolo nášho slnka Dysonovu sféru, a nechali tento počítač bežať 100 miliárd miliárd rokov, stále by sme mali len 25 % šancu, že nájdeme ihlu v 256-bitovej kôpke sena.

“Tieto čísla nemajú nič spoločné s technológiou zariadení; predstavujú maximá, ktoré povoľuje termodynamika. A silno naznačujú, že útoky hrubou silou proti 256-bitovým kľúčom budú nereálne, kým nebudú počítače vyrobené z niečoho iného ako je hmota a budú sa pohybovať niekde inde ako v priestore.” Bruce Schneier

Bolo by ťažké prehnať závažnosť tohto výroku. Silná kryptografia mení rovnováhu síl vo fyzickom svete, na ktorú sme zvyknutí. Nerozbitné veci v reálnom svete neexistujú. Použite dostatočnú silu a dokážete otvoriť každé dvere, krabicu alebo truhlicu s pokladom.

Bitcoinová truhlica s pokladom je značne odlišná. Je zabezpečená silnou kryptografiou, ktorá nepodľahne hrubej sile. A pokiaľ budú platiť základné matematické predpoklady, jediné, čo máme k dispozícii je hrubá sila. Samozrejme je tu stále možnosť globálneho útoku francúzskym kľúčom za päť dolárov. Mučením však neodomkneme všetky bitcoinové adresy a kryptografické steny bitcoinu odolajú každému útoku hrubou silou. Ani keby ste prišli so silou tisíca sĺnk. Doslova.

Táto skutočnosť a jej následky boli výstižne zhrnuté vo výzve ku kryptografickým zbraniam: „Žiadny objem donucovacej sily nikdy nevyrieši matematický problém.“

“Nie je samozrejmé, že svet musel takto fungovať. Ale vesmír sa na šifrovaniez nejakého dôvodu usmieva.” Julian Assange

Nikto zatiaľ s určitosťou nevie, či je úsmev vesmíru pravý alebo nie. Je možné, že náš predpoklad matematických asymetrií je nesprávny a zistíme, že P sa vlastne rovná NP alebo alebo nájdeme prekvapivo rýchle riešenia špecifických problémov, o ktorých si v súčasnosti myslíme, že sú ťažké. V tom prípade kryptografia tak ako ju poznáme prestane existovať a implikácie by pravdepodobne zmenili svet na nepoznanie.

“Vires in Numeris” = “Sila v číslach” epii

Vires in numeris nie je len chytľavým mottom, ktoré používajú bitcoineri. Uvedomenie si toho, že v číslach je nesmierna sila, je hlbokým poznaním. Pochopenie tohto, ako aj inverzie existujúcej rovnováhy síl, ktorú to umožní, zmenilo môj pohľad na svet a budúcnosť, ktorá je pred nami.

Jedným priamym výsledkom tohto je tá skutočnosť, že nemusíte nikoho žiadať o povolenie, ak sa chcete podieľať na bitcoine. Nemusíte sa registrovať na žiadnej stránke, nevedie ho žiadna spoločnosť, neposielate žiadosť žiadnej vládnej agentúre. Jednoducho si vygeneruje veľké číslo a v podstate môžete ísť na to. Centrálnou autoritou založenia účtu je matematika. A len Boh vie, kto ju má na starosti.

Príklady eliptickej krivky (cc-by-sa Emmanuel Boutet)

Bitcoin je vybudovaný na našom najlepšom chápaní reality. Zatiaľ čo existuje mnoho otvorených problémov vo fyzike, počítačovej vede a matematike, niektorými vecami sme si dosť istí. Jednou z nich je skutočnosť, že existuje asymetria medzi hľadaním riešení a potvrdzovaním správnosti týchto riešení. Ďalšou je to, že výpočtová technika potrebuje energiu. Inými slovami: hľadanie ihly v kôpke sena je zložitejšie ako overenie toho, či špicatá vec, ktorú držíte v ruke, je skutočne ihla alebo nie. A hľadanie ihly stojí prácu.

Rozsiahlosť priestoru bitcoinových adries je skutočne ohromujúca. Počet súkromných kľúčov ešte viac. Takisto je fascinujúce aká veľká časť nášho moderného sveta sa scvrkne na nepravdepodobnosť nájdenia ihly v nesmierne veľkej kôpke sena. Tejto skutočnosti som si teraz ešte viac vedomý ako kedykoľvek predtým.

Bitcoin ma naučil, že v číslach je sila.


Do zajačej nory