Nell'ultimo capitolo è stato spiegato il concetto di Blockchain in maniera da elencarne le principali caratteristiche ad alto livello.
Come mai, però, si chiama Blockchain e come funziona?
Nel capitolo precedente avevamo fatto l'esempio di come gestire una biblioteca utilizzando una Blockchain. In sostanza, non è più necessario avere un ente centrale che svolga il ruolo di regolatore, ma la biblioteca diventa decentralizzata e le persone possono prestarsi libri tra di loro aggiornando il Public Ledger (registro a cui ciascun utente ha accesso).
Perchè viene chiamata Blockchain?
In questo esempio, ogni volta che viene prestato un libro si genera una transazione. Dal momento che più transazioni possono avvenire nello stesso istante, queste vengono raggruppate all'interno di un blocco.
Ogni nuovo blocco fa riferimento all'ultimo blocco creato prima di lui generando così una catena di blocchi (Blockchain). Ciascun utente può decifrare e risalire la catena di blocchi, validandone la veridicità, in maniera del tutto trasparente.
Ma se qualcuno volesse modificare dei blocchi già esistenti?
[Immagine riutilizzabile - fonte Flickr]
Viviamo in un mondo in c'è sempre chi vuole "raggirare" il sistema ed è quindi lecito porsi questa domanda.
I blocchi aggiunti alla Blockchain non possono essere nè cancellati nè modificati.
Dal momento che ciascun blocco fa riferimento a quello precedente, se un utente malevolo volesse modificare un blocco specifico, dovrebbe cambiare anche quelli precedenti e successivi.
La potenza computazionale per modificare questi blocchi è talmente alta da rendere impossibile l'operazione.
Come faccio a sapere che i nuovi blocchi non siano manipolati?
Ogni qualvolta viene creata una nuova transazione, questa deve essere validata, tramite un consenso distribuito, dalla maggior parte della rete. In molte Blockchain la soglia è pari al 50%. Se il 50% della rete accredita il blocco che contiene la transazione, questo viene considerato valido e aggiunto al Public Ledger.
Per semplicità considereremo il 50% dei nodi, ma in verità questa soglia fa riferimento alla potenza computazionale nel caso di Bitcoin e blockchain basate su proof of work. Analizzeremo questi algoritmi in un altro capitolo.
Come si creano i blocchi?
In una blockchain vi sono due tipologie di nodi: quelli che dispongono di monete virtuali ed effettuano transazioni e quelli che si occupano di creare i blocchi. Quest'ultimi vengono chiamati miners e l'operazione che svolgono per creare dei blocchi è denominata mining.
Questi nodi hanno il compito di validare le transazioni e riporle all'interno di un blocco che verrà poi, se convalidato, aggiunto alla Blockchain.
Un blocco contiene più transazioni e per essere generato i miners devono dare dimostrazione della loro operatività, risolvendo puzzle computazionali tramite processori e GPU. Il loro utilizzo comporta il dispendio di energia elettrica dando prova, in questo modo, del loro commitment.
È molto complicato creare nuovi blocchi, ma molto facile leggerli
Esatto. Questo è il principio base di tutta la Blockchain. Creare nuovi blocchi deve essere complicato, affinchè non si verifichino frodi o azioni malevole, ma verificarli deve essere molto facile.
Ciascun utente, infatti, deve essere in grado di risalire la Blockchain e verificare l'ammontare di monete che altri utenti o se stesso possiedono.
Tutte le immagini sono copyright free. Fonte immagine copertina: Pixabay