L’associazione indissolubile tra Blockchain e Bitcoin ha rappresentato e rappresenta tutt’ora l’esempio più concreto e reale di come la Blockchain si può concretizzare in applicazioni concrete, reali che mettono a disposizione delle persone e delle aziende i valori di trust, di velocità e di sostenibilità della Blockchain.
Blockchain4Innovation ospita il contributo di Paolo Pellegrini, Senior consultant e responsabile della practice data-driven innovation P4I – Partners4Innovation sul tema dell’utilizzo della Blockchain nell’ambito del Bitcoin.
L’utilizzo della Blockchain per il mondo Bitcoin permette tra le varie altre attività quella di utilizzare diversi accorgimenti per rendere sicure le operazioni svolte dagli utenti:
- Utilizzo della Chiave privata: per assicurarsi che solo il reale proprietario di un certo quantitativo di bitcoin possa creare una transazione ad esso legata
- Utilizzo di Input pregressi: per garantire che il mittente abbia realmente abbastanza bitcoin per sostenere la transazione
Nonostante questi accorgimenti, potrebbe esserci un’ulteriore possibile falla di sicurezza, legata all’ordine delle transazioni, che può essere risolta solo con l’utilizzo del modello Blockchain.
Come funziona la Blockchain?
La rete Bitcoin ordina le transazioni inserendole in gruppi, chiamati blocchi (Block), che vengono fra di loro collegati in una catena, generando così il concetto cui tutti oggi riferiscono con il termine Blockchain. Ogni blocco della catena mantiene un riferimento al blocco precedente ed è quindi possibile risalire a ritroso fino al primo insieme di transazioni elaborate sulla base di alcune regole condivise:
- Le transazioni afferenti ad un blocco vengono considerate come svolte nel medesimo istante
- Le transazioni non ancora presenti in un blocco vengono invece considerate non confermate
Un metodo condiviso per la Blockchain
Ogni nodo è nella condizione di raccogliere un insieme di transazioni non confermate in un blocco ed è nella condizione di trasmettere alla rete un suggerimento su quale dovrebbe essere il blocco successivo. In ogni caso, in considerazione del fatto che più nodi potrebbero creare blocchi nello stesso momento, è necessario fare riferimento a un metodo condiviso per decidere quale sia il primo da agganciare alla catena.
Una Gara Matematica
Il metodo prevede una vera e propria gara matematica dove i nodi di elaborazione concorrono fra loro passando l’intero testo di un blocco più un numero casuale, in un Hash crittografico, con l’obiettivo di arrivare per primi ad un risultato inferiore ad un certo numero.
Il risultato di ogni elaborazione è del tutto imprevedibile, rendendo così possibile arrivare al risultato esatto solo tramite un numero elevato di tentativi casuali. Un computer tradizionale, inoltre, impiegherebbe diversi anni per risolvere un blocco mentre, sfruttando tutti i nodi elaboratori della rete, ci vogliono 10 minuti per risolvere un blocco.
Il primo nodo è quello che viene accettato
A fronte di più blocchi elaborati in contemporanea dalla rete, il primo ad essere risolto è quello che viene accettato e legato alla catena come successivo. Risulta altamente improbabile che un blocco possa essere risolto, nello stesso momento, da due nodi di elaborazione. Al contrario, è invece possibile che più blocchi diversi vengano risolti in contemporanea, da nodi diversi, generando una possibile ramificazione della catena. In questa eventualità il comportamento della Blockchain è il seguente:
- Ogni nodo della rete che ha elaborato con successo si crea una propria Blockchain temporanea. Il nodo in questione accetta come primo il blocco da lui risolto
- La diffusione nella rete segue lo stesso principio. Ogni nodo continua la sua catena con il blocco che gli è stato segnalato per primo come risolto
- L’incongruenza iniziale viene poi risolta quando qualcuno risolve il nodo successivo: questo verrà infatti agganciato ad una delle Blockchain provvisorie generate in precedenza che, automaticamente, diventerà a quel punto quella ufficiale
Matematicamente, è difficile che per due volte di seguito si crei un’incongruenza.
Questo permette quindi alla Blockchain di assestarsi rapidamente e tornare a regime. Restano in ogni caso da gestire i blocchi che si trovano sui rami più corti (giallo e verde, con riferimento all’immagine) che, sostanzialmente, verranno riportati alla stregua di blocchi non confermati e messi in coda al ramo più lungo.
nel caso del Bitcoin, alla risoluzione di un blocco da parte di un nodo della rete viene associata la generazione di nuove monete. Per questa ragione, l’operazione di risoluzione viene detta “minare” e i nodi partecipanti vengono definiti “Miner”.
Grazie a questa tecnica si crea lentamente una nuova valuta con una distribuzione casuale. Ogni quattro anni il premio per i Miner viene dimezzato, in modo da arrivare ad un tempo in cui non verranno più rilasciate monete. Nello specifico, questo accadrà nel 2140, per un totale di circa 21 milioni di monete in circolazione (ampiamente frazionabili).
Quale futuro per la Blockchain?
Il sistema Blockchain è certamente molto solido, ma ci sono una serie di domande cui è necessario dare una risposta con la massima attenzione:
- Quali sono i reali limiti di sicurezza di questa tecnologia?
- Quali sono le tempistiche necessarie per aver certezza che la propria transazione sia andata a buon fine e come queste si posizionano rispetto ai tradizionali metodi di pagamento?
- Quali le limitazioni derivanti dall’enorme potenza di calcolo necessaria per diventare Miner?
- Quale sarà l’effetto dell’introduzione di fee per le transazioni una volta che l’ultima moneta sarà stata generata?
- Quali sono le differenze fra Bitcoin e altre monete simili quali, ad esempio, LiteCoin?
- Quali altre reali applicazioni possono essere supportate dal modello Blockchain?
- …
Paolo Pellegrini – Senior Consultant @ P4I