La tecnologia della Blockchain
Indice dei contenuti
La tecnologia della Blockchain
Nel nostro precendetne articolo approfondito (che puoi leggere QUI) abbiamo spiegato cos’è la Blockchain a grandi linee e come si può applicare al marketing.
In questo articolo invece spieghiamo tutte la tecnologia della blockchain, che in realtà è una combinazione di concetti che comprende: protocolli peer to peer, l’algoritmo di Hash, la crittografia pubblica e l’algoritmo di consenso distribuito.
Rete peer to peer
Per peer-to–peer si intende che nessun cliente nella rete è superiore agli altri e che tutti possono fornire servizi di rete. Ogni nodo è interconnesso attraverso una topologia piatta senza un server, un servizio centralizzato e nessuna gerarchia in rete. I nodi in una rete peer-to–peer fungono sia da server che da client nello stesso momento.
Una volta che il blocco è registrato nel libro mastro, l’intera rete avrà una copia del libro mastro aggiornato.
Tutti i nodi in un peer to peer hanno accesso ai dati e creano un sistema autonomo, per fornire e condividere dati tra questi nodi.
Algoritmo di Hash
Per capire come funziona l’hash crittografico (o impronta digitale) è necessario comprendere le identità digitali.
Il processo che permette di mappare una sequenza di testo in una sequenza unica ed univoca di lunghezza determinata è conosciuto come hashing. Un’importante caratteristica dell’hash è che è difficile ottenere il numero originale di input senza conoscere i dati utilizzati per creare l’hash.
Un buon algoritmo di Hash necessita di alcuni requisiti come:
- avere una lunghezza di output fissa;
- la più piccola modifica nei dati dell’input produce un output differente;
- lo stesso input produrrà lo stesso output;
- il calcolo del valore dell’hash non deve essere intensivo e dovrebbe essere veloce.
In sintesi, il sistema Bitcoin e Blockchain utilizza questa funzione per rendere immodificabile il contenuto dei blocchi ed il loro ordine cronologico.
Crittografia a chiave pubblica
Tradizionalmente la crittografia a chiave privata è utilizzata per comunicare un messaggio in modo sicuro attraverso l’uso di un’unica chiave segreta condivisa tra due parti, pur mantenendo l’anonimato e fornendo sicurezza.
La crittografia asimmetrica a chiave pubblica si riferisce a un metodo crittografico, dove vengono utilizzate chiavi diverse per la crittografia e la decrittografia anziché un’unica chiave segreta condivisa.
Ci sono due comuni applicazioni della crittografia a chiave pubblica come messaggi criptati e la firma digitale.
- Nel processo di messaggi criptati, il mittente può usare la chiave pubblica del destinatario per crittografare i dati e inviarli attraverso un canale pubblico senza compromettere la sicurezza. Solo il destinatario può decrittografare i dati utilizzando le loro chiavi private.
- Nel processo della firma digitale, il mittente può firmare il messaggio attraverso l’uso della sua chiave privata e può inviare o trasmettere un messaggio a uno o più destinatari. Inoltre, i destinatari possono usare la chiave pubblica del mittente per verificare che la firma digitale sia legittima.
Il certificato digitale è un concetto fondamentale alla base della tecnologia Blockchain, per verificare la proprietà della trasmissione o dei messaggi attraverso il pubblico e assicurano che le reti migliorino la fiducia.
Algoritmo di consenso distribuito
Per permettere la decentralizzazione della blockchain, i nodi impegnati nella conduzione delle transazioni e nella creazione dei blocchi devono anche essere in grado di confermare la validità dei blocchi mentre sono aggiunti alla catena.
Per questo motivo, il consenso tra nodi è una necessità, in quanto non esiste un sistema centralizzato per effettuare questa determinazione. Per realizzare questo accordo, esistono diversi tipi di meccanismo di consenso come Proof of Work (PoW), Proof of Stake (PoS) Pratical Byzantine Fault Tolerance (PBFT).
Questi meccanismi di consenso devono raggiungere lo stesso fine, cioè determinare quali blocchi sono corretti attraverso il controllo del lavoro di ciascun blocco aggiunto per verificare la validità.
Il consenso generalmente implica il mining, cioè un processo che conferma le transazioni tramesse tra tutti gli utenti, o la risoluzione di alcuni problemi difficili che sono facilmente verificabili, ma non facilmente superabili.
Di seguito, si andrano ad analizzare alcuni meccanismi di consenso:
- Il Proof of Work (PoW) è il più comune algoritmo di consenso e più del 75 % del capitale del mercato delle criptovalute è controllato da esso. Ogni nodo cerca di individuare un numero tale per cui l’hash del blocco combinato con il numero è una stringa che ha un certo numero di caratteri a zero.
- Oltre al Poof of Work si ha anche il Proof of Stake (PoS). Quest’ultimo è stato introdotto per superare il problema del Poof of Work, infatti è un meccanismo moderatamente dispendioso in termini di energia. Proof of Stake è un algoritmo di consenso aperto.
Il concetto dietro al PoS è che c’è un basso rischio di un attacco alla rete dalle persone con maggior interesse. Semplicemente il sistema calcola i giorni della moneta moltiplicando le monete e i giorni detenuti, seguito dal calcolo della dimensione dell’interesse per decidere in quale nodo fare il blocco successivo. - Un altro algoritmo di consenso è il Practical Byzantine Fault Tolerance (PBFT). Esso è un algoritmo di replica che permette risolvere il problema dei Generali Bizzantini, cioè un problema informatico che consente nel trovare un accordo comunicando tramite messaggi fra le diverse componenti della rete.
Quindi il Practical Byzantine Fault Tolerance richiede che ogni nodo sia noto dalla rete.