tratto da “il Post” Cultura del 15 luglio 2024
I computer non
sono bravi a produrre una cosa di cui abbiamo un gran bisogno: meglio una
vecchia radio.
Nel periodo di
maggiore prosperità della democrazia ateniese, intorno al V secolo a.C.,
il sorteggio fu un principio fondamentale delle istituzioni politiche. Diverse
cariche amministrative e di governo erano occupate da cittadini scelti a sorte
da una lista più ampia di eletti, in modo da garantire una selezione equa e
impedire la formazione di assemblee con poteri permanenti. Lo strumento
utilizzato per il sorteggio, una specie di sofisticato schedario in pietra chiamato kleroterion, è considerato uno dei primi sistemi di selezione casuale automatizzata.
Dopo circa 2.500 anni, sebbene la casualità non sia più un principio cardine dei sistemi elettorali, la generazione di numeri casuali è ancora alla base di processi fondamentali che rendono possibile il funzionamento di vari oggetti, applicazioni e attività umane: dalle carte di credito al gioco d’azzardo a Internet. Ma ottenere in modo rapido e automatizzato un numero davvero casuale è un’operazione più complessa di quanto si pensi, che non riesce benissimo con gli strumenti che utilizziamo di più ogni giorno: i computer. E quindi, a parte le urne con dentro le palline numerate, abbiamo escogitato nel tempo diversi modi bizzarri per generare numeri casuali a partire da processi fisici e macchine in grado di elaborarli, come raccontato di recente anche da BBC.
La casualità è
un fenomeno sfuggente e difficile da definire, perché non è una proprietà della
cosa in sé – un singolo numero, per esempio – ma della relazione reciproca tra
più cose. Non è possibile dire di un numero che sia casuale, a meno di
considerarlo in relazione a una sequenza di altri numeri. E quindi è
impossibile attribuire casualità senza «una base condivisa di normalità o
adeguatezza» con cui misurare il grado di casualità, che è una proprietà
«relazionale», scrisse su Slate nel 2022 lo scrittore ed esperto di
tecnologia e informatica James Bridle.
La ragione per cui i computer non sono molto adatti a generare una perfetta casualità è che funzionano tramite formule matematiche, e la casualità non ha senso matematico. Non è possibile programmare un computer per generare in autonomia numeri casuali, che siano cioè statisticamente indipendenti l’uno dall’altro, perché un’operazione del genere implicherebbe comunque una qualche formula matematica tramite cui sarebbe possibile decodificare e ricreare la casualità. Che allora non sarebbe una vera casualità. Ed è proprio questo il problema di tutti i settori che hanno bisogno di numeri casuali: se qualcuno riesce a prevedere il modo in cui la casualità viene generata all’interno di un sistema, può hackerarlo.
Quando si parla
di crittografia dei
messaggi, per esempio, una sequenza di numeri casuali è
fondamentale per determinare la chiave di cifratura e decifratura. Dal grado di
casualità dipende in definitiva la segretezza dell’informazione trasferita,
perché se a un qualsiasi osservatore la chiave di cifratura non apparisse
casuale sarebbe teoricamente in grado di decifrare il crittogramma.
Nel 2017, dopo
aver filmato insieme ad altre persone l’attività delle slot machine in un
casinò a St. Louis, nel Missouri, un trentasettenne russo analizzò e
studiò i risultati di ogni singola giocata. E alla fine, prima di venire
arrestato, riuscì a vincere milioni di dollari prevedendo correttamente il
funzionamento dei generatori di numeri casuali all’interno delle macchine.
Da tempo le
persone cercano una fonte esterna e stabile di vera casualità, da poter tradurre in numeri tramite macchine elettroniche, in vari
fenomeni caotici e imprevedibili: dalle scariche elettriche atmosferiche alle gocce di
pioggia che si formano sulle superfici di vetro, fino ai fenomeni
quantistici.
Uno dei più
conosciuti e utilizzati generatori di numeri casuali online, il sito random.org, ha una storia piuttosto bizzarra. Nella seconda metà
degli anni Novanta i suoi fondatori volevano sviluppare un software di gioco
d’azzardo per far funzionare slot machine e altri giochi online. Avevano quindi
bisogno di numeri casuali, e si misero in testa di poterli ricavare dal rumore delle
radio che gracchiano. Nel 1997 ne cercarono una da quattro soldi in un negozio
a Berkeley, in California, scegliendo infine la radiolina più economica e priva
di filtri antirumore, che non era nemmeno esposta. Quando la accesero nel retro
del negozio insieme al titolare e sentirono uscire dall’altoparlante un “muro”
di fruscii e rumori vari cominciarono a saltare di gioia.
«Credo che il
titolare del negozio pensò che fossimo completamente pazzi», ha detto a BBC Mads Haahr, uno dei fondatori di random.org.
Il rumore emesso dalle radio analogiche, specialmente le più vecchie, è un
segnale imprevedibile influenzato dall’attività elettromagnetica nell’atmosfera
terrestre. Haahr e i suoi amici avevano programmato un computer in modo da
convertire gli alti e i bassi del segnale in uno e zero, cioè in bit, e
ottenere in questo modo stringhe di numeri casuali da poter utilizzare per
determinare, per esempio, la sequenza di carte distribuite nel gioco di poker
online a cui stavano lavorando.
Se i criteri di distribuzione delle carte nei giochi online non fossero casuali, il gioco d’azzardo non sarebbe equo e i giocatori potrebbero anche provare ad approfittarne per battere il sistema individuando schemi ripetitivi e prevedibili nel gioco. Alla fine Haahr e i soci non realizzarono il loro progetto iniziale, perché il business del gioco online era ancora troppo prematuro per essere profittevole. Decisero comunque di rendere pubblico il generatore di numeri casuali, e lo caricarono su un sito, che funziona da allora ed è utilizzato anche da enti e aziende. Non si basa più sul rumore emesso dalla radiolina originale, che andò persa, ma da quello emesso da nove grandi ricevitori installati in diverse posizioni geografiche.
Il sito
random.org è utilizzato, per esempio, dalla città di San Francisco per un programma di assegnazione casuale di abitazioni a prezzi abbordabili, e da
altre città per organizzare lotterie
locali. Ma lo utilizzano anche enti di ricerca scientifica
che hanno bisogno di randomizzare i loro studi. Le sequenze di numeri generati
casualmente, come spiegato sul Wall Street Journal dal fisico statunitense
Frank Wilczek, sono infatti utili agli statistici per il cosiddetto
«campionamento imparziale». Per stimare le proprietà medie di un grande insieme
di dati, di solito, si campiona un piccolo sottoinsieme: è un’operazione
sensata e legittima, ma a condizione che il campione sia scelto senza pregiudizi
e in modo del tutto casuale.
«Nell’epoca dei
set di dati giganteschi e dei giochi complessi per computer, i numeri casuali
sono più preziosi che mai», scrisse Wilczek, perché molte applicazioni – dalle
indagini di mercato ai videogame sparatutto – richiedono più di un milione di
cifre casuali fornite in tempi rapidi. Il modo più comune per ottenerle con un
computer, a partire da un grande numero iniziale detto “seme”, è sottoporre
quel numero a una serie fissa e ripetuta di operazioni matematiche che lo
rimescolano più volte, come se mescolassero un mazzo di carte.
Tutto il processo è autonomo, meccanico e privo di scelte, spiegò Wilczek, eccetto che per la scelta del seme e della procedura di mescolamento. È il motivo per cui si dice che questo tipo di procedura «deterministica» non fornisce un risultato casuale ma pseudo-casuale. Anche nella sua pseudo-versione la casualità è fondamentale per diverse applicazioni scientifiche e crittografiche, perché condividendo la chiave e il programma – cioè il seme e la procedura di mescolamento – si può consentire ad altre persone di riprodurre scelte altrimenti imprevedibili.
«Utilizziamo
numeri casuali tutti i giorni senza saperlo», ha detto a BBC Alan Woodward, un esperto di sicurezza
informatica della University of Surrey. Per esempio succede ogni volta che
scegliamo una password al computer, che per salvarla in un archivio aggiunge
alla password un’altra porzione di dati: una sequenza casuale di bit
detta salt.
Ma in generale i numeri casuali servono ogni volta che un computer crittografa
dati per ragioni di sicurezza. Semplificando molto, quando visitiamo un sito
Internet che inizia con «https://» (un protocollo di comunicazione sicura)
chiediamo al nostro computer e al server che memorizza il sito di generare
numeri casuali, scambiarseli e usarli per crittografare i dati inviati avanti e
indietro mentre il sito si carica e viene consultato.
Cloudflare, uno
dei più importanti fornitori di servizi di rete e di sicurezza al mondo, utilizza
moltissimi numeri casuali nei suoi data center. E nel corso degli anni ha
cercato di generarli a partire da processi fisici imprevedibili piuttosto
bizzarri, il più noto dei quali è il movimento all’interno di un’estesa
collezione di lampade lava (o lava lamp). «È iniziata quasi per
scherzo, ma poi ci siamo detti “aspetta un attimo, potremmo farlo sul
serio”», ha raccontato a BBC John Graham-Cumming, CTO di Cloudflare.
Nella sede
dell’azienda si trova una telecamera posta sul soffitto che è puntata verso un
muro di lampade lava di diversi colori, i cui movimenti all’interno sono
imprevedibili. La telecamera scatta foto alle bolle, a intervalli, per poi
convertirle in sequenze di numeri sulla base della loro forma e della loro
posizione. Non è l’unico modo utilizzato da Cloudflare per generare numeri
casuali per proteggere i dati, ma è il più conosciuto e raccontato.
Molti altri
processi fisici possono essere o sono stati effettivamente utilizzati per
generare numeri casuali. Un ingegnere informatico ebbe l’idea per un generatore di numeri casuali basato sulla disposizione delle
gocce d’acqua sulle superfici di vetro, un giorno che notò quanto fosse casuale
la disposizione di quelle che cadevano e si fermavano sui suoi occhiali. Per
una sua ricerca di dottorato alla University of London un
informatico ha sviluppato un generatore di numeri casuali che utilizza come processo fisico di
partenza la formazione delle bolle all’interno del suo acquario.
Uno degli altri
problemi della generazione di numeri casuali, a parte i limiti dei computer, è
che non esiste un modo per essere assolutamente sicuri che un risultato
apparentemente casuale sia davvero imprevedibile. «Non puoi dire se qualcosa è
casuale, puoi soltanto accorgerti che non lo sia», ha detto a BBC Darren Hurley-Smith, professore di sicurezza
informatica alla Royal Holloway, University of London. Ci sono alcuni metodi
per individuare i generatori di numeri non casuali: analisi statistiche che,
per esempio, cercano di individuare sequenze in cui un numero compaia più volte
di quanto ci si aspetterebbe se la sequenza fosse davvero casuale.
Questi metodi
possono non essere però sufficienti. Se si cerca il numero 3 e la sequenza da
analizzare è «123123123123123», per esempio, il 3 non compare più volte di
altre cifre. Eppure c’è uno schema estremamente ovvio nella sequenza, una
struttura sottostante che permette di definirla non casuale, ha detto
Hurley-Smith. Le analisi statistiche di questo tipo diventano via via più
complicate, man mano che l’insieme di numeri diventa più grande. E comunque non
c’è modo di dimostrare che qualcosa sia davvero casuale: solo che sia
«indistinguibile dal casuale», nella migliore delle ipotesi.
Haahr, il cofondatore di random.org, ha detto che ogni tanto alcune persone scrivono lamentandosi di aver individuato sequenze di numeri prevedibili nel risultato del generatore. E ha detto che la ragione è che gli esseri umani sono pessimi a riconoscere la casualità, dal momento che condividiamo come specie un’attitudine biologica – che può anche diventare patologica – a vedere schemi in ogni cosa.