Bitcoin a kvantové počítače

Blíži sa desivý Halloween a tak v tomto článku popíšem jednu desivú oblasť pre Bitcoin a kryptomeny - kvantové počítače. Možno ste už niekde počuli o kvantových počítačoch. A možno ste dokonca počuli aj to, že kvantové počítače napokon zničia Bitcoin, pretože dokážu prelomiť jeho šifrovanie.

Aby som sa o tomto probléme dozvedel viac, absolvoval som prednášku o kvantových počítačoch od Kateřiny Stloukalové z Katedry teoretickej fyziky Univerzity Innsbruck. Nebudem sa však tváriť že som všetkému rozumel a že rozumiem aj kvantovej fyzike! Zďaleka to tak nie je! V tomto článku sa ale pokúsim predstaviť túto problematiku a popísať čo pre Bitcoin znamená tak, ako som sa dozvedel na spomínanej prednáške.

Kvantové počítače

Kvantový počítač je podobný klasickému počítaču, je ale “vytuningovaný” a pokročilejší. Klasický počítač pracuje s klasickými bitmi - nulami a jedničkami. Oproti klasickému počítaču ale kvantový počítač využíva javy z kvantovej fyziky, napríklad: kvantovú superpozíciu, kvantové previazanie (angl. entanglement), interferenciu a iné.

Namiesto klasických bitov používa kvantový počítač qubity (kvantové bity), ktoré majú viac stavov ako nuly a jedničky a dokážu sa nachádzať v stave kvantovej superpozície - v stave v ktorom je qubit jednička aj nula zároveň.

Túto superpozíciu v roku 1935 popísal rakúsky fyzik Erwin Schrödinger, ktorý na myšlienkovom experimente Schrödingerovej mačky ukázal, že tá mačka môže byť teoreticky živá a mŕva zároveň. O ňom ste už možno niečo počuli tiež.

Kvantové počítače sú zatiaľ stále len v experimentálnej forme. Sú extrémne drahé na vyrobenie a od komerčného nasadenia sme ešte niekoľko rokov ďaleko. Každopádne, v budúcnosti sa s kvantovými počítačmi určite stretneme.

Načo nám kvantové počítače budú?

Kvantové počítače sú skvelé na rôzne veci a prinášajú napríklad nasledujúce výhody:

Aké problémy kvantové počítače prinášajú?

Kvantové počítače sú v istom smere “nebezpečné”, pretože tým že sú extrémne rýchle a efektívne, tak dokážu prelomiť aktuálne šifrovanie. Všetka internetová komunikácia ktorú dnes máme je istým spôsobom zašifrovaná. Prečo? Aby vám nikto nevedel len tak jednoducho hacknúť váš email, bankový účet, osobné údaje, správy a podobne.

No a problém je v tom, že kvantový počítač aktuálne šifrovanie prelomiť zvládne a potenciálne tak prídeme o bezpečnosť dát. Preto jednotlivé technológie aktuálne bojujú s tým, ako svoje šifrovanie vylepšiť aby bolo odolné kvantovým počítačom a aby sa v nich využívala takzvaná Postkvantová kryptografia1, ktorá bude odolná voči kvantovým počítačom.

No a Bitcoin je jedna z tých technológií, ktorá toto musí vyriešiť tiež (ale k tomu sa ešte dostaneme).

Ako rýchle sú kvantové počítače?

Na prednáške zaznela správa ktorú som už predtým zachytil z médií. Že spoločnosť Google vytvorila kvantový počítač s 54 qubitmi a tento počítač vyriešil nejaký matematický problém za 200 sekúnd. No a viete koľko by trvalo klasickému počítaču vyriešiť ten istý problém?
10 tisíc rokov.

Takže z tohto článku (a jemu podobných) si môžete urobiť predstavu ako sú kvantové počítače rýchle a prečo táto rýchlosť dokáže prelomiť naše súčasné šifrovanie. Naše súčasné šifrovanie je totiž založené na tom, že by klasickým počítačom trvalo extrémne dlho ho prekonať.

Aký je aktuálny stav kvantových počítačov?

Nanešťastie odpoveď na túto otázku nikto nevie. Prečo? Pretože firma alebo krajina ktorá dokáže zvládnuť vytvoriť použiteľný kvantový počítač získa technologickú nadvládu. Tá firma alebo krajina by dokázala prekonať šifrovanie zvyšku populácie, pokiaľ neprejdeme na postkvantovú kryptografiu.

Z toho dôvodu, jednotlivé krajiny neradi hovoria o tom aký je stav ich výskumu v oblasti kvantových počítačov (pokiaľ to teda nie je firma obchodovaná na akciovom trhu ktorá sa tým rada pochváli, aby sa cena ich akcií zvýšila). Jedna z mála vecí čo vieme je, že firma Google tvrdí že majú kvantový počítač s 1180 qubitmi. Na prekonianie šifrovania potrebujeme kvantový počítač s približne 1,5 milióna qubitmi.

Druhú z vecí ktorú vieme je, že Čína je vo výskume kvantových počítačov výrazne napred. Začali s výskumom oveľa skôr a do výskumu vložili oveľa viac peňazí než napríklad my v Európe.
Tak ako obvykle sme my v Európe znova túto vec zaspali…
Čo už… aspoň máme prvenstvo v počte všetkých možnách regulácií a nariadení, ale to je na nejaký iný blog.

Bitcoin a kvantové počítače

No a konečne sa dostávame k tomu, aký vplyv budú mať kvantové počítače na Bitcoin. Dobrá správa je, že to znie menej hrozivo ako som si myslel, ale poďme pekne po poriadku.

Ako funguje Bitcoin a jeho kryptografia

Bitcoin a iné technológie používajú niečo čo sa volá asymetrická kryptografia2. Tie iné technológie sa používajú na zabezpečenie webových stránok, internetu, e-mailov, VPN a sieťových protokolov, autentifikácie, prihlasovaniu a podobne. Takže verte mi že ak vám poviem, že keď kvantové počítače prekonajú Bitcoinové šifrovanie, bude to náš najmenší problém pretože sa toho pokazí oveľa, oveľa viac. Našťastie na riešení problému sa už dávno pracuje. Poďme ale späť k Bitcoinu.

Bitcoin tým že používa asymetrickú kryptografiu, tak využíva 2 veci (a to tí ktorí kryptomeny používate už dávno viete):

Vysvetlil som to veľmi zjednodušene. Pointa je, že nejaká matematická funkcia (alebo program) dokáže z privátneho kľúču vytvoriť verejný kľúč, ale nejde to urobiť naopak. Preto napríklad u Bitcoinu máte privátny kľúč bezpečne uchovaný a on vám je schopný otvoriť/odomknúť nejakú bitcoinovú adresu, ktorú ale môžete poslať kamarátovi aby vám na ňu poslal bitcoiny - pretože to je verejný kľúč.

No a kvantový počítať dokáže z verejného kľúču vytvoriť privátny kľúč - a práve to je ten problém.

Čo je u Bitcoinu v bezpečí?

Pôvodne som si myslel, že v momente ak by niekto vytvoril kvantový počítať so spomínanými 1,5 milióna qubitmi, tak by na príklad u Bitcoinu dokázali ten počítač využiť na to, aby každému ukradli všetky bitcoiny. Ale nie je to tak.

Čo teda kvantový počítač nedokáže ani keby sme ho dokázali vytvoriť?

  1. Kvantový počítač nedokáže odomknúť akúkoľvek bitcoinovú adresu - dokáže odomknúť len niektoré.
  2. Kvantový počítať nedokáže využiť 51% útok na Bitcoinovú sieť - nechcem v tomto článku vysvetľovať čo to je, ale ak tušíte čo je to ťažba Bitcoinu, tak kvantový počítač ju neohrozuje.

V tomto smere sme teda v bezpečí. Aspoň zatiaľ.

Čo je u Bitcoinu a kvantových počítačov reálny problém?

Reálny problém je to, že kvantový počítač dokáže z verejného kľúču vypočítať alebo uhádnuť privátny kľúč. No a tento privátny kľúč otvára bitcoinovú peňaženku. Kvantový počítač to zvládne pomocou Shorovho algoritmu.

Bitcoin používa niekoľko typov adries:

P2PK adresa

P2PK je skratka pre “pay to public key”. Znamená to v preklade zaplať na verejný kľúč. V roku 2009 keď Bitcoin začínal, tak väčšina adries bola práve tohto typu. To znamená, že v momente keď ste na vašu adresu dostali nejaké bitcoiny, tak vaša adresa je vlastne váš verejný kľúč. A čo potrebuje kvantový počítač na uhádnutie vášho súkromného kľúču? Potrebuje verejný kľúč, ktorý ale pre tieto typy adries je uložený na verejne dostupnom mieste - blockchaine.

Verejný kľúč pri týchto typoch adries je viditeľný v momente keď si na danú adresu pošlete nejaké bitcoiny. Akákoľvek peňaženka ktorá sa používala v Bitcoine pri jeho začiatkoch je teda potenciálne kompromitovaná a kvantový počítač ju dokáže odomknúť. Aktuálne sa odhaduje, že približne 9% všetkých bitcoinov (čo je približne 2 milióny bitcoinov) je práve na takýchto typoch adries3.

P2PKH adresa

Je druhý typ adresy ktorý dokáže kvantový počítač “hacknúť”. P2PKH je spratka pre “pay to public key hash”. Jedná sa o bitcoinovú adresu ktorá má 33-34 znakov a začína znakom “1”. Tento typ adries sa začal používať od roku 2010. Tieto adresy sú viac zabezpečené ako P2PK adresy, avšak stále to nestačí.

Verejný kľúč pri týchto typoch adries je viditeľný od momentu, keď z danej adresy pošlete bitcoiny niekam preč. Ten verejný klúč nie je vidieť keď si na adresu pošlete bitcoiny.

Akákoľvek peňaženka ktorá z takejto adresy poslala nejaké bitcoiny, ale naďalej nejaké drží je teda potenciálne kompromitovaná a kvantový počítač ju dokáže odomknúť. Preto bezpečnostní experti neodporúčajú znovupoužívať bitcoinové adresy niekoľkokrát, ale vždy si radšej vygenerovať novú.

Iné adresy (Native SegWit, Taproot, …)

Bitcoin má potom ďalšie iné adresy ktoré boli postupne pridané ako sa Bitcoin vyvíjal. Tie adresy by mali byť viac rezistentné voči kvantovým počítačom, lebo ponúkajú lepšie súkromie pri ktorých sa verejný kľúč nezverejňuje. Preto dnes keď chcete používať nejakú Bitcoinovú adresu, tak nezačína znakom “1”, ale začína znakmi “bc1”.

Každopádne, ani tieto adresy nie sú na 100% chránené proti kvantovým počítačom. Poskytujú však výrazne lepšiu ochranu a preto pri vzniku kvantových počítačov minimálne nebudú hacknuté ako prvé.

Útok na Bitcoin

Teraz si popíšme ako by potenciálne vyzeralo, ak by niekto vytvoril kvantový počítač a použil ho na útok na bitcoinovú sieť. Koľko bitcoinov je potenciálne kompromitovaných?

Dobrá správa je, že z verejného blockchainu môžeme zistiť, koľko má bitcoin adries prvých dvoch typov a koľko je na nich bitcoinov. A vyzerá, to že ohrozených je približne 4 miliónov bitcoinov z celkového množstva 21 miliónov bitcoinov, čiže necelých 25%.

Ak by bitcoinová sieť neprešla nejakým upgradom, tak tieto adresy by boli hacknuté ako prvé. Ľudia ktorí držia bitcoiny na týchto adresách by o bitcoiny postupne začali prichádzať. Kvantový počítač by ich postupne kradol a postupne predával a cena Bitcoinu by výrazne klesla.

Zvyšné typy adries sú na tom lepšie, ale skôr či neskôr by boli hacknuté aj tie. Ak teda svoje bitcoiny držíte na modernejších typoch adries, neprídete o ne a stále ich budete môcť predať.

Znie to ako hororový scenár. Stále sa však bavíme o tom, že by sa u Bitcoinu za tie roky kým kvantové počítače jeho zabezpečenie vôbec nezlepšilo. Ak to tak skutočne bude, tak môžeme všetci svoje bitcoiny predať a radšej namiesto toho nakúpiť nejakú kryptomenu ktorá bude voči kvantovým útokom rezistentná.

Keď ale vidím ako sa Bitcoin postupne vyvíja a ako sa do neho pridávajú nové a nové funkcie, verím že čoskoro aj Bitcoin prejde vylepšením ktoré ho bude chrániť proti kvantovým počítačom.

Všetko ale ukáže až čas, pretože minimálne na najbližších pár rokov sa žiadny prielom v kvantových počítačoch nestane, takže nateraz môžeme spávať pokojne. A ak jedného dňa kvantové počítače prídu, tak sa to dozvieme napríklad práve tým, že cena bitcoinu výrazne spadne.

Myslím si ale, že ak s príchodom kvantových počítačov klesne cena bitcoinu, tak to nebude náš najväčší problém… Tých skutočných problémov bude viac.

Poznámky pod čiarou

  1. Viac sa o postkvantovej kryptografii môžete dozvedieť napríklad na Wikipedii

  2. Viac sa o asymetrickej kryptografií môžete dozvedieť napríklad na Wikipedii

  3. Zdroj: https://bglaw.eu/articles/is-your-bitcoin-wallet-safe-from-the-quantum-threat