Cryptocurrencies winnen aan populariteit. Met een marktkapitalisatie van meer dan 2 biljoen USD in 2021 vinden ze hun weg naar het reguliere monetaire systeem. Cryptocurrencies vertrouwen op gedecentraliseerd vertrouwen dat wordt beveiligd door cryptografie in plaats van een centrale autoriteit. De veiligheid van cryptocurrencies wordt echter bedreigd door toekomstige kwantumcomputers, die naar verwachting enkele van de momenteel gebruikte cryptografie-algoritmen zullen breken waarvoor geen duidelijke vervangingen zijn. Hoe kunnen we de kwantumdreiging voor de Ethereum-blockchain kwantificeren (vergeleken met onze eerdere resultaten over Bitcoin)? En wat zijn de complexiteiten van saneringsmaatregelen?
Auteurs: Itan Barmes, Bram Bosch en Olaf Haalstra
De belangrijkste focus van dit artikel zal zijn om de volgende vragen te beantwoorden:
Het doel van cryptocurrencies is om de uitwisseling van waarde mogelijk te maken zonder afhankelijk te zijn van een centrale autoriteit. In plaats daarvan worden cryptografische algoritmen geïmplementeerd om consensus te bereiken, transacties te creëren en te verwerken, de integriteit van gegevens te waarborgen en meer. Hashing-algoritmen en cryptografie met openbare sleutels1 vormen de basis van de beveiliging van cryptocurrency, en deze algoritmen worden verondersteld veilig te zijn tegen elke aanval met de momenteel beschikbare rekenkracht. Kwantumcomputing belooft echter nieuwe mogelijkheden op het gebied van verwerkingskracht. Dit zal hoogstwaarschijnlijk een aanzienlijke impact hebben op cryptocurrencies.
Het algoritme van Grover, ontwikkeld in 1996 door Lov Grover, zal naar verwachting de beveiliging van hashing-algoritmen met 50% verminderen. Nog belangrijker is dat het algoritme van Shor, ontwikkeld door Peter Shor in 1994, wordt verondersteld de cryptografie met openbare sleutels die wordt gebruikt voor het genereren van digitale handtekeningen in vrijwel alle cryptocurrencies volledig te doorbreken. In deze blog zullen we ons vooral richten op de impact op public-key cryptografie.
Het begrijpen en kwantificeren van de impact van kwantumcomputers op de Ethereum-blockchain vereist een beter begrip van het adres en de transactiestructuur.
Cryptocurrency-fondsen zijn gekoppeld aan een specifiek adres, net als bij traditioneel bankieren waar geld wordt opgeslagen onder een rekeningnummer. Om toegang te krijgen tot het geld op uw bankrekening, heeft u inloggegevens nodig om u te authenticeren. In cryptocurrencies wordt deze authenticatie uitgevoerd met behulp van cryptografie. Er bestaat een wiskundige relatie tussen de inloggegevens van een gebruiker (privésleutel) en het bijbehorende rekeningnummer (cryptocurrency-adres). De specifieke kenmerken van deze relatie tussen de persoonlijke sleutel, de openbare sleutel en het adres worden weergegeven in figuur 1. De beveiliging van de adresstructuur is gebaseerd op het feit dat de relatie tussen privésleutels en adressen eenrichtingsverkeer is. Iemand met de inloggegevens heeft toegang tot het account (en kan transacties uitvoeren), maar het kennen van het rekeningnummer geeft geen informatie over de inloggegevens.
Figuur 1: De relatie tussen private keys en Ethereum adressen. Kwantumcomputers zullen de eenrichtingsrelatie tussen privé- en openbare sleutels doorbreken
Om een transactie uit te voeren, hebben gebruikers hun inloggegevens (privésleutel) nodig om de transactiegegevens digitaal te ondertekenen en naar het netwerk te publiceren. Om een transactie te verifiëren die is ondertekend met een privésleutel, is de bijbehorende openbare sleutel nodig. Daarom wordt de openbare sleutel opgenomen in de transactiedetails. Met alle vereiste gegevens die beschikbaar zijn, kan iedereen verifiëren dat de rechtmatige eigenaar van het geld degene is die de transactie heeft gemaakt, zonder de privésleutel bloot te leggen.
Zoals hierboven beschreven, is de beveiliging van Ethereum (en vele andere cryptocurrencies) gebaseerd op de eenrichtingsrelatie tussen de privésleutel en het adres. Een kwantumcomputer die het algoritme van Shor gebruikt, zal naar verwachting de eenrichtingsrelatie tussen de private en de publieke sleutels doorbreken. Dit is de eerste stap in figuur 1, De relatie tussen de publieke sleutel en het adres wordt slechts gedeeltelijk beïnvloed3. Dit betekent dat een kwantumcomputer de privésleutel die bij een specifiek adres hoort, alleen kan afleiden als de openbare sleutel al bekend is. Dit is alleen het geval als het adres al eerder is gebruikt om geld over te maken.
We definiëren aan kwantum blootgestelde fondsen als munten die zich bevinden op adressen waarvan de openbare sleutel al in de blockchain is gepubliceerd (via een transactie). Middelen op adressen waarvan de openbare sleutel niet bekend is (als er nooit geld van het adres is overgemaakt) wordt niet blootgesteld en is veilig tegen momenteel bekende kwantumaanvallen.
De unieke manier waarop cryptografie wordt gebruikt in cryptocurrencies (openbare sleutels zijn niet altijd openbaar) resulteert in twee verschillende soorten aanvallen: de opslagaanval en de transitaanval.
Bij deze aanval zal een kwaadwillende actor zoeken naar middelen die zijn opgeslagen in aan kwantum blootgestelde adressen. Ze zullen dan een kwantumcomputer gebruiken om de privésleutel af te leiden die aan het kwetsbare adres is gekoppeld, waardoor ze het geld kunnen overmaken naar een nieuw adres dat niet kwetsbaar is voor een kwantumaanval.
Het vinden van aan kwantum blootgestelde fondsen is bijzonder eenvoudig in de Ethereum-blockchain. Elk knooppunt in het netwerk houdt een balans bij, de wereldstaat genaamd, met alle adressen die ooit zijn gebruikt en een teller die laat zien hoe vaak ze zijn gebruikt om geld over te maken. Een aanvaller kan simpelweg zoeken naar alle adressen in de wereldstaat waar de teller groter is dan 0. Uit de resulterende lijst kiest de aanvaller een doeladres met veel geld. Vervolgens scannen ze de blockchain op een transactie die door dit specifieke adres is verzonden en gebruiken ze deze om de bijbehorende openbare sleutel te verkrijgen. Zoals eerder uitgelegd, kan de aanvaller, na het verkrijgen van de openbare sleutel, nu een kwantumcomputer gebruiken om de privésleutel af te leiden en het geld van het beoogde adres te stelen.
We hebben een analyse uitgevoerd op de Ethereum-blockchain om erachter te komen hoeveel munten kwetsbaar zouden zijn voor dit soort aanvallen. Voor het doel van deze analyse richten we ons uitsluitend op het native token van Ethereum, Ether, en negeren we andere tokens van derden die op Ethereum zijn geïmplementeerd. Ondanks dat ze in deze analyse worden genegeerd, zouden tokens die zijn geïmplementeerd met behulp van de ERC20-standaard en die zijn opgeslagen in kwantumblootgestelde adressen, ook kwetsbaar zijn voor de aanval op de opslag.
In figuur 2 zien we het resultaat van de analyse, die het totale aantal Ether in omloop in de loop van de tijd laat zien, waarbij een onderscheid wordt gemaakt tussen die in kwantum-blootgestelde adressen en die in niet-kwantum-blootgestelde adressen. Uit de gegevens blijkt duidelijk dat momenteel meer dan 65% van alle Ether kwetsbaar is voor een kwantumaanval, en dit aantal neemt voortdurend toe. Dit is een aanzienlijk groter percentage dan de 25% die we in een eerdere analyse voor de Bitcoin-blockchain vonden1.
Het verschil tussen Ethereum en Bitcoin wordt voornamelijk veroorzaakt door het feit dat de Bitcoin-architectuur is gebaseerd op het genereren van een nieuw adres voor elke transactie (bekend als het "UTXO-model"). De architectuur van Ethereum is gebaseerd op het hergebruiken van hetzelfde adres, tenzij gedwongen om anders te doen (bekend als het "accountmodel"). Het accountmodel is bewust gekozen voor Ethereum om de implementatie en het gebruik van slimme contracten te vergemakkelijken. Het zorgt er echter voor dat de fondsen binnen het netwerk gemiddeld kwetsbaarder zijn voor kwantumaanvallen.
Figuur 2: Het aantal Ether dat is blootgesteld (lichtgroen) en veilig (donkergroen) aan een kwantumaanval op de opslag als functie van de tijd
Zoals hierboven besproken, moeten gebruikers die een cryptocurrency-transactie uitvoeren, de openbare sleutel publiceren die is gekoppeld aan het adres van de afzender. De transactie wordt uitgezonden naar het netwerk om in een nieuw blok te worden opgenomen. De tijd tussen het uitzenden van de transactie (het onthullen van de publieke sleutel) en het opnemen van de transactie in een blok opent een kans op een aanval. Een kwaadwillende actor kan naar een uitgezonden transactie luisteren, snel de privésleutel afleiden en een concurrerende transactie van hetzelfde geld naar het adres van de aanvaller sturen.
Voor de Ethereum-blockchain is de gemiddelde tijd die nodig is om een nieuw blok te maken ongeveer 10 tot 20 seconden. Dit is veel korter dan de tijd die kwantumcomputers naar verwachting nodig hebben om privésleutels af te leiden. Aanvallers kunnen echter verschillende aanvullende aanvalsmethoden gebruiken om te voorkomen dat transacties snel worden verwerkt, waardoor ze de tijd winnen om hun kwantumaanval uit te voeren. Bovendien kan het netwerk tijdens de piekactiviteitsperiode van Ethereum overbelast raken en kunnen transacties uren of soms zelfs dagen duren om te verwerken. Dit geeft aanvallers mogelijk voldoende tijd om een dergelijke aanval uit te voeren en hun transactie sneller te laten verwerken door een hogere vergoeding aan de verwerkingsknooppunten te bieden dan de oorspronkelijke transactie.
De transitaanval vereist een kwantumcomputer die snel privésleutels kan afleiden, terwijl de opslagaanval mogelijk is, zelfs als het weken of maanden duurt om een enkele privésleutel af te leiden (zolang het geld niet wordt verplaatst voordat de aanval is voltooid). Als er een kwantumcomputer beschikbaar zou zijn, zou de opslagaanval dus eerder haalbaar zijn dan de transitaanval. Aan de andere kant kan de opslagaanval alleen gericht zijn op fondsen die zijn opgeslagen in kwantumblootgestelde adressen, terwijl de transitaanval zich kan richten op elke munt die onderweg is.
Er zijn meerdere mitigatiestrategieën mogelijk zonder het huidige protocol te wijzigen, bijvoorbeeld het vermijden van hergebruik van adressen in wallet-implementaties. Dergelijke maatregelen zijn echter vaak niet in overeenstemming met de oorspronkelijke ontwerpprincipes van het platform en kunnen onbedoelde neveneffecten veroorzaken. Ethereum is bijvoorbeeld gebaseerd op het zogenaamde "accountmodel" dat hergebruik van adressen juist aanmoedigt. Om de kwantumdreiging goed te mitigeren, is het noodzakelijk om over te stappen op cryptografie-algoritmen met een wiskundige complexiteit die te groot is voor elke haalbare computer, zelfs voor een kwantumcomputer. Een dergelijke aanpak heeft zowel technische als bestuurlijke gevolgen, zoals we in een later hoofdstuk zullen bespreken.
Kwantumcomputertechnologie staat nog in de kinderschoenen en de momenteel beschikbare kwantumcomputers zijn nog lang niet in staat om cryptocurrencies aan te vallen. Er moeten nog veel doorbraken worden bereikt voordat de kwantumdreiging werkelijkheid wordt. Het aantal qubits moet drastisch toenemen (miljoenen in plaats van de tientallen die we vandaag hebben)4, evenals de kwaliteit ervan. Bovendien moeten de geluidsniveaus met ordes van grootte worden verminderd, wat een niet-triviale wetenschappelijke en technische uitdaging is. Het is erg moeilijk te voorspellen wanneer de kwantumdreiging naar verwachting werkelijkheid zal worden.
Om de mening van kwantumexperts te peilen, heeft het Risk Institute samen met professor Michele Mosca van de Universiteit van Waterloo in Canada een terugkerend onderzoek uitgevoerd5. De resultaten laten zien dat de meerderheid van de experts gelooft dat binnen 15 jaar de kans groot is dat kwantumcomputers cryptografie met openbare sleutels aanvallen.
De kwantumtijdlijn zal waarschijnlijk in de nabije toekomst onzeker blijven. Risicomanagement gaat echter niet over het maken van exacte voorspellingen. Het gaat erom de waarschijnlijkheid en impact te evalueren om risico's te berekenen en om risicobeperkende maatregelen te bedenken die acceptabel zijn voor de vooraf gedefinieerde risicotolerantie. Door het toenemende gebruik van cryptocurrencies (en blockchains in het algemeen) kan de impact van een toekomstige kwantumaanval zo groot worden dat deze eerder vroeger dan later aandacht vereist. Het belangrijkste punt is dat het probleem niet begint wanneer kwantumcomputers volwassen zijn, maar wanneer we ons realiseren dat we niet voldoende tijd hebben om het risico te beperken.
Ondanks de onduidelijke ontwikkelingstijdlijn van kwantumcomputers, wordt algemeen aangenomen dat cryptocurrencies uiteindelijk zullen moeten migreren naar kwantumveilige algoritmen. Deze overgang heeft twee belangrijke aspecten. Op technisch niveau moeten kwantumveilige algoritmen worden ontwikkeld, getest en gestandaardiseerd voordat ze kunnen worden geïmplementeerd. NIST voert momenteel een standaardisatieproces uit voor kwantumveilige algoritmen en zal naar verwachting in 20226 meer duidelijkheid verschaffen. Specifiek voor cryptocurrencies is de keuze van het algoritme van cruciaal belang. Alle huidige kandidaten hebben aanzienlijke nadelen in vergelijking met de huidige algoritmen, hetzij in bijvoorbeeld de vereiste verwerkingstijd, de sleutelgrootte of de grootte van de handtekening. Veel cryptocurrency-platforms worden sowieso onder de loep genomen en worden geconfronteerd met schaalbaarheidsuitdagingen. De prestatieklap van nieuwe kwantumveilige algoritmen kan daarom schadelijk zijn voor de acceptatie van deze technologie.
Een bijkomend aspect van deze overgang is het gedecentraliseerde bestuursmodel van cryptocurrencies, dat een brede consensus vereist voor elke substantiële wijziging van het protocol. Omdat cryptografie zo diep geworteld is in de cryptocurrency-architectuur, zal elke migratie naar nieuwe cryptografie-algoritmen waarschijnlijk uitgebreide debatten met zich meebrengen over specifieke ontwerpkeuzes. In het verleden hebben dergelijke debatten soms geleid tot hard forks die een negatieve impact hebben op het vertrouwen in het protocol. De overgang naar kwantumveilige cryptografie zal waarschijnlijk de belangrijkste upgrade zijn die cryptocurrencies tot nu toe hebben gehad, en het is moeilijk te voorspellen hoe moeilijk het zal zijn om een consensus te bereiken. Het zou kunnen blijken dat het unieke beheer van cryptocurrencies een tweesnijdend zwaard wordt.
Met zowel de technische als de governance-kwesties is het duidelijk dat er een aanzienlijke hoeveelheid tijd nodig is om cryptocurrencies resistent te maken tegen kwantumaanvallen. Momenteel hebben maar heel weinig cryptocurrencies de eerste stappen gezet om kwantumveilig te worden, en de meeste cryptocurrencies identificeren dit probleem niet eens in hun roadmaps. Om de toekomst van cryptocurrencies goed te beveiligen, zijn wij van mening dat kernontwikkelingsteams zich moeten informeren over de risico's, een migratieplan moeten opstellen en dit in hun roadmap moeten opnemen. Door nu te handelen, kunt u zich goed voorbereiden en uiteindelijk soepel overstappen. Als we niet op tijd handelen en overhaast met oplossingen komen wanneer de dreiging dreigender wordt, neemt de kans op implementatiefouten toe, wat een ongewenst resultaat kan hebben.
Referenties:
[1] https://www2.deloitte.com/nl/nl/pages/innovatie/artikelen/quantum-computers-and-the-bitcoin-blockchain.html
[2] https://medium.com/brandlitic/cryptography-in-blockchain-explained-df11fe1bd0f7
[3] Het algoritme van Grover heeft invloed op de beveiliging van hashing-algoritmen, maar verhoogt de levensvatbaarheid van een aanval waarbij een invoer (van bytegrootte 32) uit een hash-digest wordt opgehaald, niet significant.
[4] https://quantum-journal.org/papers/q-2021-04-15-433/
[5] https://globalriskinstitute.org/publications/quantum-threat-timeline-report-2020/
[6] https://www.nist.gov/news-events/news/2020/07/nists-post-quantum-cryptography-program-enters-selection-round