Skip to main content

Topic outline

  • Introduzione alla Blockchain

    Quando si cerca una definizione di Blockchain la descrizione più comune è quella che definisce la Blockchain come un Registro (Libro mastro - ledger) Distribuito Decentralizzato.

    In questo corso introduttivo spiegheremo cosa è la Blockchain e quali sono le sue principali applicazioni. 

  • Nozioni base della Blockchain

    Quando si cerca una definizione di Blockchain la descrizione più comune è quella che definisce la Blockchain come un Registro (Libro mastro - ledger) Distribuito Decentralizzato.

    Per comprendere realmente cosa sia la Blockchain è necessario analizzare singolarmente queste 3 parole.

     

    Decentralizzato: nella rete che compone la Blockchain tutti i servizi che vengono distribuiti e messi a disposizione degli utenti del network non fanno riferimento ad un server centrale.

    Di fatto non esiste nessun nodo che appartiene alla rete che possiede il controllo assoluto della Blockchain. Di conseguenza non esiste il problema del single-point-of-failure (SPoF), in cui in un sistema c’è un punto debole, come in un sistema Client-Server. In questo caso, se il punto debole dovesse staccarsi tutto il sistema o il server che eroga il servizio va down rendendo tutto il sistema non più utilizzabile. Invece, in un sistema distribuito questo problema è ovviato dal fatto che se un punto non funziona c'è un altro che lo sostituisce, evitando di bloccare tutto il sistema.

    Ad esempio, il server dell'INPS in Italia, in occasione delle richieste di previdenza sociale dovute all'emergenza del COVID-19, è stato sovraccaricato di richieste non è riuscito più a gestire il servizio.

     

    Distribuito: Tutti in nodi (computers) della rete che compone la blockchain sono collegati tra di loro. La relazione che intercorre tra i nodi è molti a molti (many-to-many) e non uno a molti (one-to-many) o uno a uno (one-to-one). Infatti la Blockchain consiste in un registro strutturato come una catena di blocchi contenenti le transazioni e la cui validazione è affidata a un meccanismo di consenso, distribuito su tutti i nodi della rete nel caso delle blockchain permissionless o pubbliche o su tutti i nodi i nodi che sono autorizzati a partecipare al processo di validazione delle transazioni da includere nel registro nel caso delle blockchain permissioned o private.

     

    Registro: La blockchain è come un libro contabile (ledger) che contiene tutte le transazioni effettuate dai partecipanti della sua rete. Quindi si tratta di un Registro pubblico per la gestione di dati correlati alle transazioni presenti nei blocchi e gestite tramite crittografia dai partecipanti alla rete che verificano, approvano e successivamente registrano tutti i blocchi con tutti i dati di ciascuna transazione su tutti  i nodi.

    Blockchain introduction

    La prima applicazione della blockchain è stata la moneta digitale Bitcoin. Nella blockchain Bitcoin vengono registrate tutte le transazioni, trasferimenti di valori tra portafogli Bitcoin confermati. In questo modo, i portafogli Bitcoin possono calcolare il loro bilancio disponibile e nuove transazioni possono essere verificate, controllando che chi spende abbia sufficiente disponibilità. L'integrità e l'ordine cronologico della blockchain sono protetti attraverso l'uso della crittografia. Questa è stata considerata la Blockchain 1.0.


    Nel 2015, dall’idea di Vitalik Buterin, diventa pubblico e accessibile a tutti Ethereum, una piattaforma che ha portato la tecnologia delle blockchain a più alti livelli si è passati alla Blockchain 2.0. Su Ethereum le transazioni vengono registrate come la blockchain Bitcoin, in più è possibile registrare sulla blockchain anche gli Smart Contract, che sono dei codici di programmazione che eseguono determinate azioni sulle basi di clausole concordate tra le parti che decidono di creare un  contratto. Uno Smart Contract permette di automatizzare quei meccanismi che nei contratti tradizionali sono sempre soggetti ad una sorta di controlli.   


    La struttura blockchain


    La blockchain è una successione ordinata di blocchi in cui ciascuno è legato al precedente ed al successivo


    Ogni singolo blocco contiene un certo numero predefinito di transazioni. Appena viene raggiunto il limite massimo di transazioni, il blocco viene chiuso e si crea quello successivo.


    Non esiste un punto debole della catena perchè la blockchain viene replicata ed aggiornata in tempo reale su tutti i nodi (computers) che compongono la rete. Se un nodo crolla tutti gli altri mantengono integrità della catena.


    Nessun nodo può cambiare lo stato della blockchain senza autorizzazione dell’intera rete. Esistono dei protocolli di consenso che impediscono ai singoli nodi di alterare il contenuto della blockchain. 

    Unico modo di cambiare lo stato di una blockchain è un operazione di inserimento, infatti non sono consentite ne modifiche ne cancellazioni di transazioni, tale operazione deve avere il consenso da tutti i nodi.


    Le proprietà della blockchain


    Fiducia. La blockchain è finalizzata a mantenere la fiducia tra i nodi. Le applicazioni delle blockchain sono decentralizzate su tutti i nodi ed anche il Ledger (registro delle transazioni) che non può essere alterato ed è quindi protetto da tentativi di frode. Questo garantisce la fiducia della blockchain.


    Autonomia. Nessuno dei nodi è proprietario della blockchain ma tutti partecipano in misura uguale al suo funzionamento ed alla sua gestione.


    Nessun intermediario. La blockchain elimina la necessità di un garante intermedio che faccia da tramite tra le parti impegnate in una transazione (Banca, Governo, Istituto assicurativo, ecc). Questo si nota maggiormenti in Ethereum dove sono presenti oltre alle transazioni anche gli Smart Contract.

    TRASPARENZA E VERIFICABILITÀ Il contenuto del registro è trasparente e visibile a tutti ed è facilmente consultabile e verificabile, garantendo così trasparenza nelle operazioni.



  • Crittografia

    La blockchain si basa sulla crittografia. E’ proprio essa che garantisce i meccanismi di fiducia.

     

    La crittografia è la tecnica che si pone l'obiettivo di convertire i contenuti di un documento in un codice decifrabile solo con utilizzo di una chiave di interpretazione. Non è una scienza recente infatti già durante la seconda guerra mondiale i tedeschi usavano il codice ENIGMA per cifrare gli ordini da trasmettere ed evitare di essere capiti se fossero stati intercettati e letti dai nemici.

     

    Nella blockchain viene usata una tecnica di crittografia detta asimmetrica. Si utilizzano due chiavi diverse per la conversione. Le due chiavi entrano in gioco in due fasi diverse del processo di conversione. Quindi la crittografia asimmetrica, anche nota come crittografia a chiave pubblica/privata, è un tipo di crittografia in cui a ciascuna entità è associata una coppia di chiavi:

    ●     Una chiave pubblica accessibile a tutti coloro che necessitano di scambiare informazioni con l’entità proprietaria.

    ●     Una chiave privata, custodita e tenuta segreta dal legittimo proprietario.