Bitcoin Focus: de opkomst van quantumcomputers

In Bitcoin Focus houden we je wekelijks op de hoogte van de belangrijkste gebeurtenissen in de wereld van bitcoin. In de vorm van een nieuwsbrief bieden we je inzicht in de ontwikkelingen rondom de financiële revolutie.

Wat zijn quantumcomputers?

Huidige computers moeten berekeningen die ze doen, na elkaar doen. We noemen de huidige computers binaire computers. Quantumcomputers kunnen, simpel gezegd, veel berekeningen tegelijk uitvoeren. Ze zijn daardoor heel veel sneller in bijvoorbeeld het kraken van encryptie, doorzoeken van databases en kunstmatige intelligentie.

Koop gemakkelijk en snel Bitcoin bij Bitvavo. Ga aan de slag en betaal geen handelskosten voor je eerste aankoop tot €1.000 !

Dat is allemaal mooi, want bepaalde wetenschappelijke vragen en simulaties kunnen met quantumcomputers sneller worden beantwoord. Maar als Bitcoiners vertrouwen we op encryptie om onze bitcoin veilig te houden. Wordt dat gevaarlijk?

Je kunt je hier inschrijven voor de Bitcoin Focus-nieuwsbrief!

De basis: hoe wordt encryptie gebruikt bij Bitcoin?

Om te begrijpen waar het mogelijke gevaar zit, moet je de twee soorten encryptie-functies begrijpen in Bitcoin. Ik leg ze hieronder versimpeld uit.

Ten eerste is er de public-key cryptografie: met een sleutel kan je bewijzen dat bitcoin van jou zijn, en ze uitgeven. Bij public-key cryptografie is er vaak een publiek bekende publieke key (vandaar de naam!) en een private key (geheime sleutel).

De private key zie je als Bitcoiner vaak als de seedwoorden, de 12 of 24 woorden van je wallet. Die private key moet geheim blijven, en computers moeten hem niet kunnen raden als ze de publieke key kennen.

Huidige binaire computers kunnen dit niet zomaar, het kost veel te veel energie en tijd om praktisch haalbaar te zijn. Bij kwantumcomputers wordt dat in theorie makkelijker kraakbaar (2^128 berekeningen wordt 128^3).

Maar wees gerust: volgens rapporten zijn de sleutels zeker veilig tot 2030-2040. We hebben nog wat jaar voordat dit haalbaar wordt. En het zal de kwantumcomputers ook best wat tijd kosten om de keys te vinden.

Ten tweede is er hashing, dit werkt als een soort bescherming. Hashing verbergt bitcointransacties, in een lange code. Het idee is simpel gezegd dat de voorwaarden voor het uitgeven van transacties niet zichtbaar bekend is: ze zitten in een hash.

Wat je hier niet wil is dat de voorwaarden te ontdekken (terug te rekenen) zijn: als een aanvaller een hash heeft (en die heeft hij, want die staan in de blockchain), moet hij niet de voorwaarden kunnen terugvinden.
Bij normale computers is dat ondoenlijk, er zijn 2^256 berekeningen voor nodig (lees: heel veel). Gelukkig is het voor quantumcomputer ook nog ondoenlijk: er zijn 2^128 berekeningen nodig. Hashing is voor zowel binaire- als quantumcomputer niet praktisch haalbaar, daar zit dus geen grotere dreiging.

Doordat de meeste (publieke) sleutels worden beveiligd door hashing, kunnen zijn veruit de meeste (publieke) sleutels niet eens te raden: ze zijn niet eens zichtbaar.

De (grote?) Quantumdreiging

Het gevaar zit er mogelijk in dat publieke keys bekend zijn. Gelukkig zijn de publieke keys (vanwege de hashing-beveiliging) van veruit de meeste bitcoin niet zichtbaar.
Laten we kijken waar de mogelijke gevaren zitten. Als je bitcoin wil uitgeven doet je wallet dit voor je:

  1. Theoretisch gevaar: Zoek wat bitcoin op de blockchain om uit te geven
  2. Veilig: Maak een transactie op je computer, die die bitcoin uitgeeft, en stuurt naar een ander adres. De voorwaarden voor het uitgeven zijn gehasht.
  3. Theoretisch gevaar: Verstuur de transactie naar het netwerk
  4. Theoretisch gevaar: Wacht tot je bitcoin worden bevestigd

Het eerste theoretische gevaar zit bij de bitcoin op de blockchain. Als jij bitcoin ontving voor ~2013 dan staat die mogelijk op een onveilig adres: een pay-to-pubkey-adres (p2pk). Deze adressen worden al heel wat jaar niet meer gebruikt (maar Satoshi gebruikte ze wel, zie verderop!). Heb jij wel meer dan (ongeveer) 8 jaar geleden bitcoin ontvangen? Zet ze dan voor 2030 even over op een nieuwe wallet…

Dan het volgende gevaar, het versturen van de bitcoin naar het netwerk. Op het moment dat jij een transactie naar het netwerk doet, maak jij de publieke key bekend van de bitcoin die je uitgeeft. In theorie kunnen quantumcomputer nu die publieke key gaan raden. Dit moeten ze dan snel doen, voordat de transactie bevestigd is.

Er zijn nog lang geen quantumcomputer die überhaupt dit soort sleutels kunnen kraken (dat duurt naar verwachting tot 2030-2040). En áls ze er al zouden zijn, dan zouden ze het ook nog in de korte tijd voor bevestiging (in de blockchain) moeten doen. Allemaal extreem onwaarschijnlijk.

Het laatste gevaar zit in jouw bitcoin in de blockchain. Als je extreem oude software gebruikt om te ontvangen, óf adressen hergebruikt van bitcoin in de blockchain, dan komen je bitcoin in gevaar. Gebruik software die niet ouder dan een paar jaar is, en hergebruik nooit adressen.

Onbeschermde bitcoin van Nakamoto en hergebruik van adressen

Het gevaar zit er dus in als de publieke keys bekend worden. En dat is aan de hand als een transactie wordt uitgegeven.

In het dagelijks gebruik is dat geen probleem. Er zijn nog lang geen quantumcomputer die dit kunnen. En zodra ze er zijn, hebben ze een extreem korte tijd om de keys te raden: zodra de bitcoin in een blok zitten is de aanval zinloos.

Het resterende probleem zit op twee zaken:

  1. Satoshi Nakamoto gebruikte in de beginjaren wél de “onbeveiligde” adressen. Er zitten veel bitcoin vast in deze oude p2pk-adressen. De sleutels van deze bitcoin kunnen in theorie geraden gaan worden. Het enige dat we kunnen doen is deze adressen ongeldig verklaren. Iedereen die dan die oude p2pk-adressen gebruikt kan er dan niet meer bij.
  2. Zodra bitcoin is uitgegeven, is de publieke key bekend van het adres waar het origineel naartoe ging. Op zich geen probleem: want de bitcoin is uitgegeven. Het gevaar zit erin als er nieuwe bitcoin naar hetzelfde adres gaan: adreshergebruik. Want van dat adres is dus bekend welke publieke sleutel kan uitgeven, en dus zou een quantumcomputer kunnen gaan rekenen en de geheime sleutel kunnen gaan vinden.

Hergebruik dus nooit adressen: zodra je bitcoin uitgeeft, zorg dan dat niemand meer bitcoin naar het adres stuurt.

Toekomst en oplossingen

Wat we kunnen doen is overstappen op quantum-veilige handtekeningen. Als we Lamport-handtekeningen gebruiken in plaats van de huidige EC-handtekeningen, dan is van de bovenstaande public-key-problemen geen sprake meer.

Zo’n nieuwe handtekening is helaas wel wat groter (40 tot 170x!). Dat is niet goed voor de schaalbaarheid van Bitcoin, maar in 2030 zullen ook harde schijven weer groter zijn…

Zodra de computers er komen, kunnen we deze nieuwe code gelukkig wel met een relatief makkelijke wijziging (een soft fork) implementeren. Ik verwacht dat, als de kwantumcomputers er zijn, er weinig verzet zal zijn tegen deze nieuwe beveiliging.

Overstappen op deze veilige code helpt helaas niet tegen de oude onveilige adressen (van bijvoorbeeld Satoshi Nakamoto), en hergebruikte adressen, waar veel bitcoin op staan. Misschien beslissen we ooit wel dat die adressen ongeldig worden verklaard?

Conclusie

Ik maak mij geen zorgen over mijn bitcoin. De computers zijn er nog lang niet, en zodra ze er zijn zijn mijn bitcoin veilig, want ik hergebruik geen adressen en ik gebruik recente wallets.

Mijn grootste zorg zit bij de oude, onbeveiligde adressen. Ik vermoed dat we (zodra de quantumcomputers er zijn) gaan beslissen dat die adressen ongeldig worden. Dat zal nodig zijn, zodat niet één partij deze bitcoin kan claimen (en dumpen op de markt?).

Ik zou dat jammer vinden, want één van de grootste beloftes van Bitcoin is dat oude bitcoin altijd van jou zijn.

Maar mijn bitcoin zijn veilig, en de jouwe ook, na het lezen van dit artikel!

Wil je meer verhalen zoals deze? Schrijf je via deze link in voor Bitcoin Focus, onze wekelijkse bitcoin only nieuwsbrief!

Lees meer over:
Bitcoin FocusBitcoin nieuws