Il concetto fondamentale della casualità digitale

Nel mondo digitale, la vera casualità è un paradosso. I computer sono macchine deterministiche costruite sulle fondamenta della logica, dove ogni input porta a un output prevedibile basato su una serie di istruzioni. Questa prevedibilità intrinseca è nemica della casualità. Per colmare questa lacuna, gli ingegneri hanno sviluppato il Random Number Generator (RNG), un sistema progettato per produrre una sequenza di numeri o simboli priva di qualsiasi schema riconoscibile. Comprendere l’anatomia dell’RNG richiede di andare oltre il semplice lancio di un dado digitale ed esaminare gli algoritmi e i processi fisici che governano questi sistemi.
Esistono due categorie principali di generatori: i Pseudorandom Number Generator (PRNG) e i True Random Number Generator (TRNG). I primi si affidano a formule matematiche per simulare la casualità, mentre i secondi attingono a fenomeni fisici. La distinzione è cruciale perché definisce i limiti di sicurezza ed equità. Un PRNG parte da un valore di seed. Se quel seed è noto, ogni numero successivo nella sequenza può essere calcolato con precisione assoluta. Questo è il primo punto di vulnerabilità di qualsiasi sistema digitale che dichiara di essere casuale.
Il concetto di entropia è centrale in questa discussione. L’entropia, nella teoria dell’informazione, rappresenta il livello di incertezza o casualità in un insieme di dati. Un sistema con entropia elevata è imprevedibile, mentre un’entropia bassa indica schemi che possono essere sfruttati. Perché un RNG sia considerato robusto, deve raccogliere costantemente entropia dal proprio ambiente. Questa può provenire da qualsiasi cosa, dalla cadenza dei tasti premuti al rumore atmosferico. Senza un flusso costante di entropia di alta qualità, anche l’algoritmo più sofisticato diventa un ciclo ripetitivo che un osservatore potrebbe alla fine riuscire a mappare.
Quando ci chiediamo se un generatore possa essere «truccato», in sostanza stiamo chiedendo se la fonte di entropia o l’algoritmo stesso siano stati compromessi. In un ambiente perfettamente equo, la distribuzione dei numeri segue una curva statistica che corrisponde alla probabilità attesa. Se un sistema è truccato, questa distribuzione viene deliberatamente distorta per favorire determinati esiti. Non si tratta sempre di un atto malevolo; a volte è il risultato di una programmazione scadente o di hardware insufficiente, ma per l’utente il risultato resta lo stesso: una perdita di equità.
Lo sviluppo software moderno tratta spesso l’RNG come una «scatola nera», uno strumento che si richiama all’occorrenza senza preoccuparsi troppo di come funzioni. Tuttavia, per settori come la cybersicurezza, la crittografia e il gioco regolamentato, i meccanismi interni di quella scatola sono sotto costante esame. L’integrità delle firme digitali, delle chiavi di cifratura e del gioco equo poggia tutta sulle spalle di questi generatori. Se l’RNG cede, con esso crolla l’intera infrastruttura di sicurezza.
La complessità di simulare il «caos» del mondo reale all’interno della struttura rigida di una CPU è una delle sfide più grandi dell’informatica. Richiede una combinazione di matematica di alto livello e interazione hardware di basso livello. Man mano che ci addentriamo negli strati dell’architettura di un RNG, scopriamo che la linea tra «casuale» e «calcolato» è più sottile di quanto la maggior parte delle persone immagini, lasciando spazio sia alla genialità progettuale sia a opportunità di manipolazione.
I meccanismi della pseudocasualità e la manipolazione del seed
I Pseudorandom Number Generator (PRNG) sono i veri cavalli di battaglia dell’era digitale. Sono incredibilmente veloci, efficienti e capaci di produrre miliardi di numeri in una frazione di secondo. Tuttavia non sono realmente casuali. Sono algoritmi deterministici. Partendo dallo stesso punto di inizio, il seed, produrranno sempre esattamente la stessa sequenza. Questa ripetibilità è utile per il debug del codice o per generare mondi di gioco coerenti, ma è un’arma a doppio taglio quando si parla di equità.
Il seed è il cuore del PRNG. La maggior parte dei sistemi moderni usa come seed predefinito l’orario di sistema corrente in millisecondi. Sebbene ciò possa sembrare abbastanza casuale per un’applicazione comune, è altamente prevedibile per un aggressore sofisticato. Se qualcuno conosce il millisecondo esatto in cui un processo è partito, può ricreare il seed e prevedere ogni evento «casuale» che ne consegue. Questo è il modo più comune con cui un RNG viene «truccato» o manipolato senza modificare il codice stesso: controllando o prevedendo l’inizializzazione del seed.
Algoritmi PRNG comuni
- Linear Congruential Generator (LCG): Uno degli algoritmi più vecchi e veloci, benché abbia un’elevata prevedibilità se si osservano abbastanza output.
- Mersenne Twister: Ampiamente utilizzato per il suo periodo enorme (la lunghezza della sequenza prima che si ripeta), benché non sia crittograficamente sicuro.
- Xorshift: Una classe di generatori veloci che usano operazioni bit a bit per creare sequenze con buone proprietà statistiche.
- Blum Blum Shub: Un generatore molto più lento ma crittograficamente sicuro, che si basa sulla difficoltà della fattorizzazione dei numeri interi.
Per prevenire la manipolazione del seed, gli sviluppatori ricorrono spesso al «salting». Questo consiste nel mescolare il seed iniziale con altri dati imprevedibili, come un ID hardware, i movimenti del mouse di un utente o la temperatura della CPU. Ciò aumenta la complessità del seed, rendendo più difficile per un esterno indovinarlo. Tuttavia, se uno sviluppatore usa intenzionalmente un seed fisso o scarsamente protetto, di fatto «trucca» il sistema affinché produca una sequenza nota. Questa è una tattica comune nei software fraudolenti, in cui l’esito appare casuale ma in realtà è predeterminato.
Un altro metodo di manipolazione nei PRNG è l’uso di una «backdoor». In certi standard crittografici sono stati sollevati dubbi sul fatto che alcune costanti specifiche usate negli algoritmi casuali siano state scelte perché contengono proprietà matematiche nascoste. Queste proprietà permetterebbero a un’entità in possesso della «chiave» giusta di prevedere l’output del generatore anche senza conoscere il seed. Ciò evidenzia come la progettazione dell’algoritmo stesso debba essere trasparente e verificata da terze parti per garantire che non esistano simili debolezze.
La verifica della qualità di un PRNG prevede suite statistiche come i test Diehard o la NIST Statistical Test Suite. Questi strumenti cercano schemi, correlazioni e distorsioni nei numeri generati. Se un RNG supera questi test, significa che i numeri sembrano casuali, ma non garantisce che siano imprevedibili. Un RNG truccato potrebbe superare i test statistici per un lungo periodo pur contenendo un «trigger» che ne modifica il comportamento in condizioni specifiche, ad esempio quando è in corso una transazione di valore elevato.
RNG hardware e il ruolo dell’entropia fisica

I True Random Number Generator (TRNG) non usano algoritmi per creare casualità. Misurano invece processi fisici che sono intrinsecamente caotici. Questo viene spesso definito «entropia hardware». Poiché tali processi sono governati dalle leggi della fisica anziché dalla logica digitale, sono fondamentalmente imprevedibili. Usare un TRNG è lo standard d’eccellenza per qualsiasi applicazione in cui il «trucco» deve essere impossibile.
Le fonti di entropia fisica sono varie e affascinanti. Alcuni sistemi usano il rumore termico, il movimento casuale degli elettroni in un resistore dovuto al calore. Altri sfruttano l’effetto fotoelettrico, in cui i fotoni che colpiscono un sensore generano impulsi elettrici imprevedibili. Alcuni setup ad alta sicurezza usano persino il decadimento radioattivo, misurando il tempo tra l’emissione di particelle da un piccolo campione di isotopo. Poiché questi eventi avvengono a livello quantistico, non sono soltanto difficili da prevedere: sono teoricamente impossibili da pronosticare.
Fonti di entropia fisica
- Rumore termico: Sfrutta le fluttuazioni microscopiche della tensione elettrica all’interno dei circuiti.
- Rumore atmosferico: Cattura le onde radio o i fulmini dall’ambiente circostante.
- Clock Drift: Misura le minime discrepanze tra due oscillatori indipendenti su una scheda madre.
- Rumore granulare (shot noise): Fluttuazioni casuali della corrente elettrica causate dalla natura discreta degli elettroni.
Pur essendo più sicuri, i TRNG sono anche più lenti. Raccogliere entropia fisica richiede tempo. Se un sistema necessita di milioni di numeri casuali al secondo, un TRNG puro potrebbe non reggere il ritmo. Da qui l’uso degli RNG ibridi. In un sistema ibrido, un TRNG raccoglie una piccola quantità di entropia fisica di alta qualità e la usa come seed per un PRNG ad alta velocità. Ciò combina la sicurezza della casualità fisica con la velocità della generazione algoritmica.
Un RNG hardware può essere truccato? È molto più difficile che manipolare il software, ma non impossibile. Di solito richiede l’accesso fisico al dispositivo. Sottoponendo l’hardware a temperature estreme, interferenze elettromagnetiche o fluttuazioni di tensione specifiche, un aggressore può talvolta «forzare» il processo fisico in uno stato prevedibile. Ad esempio, alcuni sensori diventano meno sensibili a freddo estremo, cosa che potrebbe ridurre il pool di entropia e portare a schemi ripetitivi. Ecco perché gli HSM (Hardware Security Module) di fascia alta sono dotati di sensori per rilevare manomissioni e stress ambientali.
Nel contesto delle piattaforme online, gli utenti si chiedono spesso se l’RNG sia davvero basato su hardware. La maggior parte dei provider affidabili usa generatori hardware certificati collocati in data center sicuri. Questi dispositivi sono sigillati e sottoposti a regolari verifiche. Tuttavia, il percorso dal generatore hardware allo schermo dell’utente è lungo. Anche se l’hardware produce un numero casuale perfetto, anche il software che elabora e mostra quel numero deve essere sicuro. Un risultato «truccato» avviene spesso a livello di integrazione software anziché alla fonte hardware.
Distorsione statistica e l’illusione dell’equità
La percezione umana della casualità è notoriamente imperfetta. Tendiamo a vedere schemi dove non ce ne sono e ad aspettarci «correzioni» che le leggi della probabilità non prevedono. Per esempio, se una moneta esce testa cinque volte di fila, molte persone sentono che croce sia «dovuta». Questo fenomeno è noto come fallacia dello scommettitore. In un sistema veramente casuale, ogni evento è indipendente. Un RNG che funziona alla perfezione può produrre serie che a un osservatore umano sembrano «truccate».
Per contrastare ciò, alcuni sviluppatori implementano di fatto un’«equità artificiale», che è, ironicamente, una forma di trucco. Potrebbero modificare l’RNG per assicurarsi che una serie di perdite non duri troppo a lungo o che un determinato esito si verifichi più spesso, così da mantenere coinvolti gli utenti. Sebbene ciò renda l’esperienza più piacevole per l’utente, non si tratta più di un sistema veramente casuale. È un’esperienza programmata, concepita per imitare l’aspettativa umana di casualità anziché la sua realtà.
| Caratteristica | Vera casualità (TRNG) | Pseudocasualità (PRNG) | Distorto (truccato) |
|---|---|---|---|
| Fonte | Fenomeni fisici | Formula matematica | Algoritmo modificato |
| Prevedibilità | Impossibile | Possibile se il seed è noto | Schemi intenzionali |
| Velocità | Lenta | Molto veloce | Molto veloce |
| Caso d’uso | Cifratura, alta posta in gioco | Gaming, simulazioni | Frode, meccanismi di coinvolgimento |
| Verificabilità | Difficile (fisica) | Facile (revisione del codice) | Richiede un’analisi approfondita |
Una vera distorsione statistica si verifica quando certi numeri compaiono più spesso di quanto dovrebbero su un grande campione. Ciò può accadere involontariamente a causa di una «distorsione del modulo» nel codice. Quando un numero casuale di grandi dimensioni viene ridotto a un intervallo più piccolo (come da 1 a 6 per un dado), se i calcoli non sono eseguiti correttamente alcuni numeri avranno una probabilità matematica leggermente più alta di comparire. Su milioni di cicli, questo lieve vantaggio diventa una distorsione significativa che può essere sfruttata da chi ne conosce l’esistenza.
Il concetto di distribuzione uniforme è l’obiettivo di qualsiasi RNG equo. Significa che ogni possibile esito ha una probabilità esattamente uguale di verificarsi. Se usi un generatore per scegliere un numero tra 1 e 100 e lo esegui un miliardo di volte, ogni numero dovrebbe comparire circa 10 milioni di volte. Qualsiasi scostamento al di fuori della deviazione standard attesa suggerisce che l’RNG sia progettato male oppure «pesato» intenzionalmente verso determinati risultati.
Negli ambienti professionali, questa distribuzione viene monitorata in tempo reale. Se l’output statistico inizia a derivare, scatta un allarme. È così che i regolatori garantiscono che i sistemi digitali restino equi. Cercano «cluster» o «vuoti» nei dati. Un vuoto è un intervallo di numeri che quasi mai compare, mentre un cluster è un intervallo che compare troppo spesso. Entrambi sono campanelli d’allarme che l’anatomia dell’RNG è stata compromessa o era difettosa fin dall’inizio.
La vulnerabilità del livello di integrazione

Anche se l’algoritmo RNG di base è perfetto e la fonte di entropia è un dispositivo hardware quantistico di fascia alta, il sistema può comunque essere «truccato» a livello di integrazione. È qui che il numero casuale grezzo viene convertito in un risultato significativo per l’applicazione. Per esempio, un generatore potrebbe produrre un intero casuale a 32 bit, che il software traduce poi nella posizione di una ruota che gira o nel contenuto di uno scrigno digitale. Se la logica che governa questa traduzione è difettosa, la casualità va perduta.
Una tecnica di manipolazione comune è l’exploit «Look-Ahead». In questo scenario, il sistema genera il risultato casuale leggermente prima che serva e lo memorizza in memoria. Se un aggressore (o un insider corrotto) riesce ad accedere a quel buffer di memoria, conosce l’esito prima che venga mostrato. Questo non trucca l’RNG in sé, ma trucca l’ esito. I protocolli di sicurezza devono garantire che la generazione e l’applicazione del valore casuale avvengano il più possibile in simultanea, senza alcuna memorizzazione intermedia.
I modi in cui il livello di integrazione cede
- Errori di arrotondamento: Convertire numeri casuali in virgola mobile in interi può favorire certi valori.
- Logica condizionale: Codice che dice «se l’esito è X, rigenera» distrugge l’integrità statistica.
- Buffer non sicuri: Memorizzare numeri pre-generati dove possono essere intercettati.
- Assenza di salting: Usare seed grezzi e prevedibili senza aggiungere identificatori univoci.
Inoltre, la relazione «client-server» è un importante punto di fallimento. In molti sistemi digitali, la casualità viene generata su un server e inviata a un dispositivo client. Se il canale di comunicazione non è cifrato, il risultato «casuale» può essere intercettato e modificato durante il transito (un attacco Man-in-the-Middle). In alternativa, un client malevolo potrebbe inviare un seed specifico al server, costringendolo a produrre un risultato prevedibile se il codice lato server non è progettato per rifiutare i seed definiti dall’utente.
Per prevenire questi problemi, gli sviluppatori usano i sistemi «Provably Fair». Si tratta di un metodo crittografico in cui sia il server sia l’utente contribuiscono con una parte del seed. Il risultato finale è una combinazione di entrambi. Prima che l’evento abbia luogo, il server fornisce una versione con hash (cifrata) del proprio seed. Dopo l’evento, l’utente può verificare che il seed originale corrisponda all’hash e che il risultato sia stato calcolato in modo equo usando il suo contributo. Ciò elimina la «scatola nera» e rende trasparente il livello di integrazione.
Questo livello di trasparenza è la migliore difesa contro le accuse di sistemi «truccati». Quando un utente può verificare in modo indipendente la matematica dietro il risultato, la fiducia si sposta dal proprietario della piattaforma alla matematica stessa. Tuttavia, costruire sistemi del genere è complesso e richiede più risorse, ed è per questo che non sono ancora universali in tutte le applicazioni digitali.
Standard normativi e verifiche indipendenti
Nei settori in cui sono in gioco denaro o sicurezza, gli RNG non sono lasciati ai capricci degli sviluppatori. Sono soggetti a rigorosi standard normativi e a verifiche obbligatorie. Organizzazioni come GLI (Gaming Laboratories International), eCOGRA e varie agenzie nazionali di cybersicurezza stabiliscono i parametri di riferimento di ciò che costituisce un RNG «equo». Questi standard coprono ogni aspetto, dall’algoritmo utilizzato alla sicurezza fisica dei server.
Una verifica prevede in genere due fasi: la revisione del codice e l’analisi statistica. Durante la revisione del codice, gli esperti esaminano il codice sorgente per assicurarsi che l’RNG sia implementato correttamente, che il seed sia adeguatamente protetto e che non vi siano «backdoor» o logiche condizionali capaci di distorcere i risultati. Cercano errori comuni come l’uso della funzione rand() in linguaggi come C o PHP, notoriamente inadatta ad applicazioni ad alta sicurezza.
La checklist della verifica
- Verifica della fonte di entropia: Confermare da dove proviene la casualità iniziale.
- Test della lunghezza del periodo: Assicurarsi che la sequenza non si ripeta troppo rapidamente.
- Logica di mappatura: Verificare come i numeri grezzi vengono convertiti nei risultati finali.
- Integrità del codice sorgente: Verificare che il codice in esecuzione sia lo stesso che è stato sottoposto a verifica.
La fase di analisi statistica prevede di prendere un enorme insieme di dati di output, spesso milioni di campioni, e sottoporli a una batteria di test. Questi test verificano la distribuzione «chi quadro», la correlazione seriale e altri indicatori matematici di casualità. Se un generatore mostra anche solo una distorsione dello 0,01% verso determinati numeri, non supera la verifica. Ciò garantisce che qualsiasi sistema «truccato» venga individuato prima che arrivi al pubblico.
Tuttavia, una verifica è soltanto un’istantanea nel tempo. Un sistema che oggi è equo potrebbe essere modificato domani. Ecco perché il «monitoraggio continuo» sta diventando il nuovo standard. Anziché un controllo una tantum, i regolatori ricevono flussi di dati in tempo reale dall’RNG ed eseguono test automatici costantemente. Se il profilo statistico cambia all’improvviso, il sistema viene automaticamente segnalato per un’indagine. Ciò rende estremamente difficile nascondere una manipolazione intenzionale sul lungo periodo.
Nonostante queste tutele, la natura di «scatola nera» del software proprietario fa sì che gli utenti debbano spesso accettare i certificati di verifica sulla fiducia. Ecco perché la reputazione dell’ente verificatore è importante tanto quanto la verifica stessa. Un certificato rilasciato da un laboratorio riconosciuto a livello mondiale ha peso perché l’attività di quel laboratorio dipende dalla sua integrità. Se certificasse un sistema truccato, metterebbe a rischio la propria stessa esistenza.
L’RNG può essere violato da attori esterni?

Mentre «truccare» implica di solito che sia il proprietario del sistema a barare, l’anatomia di un RNG consente anche un «hacking» esterno. Se un RNG è debole, un giocatore o un utente può analizzare gli output per trovare schemi e prevedere i risultati futuri. Ciò è accaduto diverse volte nella storia, in particolare con i primi sistemi digitali che usavano semplici PRNG. Osservando una sequenza di numeri sufficientemente lunga, un aggressore può usare l’algebra lineare per «risolvere» lo stato del generatore.
I casi più famosi vedono aggressori che usano telecamere nascoste per registrare gli esiti di un sistema digitale e poi inseriscono quei dati in un computer che replica l’algoritmo dell’RNG. Una volta che il computer si «sincronizza» con l’RNG del server, può prevedere il prossimo risultato vincente con grande precisione. Questo non è un trucco nel senso tradizionale, ma piuttosto lo sfruttamento di un RNG mal progettato e prevedibile. Mette in luce perché la sicurezza crittografica sia essenziale anche per applicazioni non legate alla sicurezza.
Vulnerabilità comuni degli RNG
- Cicli di seed brevi: Usare un seed troppo piccolo, che consente attacchi a forza bruta.
- Fuga di stato (state leakage): Quando un’applicazione rivela più informazioni sul proprio stato interno di quanto dovrebbe.
- Seeding prevedibile: Usare l’uptime di sistema o altre variabili pubbliche come seed.
- Debolezza matematica: Usare algoritmi con schemi noti nei loro bit di ordine inferiore.
Per difendersi dall’hacking esterno, i sistemi moderni usano il «re-seeding». Ogni pochi minuti, o dopo la generazione di un certo numero di valori, il sistema raccoglie nuova entropia e la mescola nello stato corrente. Ciò di fatto «azzera» il rompicapo per qualsiasi aggressore che cerchi di mappare la sequenza. Anche se fosse vicino a decifrarla, il nuovo seed cambia tutto, costringendolo a ricominciare l’analisi da capo.
Un ulteriore livello di difesa è l’uso dei «PRNG crittograficamente sicuri» (CSPRNG). Si tratta di algoritmi progettati specificamente per resistere a qualsiasi forma di attacco analitico. Anche se un aggressore conosce l’algoritmo e osserva un miliardo di output, non può determinare matematicamente lo stato interno né prevedere il bit successivo con una probabilità migliore del 50%. Usare un CSPRNG è un requisito standard per qualsiasi sistema che gestisce transazioni finanziarie o dati sensibili.
La battaglia tra i progettisti di RNG e gli hacker è una continua corsa agli armamenti. Con l’aumentare della potenza di calcolo, gli algoritmi più vecchi un tempo considerati «sufficienti» diventano vulnerabili all’analisi a forza bruta. Ecco perché l’«anatomia» di un sistema deve essere aggiornata regolarmente. Ciò che era inviolabile dieci anni fa potrebbe essere banale da risolvere oggi usando moderni cluster di GPU o l’emergente potenza del calcolo quantistico.
Il futuro della casualità: quantistica e oltre
Guardando al futuro, il concetto di «trucco» potrebbe diventare un ricordo del passato grazie ai Quantum Random Number Generator (QRNG). I tradizionali RNG hardware si affidano alla fisica classica, che a volte può essere influenzata o misurata. I QRNG, invece, si basano sul comportamento fondamentale delle particelle subatomiche, eventi che sono veramente casuali secondo le leggi dell’universo. Non c’è alcuno «schema» da trovare, perché lo schema letteralmente non esiste finché non viene effettuata la misurazione.
I QRNG sono già integrati in smartphone di fascia alta e in hardware per server. Usano un diodo a emissione di luce che spara fotoni contro uno specchio semitrasparente. Che un fotone passi attraverso o venga riflesso è un evento quantistico. Questo produce un flusso di bit perfettamente casuale e impossibile da influenzare senza infrangere le leggi della fisica. Perché un sistema sia «truccato» quando usa un QRNG, il manipolatore dovrebbe alterare fisicamente il sensore quantistico, cosa pressoché impossibile da fare senza essere notati.
Confronto tra le generazioni di RNG
| Generazione | Tecnologia | Livello di sicurezza | Prevedibilità |
|---|---|---|---|
| 1ª generazione | Algoritmi software lineari | Basso | Alta (emergono schemi) |
| 2ª generazione | PRNG ibrido con entropia di sistema | Medio | Bassa (difficile da sincronizzare) |
| 3ª generazione | Hardware dedicato (termico/radio) | Alto | Quasi nulla |
| 4ª generazione | Quantistica (QRNG) | Massimo | Nulla (leggi della fisica) |
Tuttavia, anche con i QRNG, il «fattore umano» resta l’anello più debole. Un sistema può disporre della fonte quantistica più avanzata al mondo, ma se lo sviluppatore lascia una modalità «debug» nel codice di produzione che gli consente di scavalcare l’RNG, la tecnologia diventa inutile. Il futuro dei sistemi equi non risiede soltanto in una casualità migliore, ma in una migliore trasparenza. Tecnologie come la blockchain vengono usate per creare registri pubblici e immutabili degli output e dei seed dell’RNG, permettendo a chiunque di verificare i risultati a posteriori.
L’«anatomia» di un sistema digitale equo sta passando da un modello nascosto e basato sulla fiducia a uno aperto e verificabile. In questo nuovo paradigma, la domanda non è più «L’RNG può essere truccato?», bensì «Il processo di verifica è aperto a tutti?». Combinando la casualità assoluta della meccanica quantistica con la trasparenza dei registri distribuiti, ci stiamo avviando verso un’epoca in cui il concetto di generatore «truccato» diventa matematicamente e fisicamente impossibile.
In conclusione, sebbene un RNG possa certamente essere manipolato tramite un seeding scadente, algoritmi distorti o exploit a livello di integrazione, gli strumenti per prevenirlo sono più potenti che mai. Se un sistema sia «equo» dipende spesso dall’integrità dei suoi operatori e dal rigore delle verifiche di terze parti a cui si sottopone. Comprendere il funzionamento interno di questi generatori ci permette di guardare oltre la superficie ed esigere il livello di trasparenza che la vita digitale moderna richiede.
