Quantum computers en bitcoin

Uit BitcoinWiki.nl

Hoewel ECDSA inderdaad niet veilig is bij bestaan van quantumcomputers, bestaan er nog geen quantumcomputers met een kracht om op dit moment de ECDSA te kraken die voor bitcoin wordt gebruikt, en dat zal waarschijnlijk nog wel even duren voordat dat een probleem wordt (tientallen jaren).

Beveiliging[bewerken | brontekst bewerken]

De veiligheid van Bitcoin, mits correct gebruikt met een nieuw adres bij elke transactie, hangt af van meer dan alleen ECDSA: Cryptografische hashes. Voor zover bekend zijn er nog geen manieren om deze hashes (SHA512) te kraken, ook niet met quantumcomputers. Bitcoin is (tegenwoordig) dus beveiligd door zowel ECDSA als hashes.

Zodra er een quantum-veilig public-key algoritme is, dan kan dat worden geïmplementeerd. De beveiliging van Bitcoin is ontworpen om op een "voorwaartse compatibele manier" te worden geüpgraded, en zou geüpgraded kunnen worden als dit als een dreigende bedreiging zou worden beschouwd (cf. Aggarwal et al. 2017, "Quantum attacks on Bitcoin, and how to protect against them"). Nadeel van de (momenteel bekende) quantumveilige algoritmes is dat ze (in bytes) groter zijn dan ECDSA, en daardoor meer blokruimte innemen.

Bitcoin in gevaar[bewerken | brontekst bewerken]

Zowel oude bitcoin (die p2pk gebruikten) als bitcoin met hergebruikte adressen, zijn in theorie in gevaar als/zodra er een Quantumcomputer is.

Oude bitcoin[bewerken | brontekst bewerken]

Een blijvend probleem ligt bij oude bitcoin. Deze zijn enkel beveiligd door ECDSA: het bitcoinadres was geen hash van de public key, maar het was zélf daadwerkelijk de public key. Zodra er dus een quantum-computer is die ECDSA kan kraken, dan zijn deze bitcoin in gevaar. Zonder actie van de eigenaren van deze bitcoin kan dit niet worden geüpgraded, en zijn deze bitcoin (als er zo'n quantum computer is) dus in gevaar.

Adreshergebruik[bewerken | brontekst bewerken]

Als je bitcoin uitgeeft, dan wordt de publieke sleutel bekend. Die zat, voor het uitgeven, achter een hash. Door het uitgeven laat je het originele (ongehashte) script zien. Vanaf dat moment is je publieke sleutel bekend. Als er een computer zou zijn die die kan kraken, dan zijn deze bitcoin van hergebruikte adressen in gevaar.

Mempool bij snelle Quantumcomputers[bewerken | brontekst bewerken]

Een nog verder toekomstscenario: als er een quantumcomputer is die in 10 minuten de sleutel kan kraken. Dan is er een theoretisch probleem als je je transactie broadcast (in de mempool zet). Als een quantumcomputer de sleutel dan snel kraakt, kan hij een (duurdere) transactie uitsturen waar bitcoin naar hemzelf worden gestuurd.

Oplossing[bewerken | brontekst bewerken]

Geen adressen hergebruiken. Wallets moedigen dit nu al af.

Oplossing de 'oude bitcoin' (de p2pk) zou kunnen zijn om, na een paar jaar van waarschuwen, deze bitcoin te invalideren zodra de veiligheid niet meer gegarandeerd is. Dit zou gebeuren op een moment dat de aanname "deze bitcoin kunnen alleen worden uitgegeven door de eigenaar" niet meer waar kan worden gemaakt. Dit invalideren gaat wel in tegen een basisconcept van Bitcoin: dat je bitcoin, ook na 50 jaar, nog uit kan geven.

Lees verder[bewerken | brontekst bewerken]