Zijn kwantumcomputers een gevaar voor de blockchain?

0
7
kwantum computers

In dit artikel gaat trade kijken naar kwantumcomputers en hun potentiële bedreigingen voor de blockchainprojecten.

Een beetje geschiedenis

In 1982 stelde de Nobelprijswinnaar Richard Feynman voor hoe een kwantumcomputer in de moderne wereld gebruikt zou worden.

Een jaar later introduceerde Apple de “Apple Liza” een thuiscomputer met een 7,89 MHz processor, 5 MB harde schijf en een diskettestation.

Vandaag de dag lopen we met draagbare apparaten die duizenden en miljoenen malen krachtiger zijn, maar onze moderne computers werken op dezelfde eenvoudige manier, eenvoudige wiskunde en met dezelfde eenvoudige operators. Ze doen het sneller en efficiënter, zodat we vergeten wat er achter de schermen gebeurt.

Ondanks deze ontwikkeling kunnen moderne computers tot nu toe echter geen cryptovaluta kraken zonder het gebruik van grote verwerkingskrachten.

Maar geldt dit ook voor kwantumcomputers?

Om een beter inzicht te krijgen, nemen we het Bitcoinadres als voorbeeld.

Wat is een hashfunctie?

Iedereen die geïnteresseerd is in Bitcoin zal wel eens de term ‘cryptografische hashfunctie’ gehoord hebben. Maar wat betekent het precies, en hoe is het verbonden met cryptocurrency?

Hashfuncties zijn een essentieel onderdeel en niet alleen van het bitcoinprotocol, maar van informatiebeveiliging in zijn geheel.

Het concept

Een hashfunctie is een wiskundig proces dat input data van elke grootte accepteert, er een bewerking op uitvoert, en output data van een bepaalde grootte terugstuurt.

In een concreter voorbeeld kan dit worden gebruikt om een reeks letters van elke willekeurige lengte als input te gebruiken (wat we een string noemen) om zo tot een reeks letters van een vaste lengte te komen. Of de invoerreeks nu een enkele letter, een woord, een zin of een hele roman is, de uitvoer (de digestgenoemd) zal altijd dezelfde lengte hebben.

Een veelvoorkomend gebruik van dit type hashfunctie is het opslaan van wachtwoorden.

Wanneer u een gebruikersaccount aanmaakt met een webservice waarvoor een wachtwoord nodig is, wordt het wachtwoord door een hashfunctie uitgevoerd en wordt de hash digest van het bericht opgeslagen. Wanneer u uw wachtwoord intypt om in te loggen, wordt dezelfde hashfunctie uitgevoerd op het woord dat u hebt ingevoerd, en de server controleert of het resultaat overeenkomt met de opgeslagen digest.

Dit betekent dat als een hacker toegang heeft tot de database met de opgeslagen hashes, dat hij niet onmiddellijk alle gebruikersaccounts in gevaar kan brengen aangezien er geen gemakkelijke manier is om het wachtwoord te vinden dat een bepaalde hash heeft aangemaakt.

Hashfuncties bij Bitcoin

In het Bitcoinprotocol zijn hashfuncties onderdeel van het block hashing algoritme dat gebruikt wordt om nieuwe transacties in de blockchain te schrijven via het mining proces.

Bij bitcoin mining zijn alle inputs voor deze hashfunctie de meest recente, nog niet bevestigde transacties (samen met enkele extra inputs die verband houden met het tijdvenster en een verwijzing naar de vorige block).

In de bovenstaande video hebben we al gezien dat het veranderen van de input (van de hashingfunctie) resulteert in een totaal andere output. Deze eigenschap is cruciaal voor het ‘proof of work’ consensusmechanisme. Om een block succesvol ‘op te lossen’ proberen miners alle inputs zodanig te combineren met hun eigen willekeurige input data dat de ontstane hash begint met een bepaald aantal nullen.

Het oplossen van een hash van een bitcoin block, dat op dit moment moet beginnen met 18 nullen, vereist natuurlijk een extreem grote hoeveelheid rekenkracht (en dus heeft de totale rekenkracht van alle computers in het netwerk nog ongeveer 10 minuten nodig om een block op te lossen).

Het is de behoefte van deze grote hoeveelheid verwerkingskracht die ervoor zorgt dat nieuwe bitcoins over een lange periode gemind worden, en niet allemaal in één keer.

Om bitcoins te verdienen door middel van mining, moet je er enorm veel werk insteken. Om een blockreward te verdienen, moet je alle nieuwe transacties in een block afsluiten, deze wordt vervolgens toegevoegd aan het register van alle vorige transacties: de blockchain.

Om het te begrijpen moet je eerst weten wat een Bitcoinadres is

Een Bitcoinadres wordt gebruikt om Bitcoins te verzenden en te ontvangen. Het bestaat uit twee delen.

Een public key die zichtbaar is in het grootboek en nodig is voor het accepteren van betalingen en een private key die verkregen wordt uit de public key.

De Private Key is 256 bits aan informatie in een willekeurige volgorde. Deze 256-bits code bestaat uit 64 tekens (binnen 0-9 / a-f) en is verder gecomprimeerd tot een code van 52 tekens (met RIPEMD-160).

Hoewel veel mensen praten over Bitcoin-encryptie, gebruikt Bitcoin geen hashing algoritme.

Het bitcoin adres “1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm” wordt vertaald in de private key “5HpHagT65TZzG1PH3PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf”, welke daarna in 256 bits private key wordt omgezet.

Om toegang te krijgen tot dit Bitcoinadres heeft u nu eerst een privé-adres nodig en vervolgens een publiek adres van deze private key. Dit betekent dat u, door het privé-adres te kennen, het publieke adres kunt vinden.

Daarnaast is er een technisch onderbouwde theorie dat door deze “compressie” verschillende private keys/adressen gebruikt kunnen worden om toegang te krijgen tot dezelfde public key (aka adres). Dit betekent dat uw Bitcoinadres niet één private key heeft, maar meerdere, en als iemand per ongeluk één van hen vindt of hackt, dan krijgt deze hacker toegang tot alle bitcoins op dit adres.

De kans op het vinden van een Bitcoinadres waar wat bitcoins opstaan (of op zijn minst in gebruik is) is minimaal, maar het is nog steeds mogelijk!

Hoe kan een kwantumcomputer een bedreiging vormen?

Bitcoin heeft al wat ingebouwde “quantum resistance”. Als u slechts één keer Bitcoinadressen gebruikt, iets wat altijd al de aanbevolen werkwijze is geweest, dan wordt uw “public key” enkel onthuld op het moment dat u de bitcoins naar elke adres stuurt. Een kwantumcomputer zou in staat zijn om uw key te breken in een korte tijd tussen het moment dat uw transactie voor het eerst wordt verzonden en het moment dat deze in een block terechtkomt.

Hoe kunt u zich beschermen?

Natuurlijk is de beste optie te kijken hoe Bitcoin en andere blockchains nieuwe versleutelingsfuncties introduceren om u te beschermen tegen potentiële kwantumcomputers, maar het kost tijd, en dit proces kan lang duren op dit schalingsniveau.

Een andere optie die geïmplementeerd kan worden is om het blockchainadres slechts eenmaal te gebruiken voor het verzenden van een transactie. Wanneer kwantumcomputers Bitcoin (en andere cryptocurrencies) zouden aanvallen, zal het eerste doelwit de uitgaande transacties op de blockchain zijn.

Wanneer de computer dus voor het eerst het Bitcoinadres probeert te kraken, is het vertrekpunt het moment waarop de transactie openbaar wordt. Met andere woorden, dit gebeurt wanneer een transactie voor de eerste keer wordt “geregistreerd” d.m.v. een digitale handtekening. Deze handtekening wordt gevormd uit een private key en bevestigt de transactie binnen het netwerk. Vergeleken met traditionele computers kunnen kwantumcomputers deze informatie snel verwerken.

In eerste instantie kan de Bitcoin Core software een bepaald niveau van bescherming bieden omdat het slechts één adres gebruikt en vervolgens de rest van het geld (indien aanwezig) naar een ander adres in uw pool stuurt. Maar wallets van derden kunnen het adres meerdere malen gebruiken voor uitgaande transacties. Dit kan bijvoorbeeld een groot probleem zijn voor gebruikers die donaties accepteren (tenzij ze hun adres elke keer dat ze daar geld opvragen bijwerken). Het grootste nadeel van de Bitcoin Core software is de hoeveelheid ruimte die nodig is op de harde schijf, evenals de zorgvuldige besparing van bijgewerkte kopieën van de gehele blockchain. Naarmate de kwantumcomputers evolueren, zullen ze onvermijdelijk de SHA256-technologie in één grote kwetsbaarheid veranderen. Dit zal één van de eerste hashing algoritmes zijn die door kwantumcomputers wordt gehackt, en het zal zeker niet de laatste zijn!

Andere problemen

Ontwikkelaars in de cryptoruimte zijn zich volledig bewust van de bedreigingen van kwantumcomputers, en er zijn verschillende projecten die een kwantumresistente blockchain willen creëren, maar op dit moment ligt de belangrijkste focus vooral bij andere blockchainproblemen, zoals schaalbaarheid en transactiesnelheid.

In het groter plaatje van risico’s en bedreigingen, zal het 20 tot 30 jaar duren voordat het een echte bedreiging zal worden.

Als dat waar is, zouden Bitcoin en andere cryptovaluta’s voor een lange tijd redelijk veilig moeten zijn voor kwantumcomputing. Tegen die tijd zullen we beter ontwikkelde signatuursystemen hebben. Bitcoin en andere cryptovaluta’s zouden daarom nog een geruime tijd veilig moeten zijn voor kwantumcomputing.

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.