Una delle funzioni più basilari all'interno della tecnologia blockchain è legato alla casualità o semplicemente "casuale" come è tecnicamente noto. 

LPer la sua importanza, è abbastanza semplice: senza casualità, non ci sarebbe crittografia asimmetrica che renda possibile lo schema di sicurezza del criptovalute. Infatti, senza casualità i computer, Internet e anche il tuo cellulare sarebbe molto diverso da quello che sono oggi e, molto probabilmente, sarebbero anche dispositivi non sicuri.

Ma come è possibile? Di cos'è Quanto è importante la casualità nel mondo digitale e nelle criptovalute? Questo e altro puoi scoprire qui sotto.

Gli inizi della casualità nel mondo digitale

La casualità è stata usata dall'umanità per molto tempo. Dal lancio di dadi, ossa o lettura di carte per conoscere il tuo futuro ad altri usi rituali. Tuttavia, fu solo nel Medioevo (XVI secolo), quando fu formalmente studiata la casualità.

Infatti, uno degli usi principali della casualità era legato allo studio del numero pi e della forma casuale e infinita dei suoi numeri decimali. I matematici interessati a questo fatto iniziarono a vedere come questo fenomeno si ripetesse in altri spazi.

Ma, all'inizio del XX secolo, con l'avvento dei fondamenti matematici di probabilità e algoritmici, l'utilità della casualità è cresciuta in modo esponenziale. Ad esempio, la casualità è elementare per gli studi di fisica, in particolare la fisica quantistica. In informatica l'uso della casualità è elementare per la costruzione di algoritmi, chip e, naturalmente, crittografia, una delle tecnologie base nella creazione del mondo digitale e della sua sicurezza.

Casualità e sua importanza

Ora, perché è così importante generare numeri casuali? Che utilità ha tutto questo nella tecnologia blockchain? Bene, la verità è che generare un numero casuale è qualcosa di molto comune e necessario quando si tratta di sicurezza informatica.

Ad esempio, ogni volta che ti connetti a un Web su Internet utilizzando una connessione HTTPS (Secure HTTP Connection), ciò che accade è che il tuo computer/cellulare si connette al server Web e si scambiano messaggi per creare una connessione protetta tra questi due computer. Questo processo è possibile grazie all'uso di numeri casuali e alla loro implementazione nella crittografia che protegge le nostre comunicazioni digitali.

Naturalmente, questo è solo un esempio dell'importanza della casualità nel nostro mondo digitale. La casualità è presente in cose semplici come la tua carta di credito/debito (creando i token di autenticazione che autorizzano le spese che fai), la connessione wireless del tuo cellulare (le connessioni 2G, 3G e 5G utilizzano la crittografia asimmetrica).

Casualità in Blockchain

Ora, essendo blockchain una tecnologia digitale progettata per fornire sicurezza ai suoi utenti, la casualità è presente. Possiamo vedere l'uso della casualità nella blockchain in uno dei punti base di questa tecnologia: crittografia eperché la crittografia asimmetrica utilizzata dalle criptovalute è costruita grazie all'uso di numeri casuali. Ad esempio, durante la creazione di una chiave Bitcoin Utilizzando lo schema ECDSA e la curva secp256k1, ciò che fa un portafoglio Bitcoin è scegliere un numero casuale (un numero molto grande) e utilizzare quel numero all'interno di questa formulazione matematica:

y^2 = x^3 + ax + b

Garantire che la casualità sia abbastanza "caotica e unica" è qualcosa che i computer possono fare abbastanza bene. E allo stesso tempo, possono eseguire i calcoli necessari per risolvere questa formulazione in brevissimo tempo, dandoci accesso a una delle forme di crittografia più sicure conosciute fino ad oggi.

Tutto questo per un unico scopo: creare due chiavi (pubblica e privata) per gestire i nostri BTC in sicurezza in una rete trustless e con la certezza che i nostri BTC sono protetti da principi computazionali e matematici ampiamente testati.

L'evoluzione della casualità blockchain

Naturalmente, anche la tecnologia blockchain si sta evolvendo, così come il suo uso della casualità. Sapendo che i computer non possono rappresentare un vero generatore casuale (caos e ordine non possono coesistere nello stesso algoritmo), una di quelle evoluzioni della casualità nella blockchain è quella di utilizzare la stessa blockchain per garantire la generazione di "numeri casuali" in modo che possano essere utilizzato in spazi diversi.

Spieghiamo un po':

Per i computer è quasi impossibile rappresentare veri numeri casuali. Uno sviluppatore può creare un algoritmo di generazione di numeri casuali. Ma questo generatore seguirà "parametri" stabiliti (un algoritmo), che alla fine possono essere studiati con mezzi matematici e probabilistici. Ciò significa che questi algoritmi di generazione di numeri casuali (o pseudo-casuali) possono essere analizzati e rotti, dando origine al noto attacco generatore di numeri casuali.

Con questo in mente, molti sviluppatori blockchain stanno cercando di trasformare i dati all'interno di queste reti in generatori di casualità, che possono essere utilizzati in altre applicazioni.

Ma come è possibile? Bene, alcuni di questi modelli sono:

blocco hash

Uno dei mezzi per raggiungere questo obiettivo è Block-hashing, in cui gli hash di blocchi, transazioni o loro combinazioni vengono utilizzati come fonte di casualità. Poiché l'hash è deterministico, tutti otterranno lo stesso risultato. Un blocco, una volta aggiunto alla blockchain, vi rimarrà per sempre, quindi tutti potranno verificare la correttezza dei numeri generati.

Tuttavia, questo metodo presenta un serio problema di sicurezza: gli hash possono essere manipolati dai minatori. Sebbene questo problema sia piccolo e rilevabile, all'interno di un generatore di numeri casuali sicuro è intollerabile. Per questo motivo, questo sistema viene utilizzato pochissimo.

Oracoli

Un altro possibile modo per generare casualità nella blockchain per applicazioni di terze parti è attraverso gli oracoli. Progetti come Provable, TWAP di Uniswap o Chainlink VRF, sono solo alcuni esempi di questo sistema.

L'operazione è semplice. Questi sistemi raccolgono dati da fonti esterne, li elaborano all'interno della loro rete e generano un enorme pool di dati casuali. Questi dati possono quindi essere utilizzati dagli utenti del sistema. La cosa migliore è che questo sistema non è solo decentralizzato, ma utilizza un gran numero di fonti casuali in parallelo. Inoltre, tutto questo lavoro è accompagnato da un test crittografico per verificare i dati casuali generati.

Indubbiamente, la casualità gioca un ruolo fondamentale nel nostro mondo digitale e nella blockchain. Grazie ad esso possiamo avere mezzi per comunicare in sicurezza su Internet. E, allo stesso tempo, ci permette di creare una tecnologia che ci aiuti a migliorare questa capacità. Pertanto, la blockchain diventa un esempio di ciò che la casualità ci consente di ottenere e ci offre strumenti per continuare a migliorare questi sistemi da cui dipendono la nostra privacy e sicurezza nel mondo digitale.