I computer quantistici minacciano la sicurezza di Bitcoin?
1 agosto, 2022
11 min
La blockchain di Bitcoin è protetta da muraglie di crittografia, inespugnabili dai computer classici. Esiste però una nuova tecnologia: i computer quantistici, macchine basate sugli stati subatomici della materia. La “supremazia quantistica” è una minaccia? Scopriamo cosa sono i computer quantistici e se sono un rischio per la blockchain.
Cos’è un computer quantistico?
La crescita della potenza computazionale, ovvero la capacità dei dispositivi di eseguire calcoli, è proporzionale all’aumento delle prestazioni e potenzialità tecnologiche. Secondo la legge di Moore, infatti, la complessità e la miniaturizzazione dei dispositivi tecnologici raddoppiano ogni 18 mesi, aumentando così la loro potenza di calcolo.
Un esempio concreto di miniaturizzazione riguarda i microprocessori, che vedono duplicare il numero di transistor integrabili nello stesso chip. Le unità di elaborazione centrale (CPU) e grafica (GPU) dei computer sono passate così da singoli processori a 4 bit (Intel 4004) a soluzioni con più nuclei operativi (core) a 64 bit in meno di 40 anni.
I nostri computer quad-core, però, evitano un problema senza risolverlo: creare microchip ancora più piccoli, nel tempo, è diventato molto difficile, così per aumentare la potenza di calcolo si sfruttano più processori in parallelo.
Transistor
Dispositivo elettronico semiconduttore usato per controllare la corrente nei circuiti analogici e digitali: amplifica o commuta (come un interruttore) segnali elettrici e potenza.
Gli ingegneri informatici, in alternativa, hanno proposto un cambio di paradigma: costruire una nuova generazione di computer, sfruttando le proprietà della fisica quantistica. In poche parole, questa tecnologia si avvale degli stati quantici delle particelle subatomiche, unità nell’ordine di grandezza di elettroni e protoni, talvolta chiamate “quanti”. La loro natura probabilistica, in particolare, è la chiave per l’aumento delle capacità di calcolo, scopriamo in che modo.
Sappiamo che l’unità di informazione dei computer elettronici è appunto il bit (binary digits), la rappresentazione alternativa di due stati attraverso le cifre 1 (vero/acceso) o 0 (falso/spento). Ora, saltiamo nel regno quantico: le unità di informazione dei computer quantistici sono i qubit (quantum bit) e associano i dati agli stati quantici della materia, così da ottenere immense capacità di calcolo. In uno stesso istante, infatti, una particella subatomica esiste in configurazioni spaziali, posizioni e velocità multiple, in quanto avvolta da “nuvole di probabilità”, così da avere allo stesso tempo valori diversi.
Semplificando molto, i qubit possono assumere contemporaneamente i valori di 0 e 1, lungo uno spettro di probabilità (ad esempio, 30% di 0 e 70% di 1). Facciamo un esempio: 4 bit possono esistere solo in una di 16 combinazioni, mentre 4 qubit possono rappresentare contemporaneamente i 16 valori, ovvero corrispondere a tutti i numeri da 0 a 15. I computer quantistici sfruttano la sovrapposizione degli stati dei qubit: cercano di risolvere in più modi un problema, processando più dati “insieme”, prima che venga “fissata” una soluzione (probabile e mai certa). Lo stato finale dei qubit, infatti, sarà “definito” e misurato in bit: a seguito dei calcoli, l’algoritmo quantistico restituirà una stringa di 0 e 1, comprensibile a qualsiasi computer.
In definitiva, come funziona un computer quantistico? Il paradosso di Schrödinger è la metafora perfetta: un gatto è chiuso in una scatola e la sua sopravvivenza dipende dal decadimento di una sostanza radioattiva. Siccome questo evento è casuale e probabilistico, non è possibile concludere con certezza se il gatto nella scatola sia morto o vivo, a meno che non la si apra. Finché non si osserva lo stato del sistema, infatti, questo si troverà in una sovrapposizione di stati: il gatto è sia morto che vivo, sia 0 che 1.
Ora, immagina che la scatola sia un computer quantistico, isolato da fattori esterni, e sostituisci al gatto le particelle subatomiche: i qubit si baseranno sulla sovrapposizione dei loro stati quantici per rappresentare, contemporaneamente, più valori e condurre calcoli in parallelo, prima che la scatola venga “aperta” per scoprire il risultato finale.
Inoltre, misurare lo stato di un qubit (ovvero definire se sia 1 o 0) determinerà di conseguenza i valori associati ad alcuni altri, sottraendoli alla probabilità degli stati quantici: due particelle che hanno origine nello stesso istante o interagiscono, rimangono connesse anche a distanza di spazio e tempo, in modo tale da influenzare i reciproci parametri (come lo spin o lo stato di polarizzazione). Questo fenomeno è chiamato entanglement quantistico, o correlazione quantistica, e amplifica esponenzialmente le capacità di calcolo dei computer quantistici: registrare i valori di un solo qubit trasforma in “binari” (0 o 1) gli stati di tutti i qubit ad esso legati, così da scoprire molte informazioni con una sola osservazione.
Immagina due qubit in entanglement come biglie di diverso colore, una rossa e una verde. Assegnate casualmente a due amici, in modo che non vedano il colore della biglia ricevuta, questi si salutano e tornano a casa: appena uno dei due, curioso, scoprirà quale gli è capitata, saprà anche il colore della biglia del suo amico, nonostante abiti a qualche isolato di distanza.
Se ti è chiaro cos’è un computer quantistico, avrai già capito che potrebbe avere implicazioni sui complessi calcoli relativi alla crittografia in generale, ma in modo specifico per la tecnologia blockchain. In particolare, sappiamo che per produrre i blocchi di Bitcoin, i miner hanno bisogno di molta potenza computazionale, al fine di risolvere “enigmi” crittografici. La sicurezza della blockchain si basa sull’impossibilità di decifrare i suoi codici crittografici, essenzialmente per mancanza di tempo e di hardware abbastanza potenti. Un computer quantistico, però, supera questi limiti: svolgendo in 36 microsecondi calcoli che un supercomputer avrebbe risolto in 9000 anni, afferma la sua supremazia quantistica. Quindi, un computer quantistico potrebbe minacciare l’immutabilità e la sicurezza della blockchain?
Supremazia quantistica
La supremazia quantistica è la capacità di un computer quantistico di svolgere un compito in maniera significativamente più veloce rispetto a un computer classico o un supercomputer, effettuando calcoli talvolta millenari in pochi secondi.
Computer quantistici vs Bitcoin
Usciamo dal regno quantico per un momento: la tecnologia in bit di Bitcoin è davvero a rischio?
Confrontiamo la sicurezza di Bitcoin e la potenza computazionale di un computer quantistico per capirlo.
Bitcoin ha due livelli crittografici principali:
- Il Secure Hashing Algorithm, SHA-256: l’algoritmo Proof-of-Work alla base della produzione dei blocchi;
- La Elliptic Curve Cryptography, ECC: la curva su cui si basa la produzione delle chiavi pubbliche e private (anche di altre criptovalute, come Litecoin).
La funzione SHA-256, come dice l’acronimo stesso, produce stringhe composte da 256 bit, qualsiasi input le sia fornito e, soprattutto, restituisce sempre lo stesso output se i dati in entrata non variano. La SHA-256, in particolare, produce gli hash alla base della crittografia della blockchain di Bitcoin: ogni blocco è rappresentato da una stringa alfanumerica che codifica ogni informazione in esso contenuta, come mittenti e destinatari delle transazioni. Ogni hash contiene anche parte di quello del blocco precedente, così da rendere la blockchain immutabile.
La componente dell’hash per cui i miner si sfidano è una sequenza binaria chiamata “nonce” (number used once): casuale e variabile nel tempo, rispecchia la difficoltà di mining ed è composta da “soli” 32 bit. Chi trova per primo la stringa di 0 e 1 vincente, ha l’autorità di produrre il prossimo blocco di Bitcoin e riceve la relativa ricompensa. Un algoritmo produce il nonce in modo tale che possa essere trovato in 10 minuti dagli hardware di mining: essenzialmente, provano “brute force” ogni combinazione, finchè non risulta quella corretta. Un computer quantistico avrebbe un vantaggio quasi sleale anche sul migliore degli ASIC: gli basterebbero 32 qubit per rappresentare contemporaneamente tutte le combinazioni possibili, tra cui il “golden nonce”, ossia il “pezzo” mancante al puzzle di un blocco di Bitcoin.
Le chiavi crittografiche, usate per ricevere, inviare criptovalute e approvare qualsiasi tipo di operazione sulla blockchain, sono invece prodotte sulla base della curva ECC; una funzione del tipo P=k*G, dove P è la chiave pubblica, k la chiave privata e G una costante. Questo tipo di crittografia è sicura perché nessun computer classico ha la potenza computazionale per ricavare la chiave privata, partendo da quella pubblica: un rompicapo chiamato logaritmo discreto. Forse, però, un computer quantistico potrebbe risolverlo. L’ECC su cui si basa Bitcoin è chiamata secp256k1 e, infatti, genera chiavi di 256 bit: un computer quantistico, teoricamente, potrebbe rappresentare tutte le chiavi private del network di Bitcoin con 256 qubit!
Considerando che il computer quantistico più potente è l’IBM Eagle, dotato di un processore da 127 qubit, sembra che per ora le chiavi crittografiche di Bitcoin siano al sicuro, ma la blockchain potrebbe essere violata e riscritta con una tale potenza computazionale. Questa prospettiva si fa più concreta se pensiamo che la roadmap di IBM prevedere la produzione di un computer quantistico da 1121 qubit nel 2023 e che l’IBM Quantum System One, disponibile a tutti per l’uso in cloud, ha una potenza di 27 qubit, presto migliorabili a 65 e poi 127.
Quindi, la blockchain di Bitcoin è davvero in pericolo? Non esattamente: anche i computer quantistici hanno alcuni limiti e, in ogni caso, esistono crittografie “quantum resistant”; scopriamo insieme perché i computer quantistici non minacciano realmente la sicurezza di Bitcoin.
Bitcoin è in pericolo? I limiti del computer quantistico
I computer quantistici, come abbiamo detto, sfruttano la sovrapposizione degli stati e l’entanglement delle particelle subatomiche per condurre i loro calcoli attraverso i qubit. I quanti, però, sono unità molto instabili: spesso sono energia pura, come ad esempio i fotoni, “pacchetti” di energia elettromagnetica. L’instabilità riscalda molto i sistemi di calcolo quantistico, che dunque devono essere tenuti a temperature bassissime, vicine allo zero assoluto (-273 °C).
Inoltre, i sistemi devono essere completamente isolati per obbedire alle regole della fisica quantistica: qualsiasi interferenza esterna “aprirebbe” la scatola di Schrödinger e determinerebbe lo stato del gatto-qubit, facendo perdere informazioni utili al processo di calcolo. Si tratta di un evento molto difficile da prevenire, chiamato decoerenza quantistica, conseguenza del principio di indeterminazione di Heisenberg: è impossibile conoscere i dettagli di un sistema senza perturbarlo.
Infine, gli stati quantici, proprio per questa instabilità, sono molto difficili da registrare da parte degli algoritmi quantistici che, quindi, devono sempre lavorare con un margine d’errore. Infatti, 32 qubit non potranno mai determinare con certezza il nonce di un hash! Come mitigare queste possibili deviazioni nel risultato, essenzialmente dovute alla natura probabilistica delle particelle quantistiche? Aggiungere altri qubit!
A dire il vero, una ricerca dell’Università del Sussex ha stimato che, considerando gli errori di calcolo dei computer quantistici, sarebbero necessari 1.9 miliardi di qubit per superare la crittografia di Bitcoin in 10 minuti, 317 milioni per un hack in un’ora e 13 milioni se l’attacco avesse a disposizione un intero giorno. Numeri incoraggianti: l’innovazione è lontana anni luce dal creare computer quantistici così potenti. Oltretutto, nel frattempo, la blockchain potrebbe anche implementare meccanismi crittografici migliori.
Rafforzando la criptazione della blockchain di Bitcoin, i progressi dei computer quantistici potrebbero essere resi vani: ad esempio, allungando progressivamente gli hash e le chiavi crittografiche, dagli attuali 256 bit, il numero di qubit necessari all’hack tenderebbe all’infinito. I computer quantistici potrebbero, così, rincorrere per sempre i computer classici: una maratona eterna, come nel paradosso di Achille e la tartaruga.
Abbiamo nominato prima le soluzioni quantum resistant: la crittografia post-quantistica può proteggere i computer classici dalla potenza di calcolo dei computer quantistici, attraverso avanzati meccanismi matematici. Alcuni esempi sono la lattice-based cryptography, o crittografia basata su reticoli; le crittografie basate su equazioni multivariate o curve ellittiche e la crittografia isogenica. Attualmente, esistono già progetti di questo tipo, come il Quantum Resistant Ledger (QRL) su Ethereum, che però è ancora in fase di sviluppo.
In alternativa, la tecnologia blockchain dovrebbe sfruttare, a sua volta, i computer quantistici per criptare i dati su più livelli, quindi sia per la produzione dei blocchi che per la creazione delle chiavi crittografiche: combattere il fuoco con il fuoco.