Bitcoin a kvantum podruhé
Bitcoinu a jeho současné cestě za kvantovou rezistencí jsem se obšírně věnoval v minulém Cryptoshotu. Mezitím ale vyšel výzkum divize Quantum AI společnosti Google, který naznačuje, že takzvaný Q-Day (neboli Quantum Day), tedy očekávaný, hypotetický okamžik, kdy se kvantové počítače stanou dostatečně výkonnými, aby prolomily moderní kryptografii s veřejnými klíči, jako je RSA, DH, ale také ECDSA, které bitcoin stále v rámci zpětné kompatibility podporuje vedle Schnorrových podpisů (taktéž zranitelných), by mohl být mnohem blíže, než se původně předpokládalo. Konkrétně již na konci aktuální dekády.
Výzkumníci si v dokumentu posvítili explicitně na bitcoin a Ethereum a tvrdí v něm, že výpočetní nároky na prolomení kryptografie eliptických křivek mohou být výrazně nižší a potenciálně by mohly vyžadovat méně než 500 000 fyzických qubitů za specifických optimalizovaných podmínek. To by pro představu znamenalo asi 20násobné snížení ve srovnání s dřívějšími projekcemi, i tak je to ale pořád cíl hodně daleko (hodně řádů) od současné fyzické reality.
Úplně nejvýkonnější kvantové počítače současnosti disponují 1121 a 1225 fyzickými qubity, většina ale mnohem méně. Navíc se často decentně zamlčuje fakt, že nestačí mít jen kvantové počítače s dostatkem kubitů, ale musejí být zároveň odolné proti rušení. My zatím stále máme jen takzvané NISQ (Noisy Intermediate-Scale Quantum) kvantové počítače, které dokáží občas demonstrovat slibné výpočetní postupy, ale zároveň trpí vysokou chybovostí a chybí jim robustní korekce chyb. Slouží tedy zatím pořád hlavně pro vývoj a experimenty.
„Přechod od dnešních 1000 chybových kubitů k 500 000 kubitů odolných proti chybám do roku 2029 není jen ,plán‘… je to fyzikální zázrak, nebo obrovský bluf,“ nechal se v této souvislosti v reakci na dokument Google slyšet bývalý bitcoinový vývojář Jonas Schnelli.
Problém tu ale je a nelze před ním úplně zavírat oči. Preventivní kroky, jako je pokus společnosti BTQ Technologies o zavedení praktické implementace návrhu BIP 360, který rozebírám v Cryptoshotu z minulého týdne, jsou tak důležitější než kdy dřív.
Připomeňme, že firma ve zkratce přišla s první reálnou technickou implementací teoretického konceptu P2QRH (Pay to Quantum Resistant Hash), který odstraňuje potřebu odhalovat veřejné klíče v určitých fázích transakce, což je jeden z předpokladů kvantové rezistence bitcoinové sítě (nikdy se totiž neodhaluje veřejný klíč na blockchainu a kvantové útoky tak nemají na co cílit), a nyní tuto svoji implementaci společnost testuje v rámci vlastního bitcoinového testnetu Bitcoin Quantum v0.3.0.
Řešení od BTQ Technologies se jmenuje P2MR a jde o nový typ výstupu (adresy), který místo toho, aby na blockchainu zveřejnil zranitelný veřejný klíč, zveřejňuje pouze Merkle Root (kořen Merkleho stromu) skriptovacích podmínek.
Zpět ale k výzkumu od Googlu. Pokud má výzkum pravdu, hrozí navíc, že až (a pokud) budou existovat dostatečně pokročilé kvantové systémy, mohou být také schopny provádět útoky v rámci časového úseku mezi potvrzováním bloku (okolo deset minut), což by umožnilo tzv. útoky „on-spend“, tedy útoky na nepotvrzené transakce, které se právě nacházejí v mempoolu a nebyly ještě vytěženy.
Jak velký problém to pro bitcoin představuje?
Problém je potřeba si rozdělit. V obecné rovině není takový problém pro síť přejít na kvantově rezistentní algoritmy, i když na jejich praktické implementaci ještě zbývá udělat pořádný kus práce.
Už tvůrce bitcoinu Satoshi Nakamoto s ohrožením bitcoinové kryptografie v budoucnu počítal, a v roce 2010 proto načrtl vizi, jak by na hrozbu síť mohla reagovat. Jeden Satoshiho scénář například počítá s tím, že by síť mohla koordinovat přechod, kdy by aktualizace protokolu zavedla silnější algoritmy a uživatelé by migrovali svá aktiva přepodepsáním bitcoinů do nových formátů adres.
Problém je zde ale také organizační, bitcoin totiž na rozdíl od řady jiných „krypto“ projektů nemá centrální autoritu (což bývá obyčejně vnímáno jako jedna z jeho hlavních výhod), která by koordinovala a nařizovala aktualizace. Změny protokolu, obzvláště ty na úrovni síťového konsenzu, vyžadují dohodu mezi několika skupinami účastníků s různou motivací (vývojáři, těžaři a uživatelé).
To v praxi znamená, že velké změny trvají relativně dlouho. Na druhé straně se ale v minulosti opakovaně ukázalo, že když jde do tuhého, dokáže se komunita semknout a jednat poměrně rychle (promptní vyřešení situace, kdy se v srpnu 2010 podařilo v bloku 74638 potvrdit transakci, které se povedlo poslat neexistujících 184 467 440 737 bitcoinů, tedy takzvaný Value Overflow Incident, rychlé odstranění podobně kritické zranitelnosti CVE-2018–17144 v roce 2018 nebo boj o SegWit).
Pak je tu ale problém se starými bitcoiny, ke kterým se nikdo nehlásí a nejspíš ani hlásit nebude. To, co dříve bylo považováno za „dar komunitě“, se tak stává darem trochu danajským. Asi třetina celkové nabídky bitcoinu se dnes nachází na adresách, kde byly odhaleny veřejné klíče, což představuje jednu zcela jasně definovanou sadu cílů v rámci určitých modelů útoku (stačí je dnes posbírat, a až přijde čas, tak rozlousknout).
Přímo samotný výzkum od Googlu odhaduje, že v rámci scénářů kvantových útoků může být v různé míře odhaleno přibližně 6,7 (ano, opravdu čtete šest sedm) milionu bitcoinů (problém představují zejména starší formáty adres, kde veřejné klíče zůstávají na blockchainu trvale viditelné). U části těchto adres nicméně lze předpokládat, že dojde dříve ke konsolidaci, to ale rozhodně neplatí například pro „Satoshiho bitcoiny“.
Přesto ale, tedy přinejmenším podle mého názoru, naléhavější problém představuje ve výzkumu zmiňovaný útok na takzvaná transakční okna, tedy dobu mezi tím, kdy byla vysílána bitcoinová transakce, její veřejný klíč se již stal na blockchainu viditelným, ale ještě jej žádný miner nepotvrdil, tedy před vytěžením transakce. Jak by útok v tomto mezičase mohl proběhnout? Teoretický útočník může tuto mezeru využít k tomu, aby sám získal privátní klíč a provedl dvojitou útratu ve stejném časovém rámci, jaký je potřeba k vytěžení bloku.
Na závěr dodám, že závod s časem v honbě za kvantovou odolností se netýká jen bitcoinu a dalších kryptoměn. Jak s oblibou dříve zmiňoval Andreas Antonopoulos, úplně stejná třída kryptografie dnes zabezpečuje vedle větší části internetové komunikace také tradiční bankovní systémy, platební sítě a vojenskou komunikaci. Ty také často představují (alespoň dnes) mnohem větší lákadlo pro podobný útok než samotný bitcoin.
„Zhruba padesát procent našich dat a osobních údajů, které jsou někde zašifrované, již bylo někým shromažďováno. A jakmile je bude moci dešifrovat, veškeré vaše soukromí bude pryč,“ prohlásil na toto konto loni v prosinci v rozhovoru pro český Forbes viceprezident IBM Research pro Evropu a Afriku a zároveň ředitel nejstaršího výzkumného střediska IBM mimo Spojené státy, IBM Research v Curychu Alessandro Curioni.
Rozdíl současné bitcoinové sítě (blockchainu) oproti výše zmiňovaným systémům nicméně spočívá v její transparentnosti, která byla na začátku vnímána jako výhoda a ve vztahu ke kvantovým útokům představuje naopak výraznou slabinu.
Transparentní je ale také open-source vývojový model bitcoinu a to je pro změnu dnes velká výhoda, a to zejména oproti komerčním a vojenským systémům. Díky své transparentnosti totiž umožňuje pozorovat reakci komunity v reálném čase. Nemusíme tak jen trpně doufat, že se s tím komunita nějak popasuje, ale můžeme vše sledovat z první řady, nebo se dokonce do procesu aktivně zapojit.