Lekce 15

Síla v číslech

Tak tedy: čtyřikrát pět je dvanáct, čtyřikrát šest je třináct a čtyřikrát sedm je - ach, jéje! Takhle se do dvaceti vůbec nedopočítám!

Čísla jsou nezbytnou součástí našeho každodenního života. Velká čísla však nejsou pro většinu z nás příliš pochopitelná. Ta největší, s nimiž se v běžném životě setkáváme, se pohybují v řádu milionů, miliard nebo bilionů. Můžeme se dočíst o milionech lidí žijících v chudobě, miliardách dolarů vynaložených na záchranu bank a bilionech státního dluhu. Přestože je těžké se v těchto titulcích vyznat, s velikostí těchto čísel jsme do jisté míry srozuměni.

(Zde bych chtěl upozornit na různé systémy v pojmenování vysokých čísel. V překladu je, na rozdíl od anglického originálu, použita, v češtině standardní, tzv. dlouhá škála - pozn. překladatele)

Ačkoli nám miliardy a biliony mohou připadat povědomé, naše intuice při takto velkých číslech již začíná selhávat. Máte představu, jak dlouho byste museli čekat, než uplyne milion / miliarda / bilion vteřin? Jste-li na tom podobně jako já, budete ztraceni, pokud si tato čísla nepřelouskáte do důsledku.

Podívejme se na tento příklad blíže: rozdíl mezi těmito hodnotami je nárůst o tři řády: 10⁶, 10⁹, 10¹². Přemýšlet o sekundách není příliš praktické, takže si to převedeme na něco, co nám hlava pobere:

  • 10⁶: Milion vteřin uplynulo během půldruhého týdne.
  • 10⁹: Jedna miliarda sekund začala před téměř 32 lety.
  • 10¹²: Před jedním bilionem vteřin byl Manhattan pokrytý silnou vrstvou ledu.
Před zhruba jedním bilionem vteřin. Zdroj: xkcd #1225

Jakmile vstoupíme do oblasti moderní kryptografie přesahující astronomické hranice, naše intuice katastrofálně selhává. Bitcoin je postaven na velkých číslech a praktické nemožnosti je uhodnout. Tato čísla jsou mnohem, mnohem větší než cokoli, s čím se můžeme setkat v běžném denním životě. O mnoho řádů vyšší. Pochopení toho, jak velká tato čísla skutečně jsou, je zásadní pro celkové pochopení Bitcoinu.

Jako konkrétní příklad uveďme SHA-256, jednu z hashovacích funkcí používaných v Bitcoinu. Je přirozené, že si 256 bitů představíme jako “dvě stě padesát šest”, což není vůbec velké číslo. Číslo v SHA-256 však hovoří o řádových hodnotách - což je něco, s čím si náš mozek neumí dobře poradit.

Délka bitů je sice vhodnou metrikou, ale skutečný význam 256bitového zabezpečení se ztrácí v překladu. Podobně jako u výše uvedených milionů (10⁶) a miliard (10⁹) jde v případě SHA-256 o hodnotu exponentu (2²⁵⁶).

Jak přesně je tedy algoritmus SHA-256 silný?

“SHA-256 je velmi silný. Není to jako postupný krok od MD5 k SHA1. Pokud nedojde k nějakému masivnímu průlomu, může vydržet několik desetiletí.” Satoshi Nakamoto

Řekněme si to takto. 2²⁵⁶ se rovná následujícímu číslu:

115 tredeciliard 792 tredecilionů 89 duodeciliard 237 duodecilionů 316 undeciliard 195 undecilionů 423 noniliard 570 nonilionů 985 oktiliard 8 oktilionů 687 septiliard 907 septilionů 853 sextiliard 269 sextilionů 984 kvintiliard 665 kvintilionů 640 kvadriliard 564 kvadrilionů 39 triliard 457 trilionů 584 biliard 7 bilionů 913 miliard 129 milionů 639 tisíc 936.

To je spousta valionů! 🙃 Představit si takové číslo je v podstatě nemožné. Ve fyzickém světě není nic, s čím by se dalo srovnat. Je mnohem větší než počet atomů v pozorovatelném vesmíru. Lidský mozek prostě není stvořen k tomu, aby něco takového dokázal pochopit.

Jednou z nejlepších vizualizací skutečné síly algoritmu SHA-256 je následující video Granta Sandersona, příhodně nazvané “Jak bezpečné je 256bitové zabezpečení?” Krásně ukazuje, jak velký je 256bitový prostor. Udělejte si laskavost a věnujte pět minut jeho zhlédnutí. Stejně jako všechna ostatní videa 3Blue1Brown je nejen fascinující, ale také mimořádně dobře zpracované. Varování: Hrozí vám pád do králičí nory matematiky.

Odpověď: Slušně bezpečné.

Bruce Schneier použil fyzikální limity výpočtů, aby toto číslo uvedl do souvislostí: i kdybychom dokázali vytvořit Dysonovu sféru kolem našeho Slunce a postavit optimální počítač využívající veškerou poskytnutou energii k dokonalému převracení bitů, který bychom nechali běžet 100 miliard miliard let, stále bychom měli pouze 25% šanci najít jehlu v 256-bitové kupce sena.

“Tato čísla nemají nic společného s technologií přístrojů, jsou to maximální hodnoty, které dovolí termodynamika. A silně naznačují, že útoky hrubou silou proti 256-bitovým klíčům budou neproveditelné, dokud nebudou počítače postaveny z něčeho jiného než z hmoty a nebudou zabírat něco jiného než prostor.” Bruce Schneier

Hloubku tohoto faktu lze jen stěží vyjádřit. Silná kryptografie převrací poměr sil, na který jsme zvyklí v hmotném světě. Nezničitelné věci v reálu neexistují. Použijete-li dostatečnou sílu, budete schopni otevřít jakékoli dveře, bednu, nebo truhlu s pokladem.

Bitcoinová truhla je velmi odlišná. Je zabezpečena silnou kryptografií, která nepodléhá hrubé síle. A dokud platí základní matematické předpoklady, je hrubá síla to jediné, co máme k dispozici. Ano, je tu také možnost útoku hasákem za 5 dolarů. Ale mučení nebude fungovat proti všem Bitcoinovým adresám a kryptografické stěny Bitcoinu útoky hrubou silou porazí. I kdybyste se na ně vrhli silou tisíce sluncí. A to doslova.

Tato skutečnost a její důsledky byly výstižně shrnuty ve výzvě ke kryptografickému zbrojení: “Žádná donucovací síla nikdy nevyřeší matematický problém.”

“Není vůbec samozřejmé, že by svět musel fungovat tímto způsobem. Ale vesmír se na šifrování tak nějak usmívá.” Julian Assange

Nikdo zatím s jistotou neví, zda je úsměv vesmíru upřímný, nebo ne. Je možné, že náš předpoklad matematické asymetrie je mylný a zjistíme, že P se ve skutečnosti rovná NP, nebo najdeme překvapivě rychlá řešení určitých problémů, které v současnosti považujeme za složité. Pokud by tomu tak bylo, kryptografie, jak ji známe, přestane existovat a důsledky by nejspíš změnily svět k nepoznání.

“Vires in Numeris” = “Síla v číslech” epii

Vires in numeris není jen chytlavé heslo používané Bitcoinery. Uvědomění si, že v číslech se skrývá nezměrná síla, je hluboké. Pochopení této skutečnosti a převrácení stávající rovnováhy sil, které umožňuje, změnilo můj pohled na svět a budoucnost, která nás čeká.

Jedním z přímých důsledků tohoto jevu je skutečnost, že nemusíte nikoho žádat o povolení ke vstupu do Bitcoinu. Neexistuje žádná stránka, na které byste se museli zaregistrovat, žádná správcovská organizace ani vládní agentura, které byste museli posílat formuláře se žádostí o povolení. Stačí vygenerovat velké číslo a můžete v podstatě začít. Ústřední autoritou pro zakládání účtů je matematika. A jen bůh ví, kdo ovládá ji.

Příklady eliptických křivek (cc-by-sa Emmanuel Boutet)

Bitcoin je postaven na našem nejlepším porozumění realitě. Ačkoli je ve fyzice, informatice a matematice stále mnoho otevřených problémů, něčím jsme si celkem jisti. Jednou z takových věcí je, že existuje asymetrie mezi nalezením řešení a ověřením správnosti těchto řešení. Dále to, že k výpočtům je potřeba energie. Jinými slovy: najít jehlu v kupce sena je těžší než ověřit, zda ta špičatá věc ve vaší ruce je skutečně jehla, nebo ne. A najít jehlu vyžaduje práci.

Rozsáhlost prostoru pro Bitcoinové adresy je skutečně ohromující. Počet soukromých klíčů ještě více. Je fascinující, jak velká část našeho moderního světa se redukuje na nepravděpodobnost nalezení jehly v nezměrně obrovském stohu. Nyní si tuto skutečnost uvědomuji více než kdy jindy.

Bitcoin mě naučil, že v číslech je síla.


    Hlouběji králičí norou