Fisica

Quantum computing: ai limiti della tecnologia

La tecnologia dei nostri giorni si basa per la quasi totalità su microprocessori di silicio, che non abbiamo mai abbandonato, a partire dal 1960. La velocità di evoluzione di questo tipo di tecnologia era già Chiara nel 1965 quando il co-fondatore della Intel ( l'azienda che produce i processori di quasi tutti i computer disponibili) enunciò quella che poi divenne famosa come la legge di Moore:

“ il numero di transistor su un chip e raddoppia ogni 18 o 24 mesi”

questa legge (che più di una legge è un'affermazione perché non ha basi matematiche) si confermata giusta per gli ultimi 30 anni. Basti pensare che si è passati dal 1971 quando l'Intel 4004 veniva presentato sul mercato con 2250 transistor, agli anni 2000 quando il Pentium 4 ne presentava ben 42 milioni. Questo porta da una parte al ridurre le dimensioni aumentando la potenza di calcolo, dall’altro porta ad un aumento esponenziale nella difficolta nel produrre questi dispositivi (la meno famosa seconda legge di Moore).

Prima di entrare nel dettaglio e capire cos'è realmente un transistor e come questo lo collega alla potenza effettiva di un computer, facciamo un paragone con qualcosa di più tangibile. Quasi tutti in quest'aula abbiamo uno smartphone, e quello che ci facciamo la maggior parte del tempo è inviarci messaggi imbarazzanti e guardare discutibili video su YouTube. Lo facciamo tutti, non c'è niente di cui vergognarsi: sappiate però che nel vostro telefono c'è una potenza di calcolo maggiore di quella a disposizione dell’intera struttura della NASA durante l'atterraggio lunare. O ancora basti pensare che se la velocità media di una macchina utilitaria, di quelle per famiglie, fosse aumentata in media seguendo la legge di Moore, adesso ci ritroveremo con delle Fiat Punto che vanno alla velocità della luce. Questa crescita incontrollata che è difficile anche da comprendere per quanto è stata repentina, eppure in meno di 50 anni questa tecnologia sta per giungere al suo limite.

Ammettere i propri limiti

Esistono sul mercato transistor che hanno le dimensioni di 14 nanometri: in questa slide vi faccio vedere un confronto con alcuni corpuscoli come il virus HIV e un globulo rosso.

Ma se vogliamo esagerare e confrontare le dimensioni attuali di un transistor con quelle di un capello umano, ci rendiamo conto che stiamo parlando di strutture che sono 13 milioni di volte più piccole l’una dell’altra. E per quanto anche questo dato in realtà sia difficile da digerire perché per quanto ci sforziamo non riusciamo ad immaginare qualcosa di così piccolo, possiamo immaginare le difficoltà tecnologica nel produrre qualcosa di queste dimensioni con la precisione e la cura necessaria affinché funzionino all'interno di un computer ( controllando quindi stabilità, velocità, temperatura). Eppure non è questo il vero problema: la vera sfida è la barriera dei 5 nanometri, il limite che nei transistor divide il mondo classico del mondo dei quanti.

Nicolò Cacocciola ci invia questa interessante correzione:

Il limite fisico dell'attuale tecnologia basata su transistor a silicio non è quantistico ma classico. Gli effetti quantistici sono infatti già noti e presenti da tempo negli attuali MOSFET, primo tra tutti l'effetto tunnel che causa già oggi assorbimento di corrente, estremamente piccola ma non nulla, nel terminale di gate (il che causa inevitabilmente una maggiore dissipazione di potenza in un sistema con qualcosa come 10^9 transistor). Il vero problema è invece il seguente: quando sentiamo parlare di "tecnologia a 14 o 11 nm" dobbiamo pensare che questa dimensione si riferisce alla lunghezza del canale L in un MOSFET. Come ben sappiamo dai corsi di fisica II, vi è proporzionalità inversa tra valore di campo elettrico nel canale e lunghezza del canale stesso. Se quindi noi, a parità di tensione applicata tra Drain e Source (che non è riducibile pena il non funzionamento del mosfet), diminuiamo la lunghezza del canale, il campo elettrico crescerà inevitabilmente. Ad un certo punto, raggiunta una certa L minima, il valore del campo elettrico supererà il valore di rigidità dielettrica del Silicio, causandone la rottura. Morale della favola: sotto la lunghezza di canale minima Lmin, il mosfet a Silicio non può funzionare.

Scendendo sotto queste dimensioni gli elettroni smettono di comportarsi come particelle classiche e cominciano a mostrare tutti quegli aspetti particolari che sono spiegabili solo all'interno di una teoria quantistica, primo fra tutti l'effetto tunnel. Questo significa che gli elettroni smettono di essere confinati all'interno dei circuiti che tracciamo per loro su un processore, rendendolo totalmente inutilizzabile. Questo fa sì che, come lo stesso Moore ha dichiarato, entro il 2020 bisognerà trovare una nuova tecnologia se vogliamo continuare a migliorare la potenza di calcolo dei nostri computer.

Ma a cosa serve potenziare i computer?

Ci sono una serie di problemi che hanno una difficoltà computazionale definita non polinomiale: questo significa che con la tecnologia attuale, anche se la legge di Moore continuasse ad essere valida per un secolo, non si riuscirebbe mai a risolvere questi problemi in maniera efficiente (e quindi in tempi “umani”). E parliamo di algoritmi per la ricerca di nuove proteine, sistemi di confronto che vadano a simulare tutte le possibili cure per il cancro, un algoritmo per capire come è venuto in mente all'uomo di mettere l'ananas sulla pizza. Questi problemi hanno una difficoltà non lineare e la tecnologia attuale non è in grado di affrontarli se non con l'utilizzo di una quantità di tempo che in pratica è non definibile. In sintesi quindi:

  • da una parte la tecnologia attuale sta per raggiungere il suo limite ultimo e nel giro di una decade non si riuscirà più a migliorare i processori: questo porterà ad una morte dell'evoluzione di questo tipo di tecnologia;
  • dall'altra c'è tutta quanta una classe di problemi che con la tecnologia attuale è impossibile affrontare

C'è bisogno di qualcosa di nuovo e quel qualcosa di nuovo, come avrete capito dal titolo di questa presentazione, è la tecnologia quantistica.

Dai bit ai qubit

Per poter passare da un computer classico ad uno quantistico bisogna riuscire a tradurre l'unità fondamentale che è alla base di questo, ovvero il bit, in qualcosa che sia strutturalmente simile a questo ma che riesca a sfruttare tutte quelle le caratteristiche quasi magiche delle meccanica quantistica: abbiamo bisogno dei qubit. Ma facciamo un passo indietro: cosa sono i bit?

Il pacchetto di informazione più piccolo processabile all'interno di un computer, che banalmente corrisponde ad un segnale di tensione alto (1) oppure basso (0). Questo sistema di codifica dell'informazione è definito binario e differenza ad esempio del nostro sistema di numerazione decimale (poiché numeriamo tutto con le potenze del 10 avendo a disposizione 10 valori, da 0 a 9). Questo è il motivo per il quale ad esempio le memorie di telefoni e computer assumono sempre multipli di due: 8, 16, 32 GB per i telefoni, 256 o 512 per gli SSD.

I bit da soli però sono poca cosa: quello che fa tutta la magia è il transistor, uno strumento geniale ( che non ha caso ha fatto vincere il premio nobel nel 1956 a William Bradford Shockley, Walter Brattain e John Bardeen).

L’idea alla base è semplicissima: il transistor è un interruttore. Se il segnale sul piede di controllo è alto (quindi 1) gli altri due piedi sono collegati, altrimenti rimangono isolati. Grazie a questa idea così semplice è possibile costruire tutto l'apparato che c'è dietro il nostro computer che ci permette di fare somma, divisioni, moltiplicazioni ed una volta che si riesce ad integrare su un circuito la moltiplicazione tutto è possibile: questa articolo, il vostro sistema operativo dello smartphone, i pacemaker, Minecraft, le canzoni di Skrillex. L'idea alla base di ogni computer è quella di processare informazioni che sono impacchettate in una serie di zero ed uno.

Ma questo è il mondo classico, e noi sappiamo che nel mondo della meccanica quantistica vige il principio di sovrapposizione, il primo postulato della teoria quantistica, che dice che un sistema (che nel nostro esempio sarà la particella di informazione) può trovarsi sia nello stato 0 che nello stato 1 contemporaneamente, con una qualsiasi proporzione di probabilità (almeno fino a quando non viene effettuata la misura). Questo è sicuramente tra i concetti più difficili della meccanica quantistica ed è così difficile perché non ha un controesempio nel nostro mondo. Eppure il principio di sovrapposizione nel nostro caso diventa un'arma eccezionale perché adesso abbiamo la possibilità di creare dei bit di informazione che non siano semplicemente uno stato o quell'altro, ma che possono essere entrambi gli stati insieme!

Questo significa che passiamo da una codifica classica dove l’informazione aumenta di un pezzettino per ogni bit che aggiungiamo, ad un aumento di 2 volte per ogni nuovo qubit! La vera difficoltà sta nel fatto che nonostante sia effettivamente vero che un sistema può trovarsi in tutte le possibili combinazioni assieme, quando dobbiamo ottenere un risultato contreto tutta la probabilità collassa istantaneamente su un unico valore. Anche questo è un postulato della meccanica quantistica che ha il nome di collasso della funzione d'onda, ed è quello che permette la convivenza di fisica classica e quantistica. Senza entrare troppo nel dettaglio, questo implica che è necessario sviluppare degli algoritmi che riescano a sfruttare il parallelismo quantistico per ottenere alla fine un unico risultato che sia esattamente quello desiderato (sarebbe più giusto dire con un’altissima probabilità).

Ok, dopo aver grattato la superficie dell’idea che c’è dietro un computer quantistico, vi mostro due esempi che chiariscono un po' tutto quello che abbiamo detto.

La potenza dei quanti

Vogliamo creare un algoritmo che sia in grado di riconoscere se una moneta è vera oppure falsa.

Chiamiamo in soccorso e senza un apparente motivo un pesce pagliaccio a rappresentare il nostro computer e gli chiediamo gentilmente di controllare una faccia della moneta. Memorizziamo l'informazione, gli facciamo controllare l'altra faccia: se le facce sono uguali c'è qualcosa che non va e ti hanno fregato con il resto. Abbiamo bisogno di controllare due volte.

Poi arrivano questi simpatici signori dai nomi impronunciabili che scrivi un algoritmo per un computer quantistico in grado di controllare in maniera parallela entrambe le facce della moneta, riuscendo a controllare in un unico istante entrambe le facce e dimezzando quindi il tempo (moltiplicazione dei pani e dei “pesci”, l’hai capita Billy?). “Ok” direte voi, “che ci vuole a controllare le due facce della moneta? Un computer ci metterà qualche frazione di secondo!”, ed è vero. Ma la grandezza di questo algoritmo e che funziona con un numero qualsiasi di monete!

Seguendo questo programma il computer quantistico è in grado di “moltiplicarsi” e di controllare in parallelo le facce di tutte le monete con una singola iterazione e si passa dall’avere un numero esponenziale di iterazioni a controllare tutto con un solo giro di giostra. Perché grazie ai qubit l’informazione può essere processata in tutte le combinazioni assieme.

Ultimo esempio e poi vi lascio andare. Non so se lo sapete ma quasi tutti i sistemi di sicurezza più avanzati come quelli che ci proteggono su internet o quelli delle transazioni bancarie si basano su di un algoritmo di cifratura denominato “asimmetrica a chiave pubblica”.

Come funziona in pratica: io e Billy vogliamo scambiarci un'informazione e vogliamo che nessun altro possa sentirci. Billy allora genera una password e la rende disponibile a tutti: io prendo la password e tramite un algoritmo noto cifro il mio documento e lo reinvio a Billy, che può decriptarlo perché è in possesso di una chiave privata che ha prodotto assieme a quella pubblica. La cifratura è “asimmetrica” perché la difficoltà computazionale che c'è nel criptare un messaggio non è minimamente paragonabile alla difficoltà necessaria per decifrarlo senza avere la chiave privata. Nella pratica quello che si fa è scegliere due numeri primi molto grandi e moltiplicare tra loro.

Il fatto è che ad oggi non esiste un metodo efficace per scomporre un numero molto grande in due numeri primi: questo è un esempio di problema non polinomiale, che come dicevamo prima non riesce ad essere affrontato dai nostri computer in maniera efficace e in tempi utili ad un qualsiasi tipo di attacco. Da una parte questo ci rassicura sul fatto che i nostri dati siano al sicuro, dall'altro ci mostra come la sicurezza non si basa su di un sistema che sia matematicamente sicuro, ma su un limite della tecnologia attuale. Basterebbe trovare un algoritmo che magari sfrutta un computer quantistico per ridurre esponenzialmente la difficoltà del problema e nel giro di qualche ora di riuscire a governare il mercato mondiale e quindi il pianeta Terra. Ora lo so che vorresti correre a studiare la meccanica quantistica per diventare il re del mondo, ma ci ha già pensato questo simpatico omaccione con la faccia poco rassicurante: non è un caso se l’algoritmo che porta il suo nome è conosciuto come l’applicazione killer dei computer quanstistici: se applicato davvero distruggerebbe in men che non si dica tutti i sistemi protetti che abbiamo costruito fino a questo momento.

Ora: questa cosa è spaventosa? Sì certo che lo è.
Saremo tutti quanti schiavi del primo uomo che riesce a costruire un computer quantistico davvero funzionante? Probabilmente.... a meno che abbandoniamo anche per i sistemi di sicurezza un approccio classico e ci lasciamo cullare dalla crittografia quantistica che, udite udite, è matematicamente inviolabile.

Ma questa è tutta un'altra storia: io per oggi concludo qui.

Commenti