Università degli Studi di Padova - SIAGAS

Pagina creata da Filippo Barbieri
 
CONTINUA A LEGGERE
Università degli Studi di Padova - SIAGAS
Università degli Studi di Padova
 Dipartimento di Matematica "Tullio Levi-Civita"
                    Corso di Laurea in Informatica

       Sviluppo di una dashboard per il
    reperimento e monitoraggio di dati in
              ambito Blockchain

Tesi di Laurea di
Davide Scarparo

                                                               Relatore
                                                   Prof.ssa Silvia Crafa

                       Anno Accademico 2016-2017
Università degli Studi di Padova - SIAGAS
Davide Scarparo: Sviluppo di una dashboard per il reperimento e monitoraggio di dati
in ambito Blockchain, Tesi di laurea triennale, c Settembre 2017.
Università degli Studi di Padova - SIAGAS
"Il Web è progettato per essere universale: per includere tutto e tutti."
                           Tim Berners-Lee
Università degli Studi di Padova - SIAGAS
Università degli Studi di Padova - SIAGAS
Sommario

Questo elaborato è un resoconto delle attività svolte come stagista nel periodo dal 31
maggio al 28 luglio 2017, presso l’azienda Ifin Sistemi Srl. Lo scopo dello stage consisteva
nell’analizzare un prodotto che l’azienda aveva recentemente sviluppato, nell’ambito
del progetto TrustedChain R , migliorandone gli aspetti relativi all’interfaccia grafica e
alle informazioni visualizzate in essa.
TrustedChain R si basa sull’innovativa tecnologia Blockchain, tale per cui lo stage
ha previsto anche un periodo di autoformazione e studio dell’argomento. Dato che
l’elaborato risultante dallo stage non è ancora disponibile ai clienti finali, quanto
riportato in seguito potrebbe contenere alcune omissioni rispetto a ciò che realmente è
stato fatto in azienda.

Convenzioni tipografiche
Nell’elaborato che segue sono state adottate alcune convenzioni tipografiche per
facilitarne la lettura e la comprensione:
   • La versione digitale dell’elaborato conterrà collegamenti tra le differenti parti del
     documento (es.: Capitolo 1 - Introduzione);

   • Per non appesantire la lettura, il significato di alcuni termini sarà riportato nella
     sezione Glossario. Alla prima occorrenza, il termine presente nel glossario sarà
     adeguatamente evidenziato tramite uno stile corsivo del font e la lettera G in
     formato pedice (es.: termineG );
   • Alcune parole spesso ripetute nel testo potrebbero essere abbreviate con la
     rispettiva sigla; in tal caso, alla prima occorrenza, verrà riportata tra parentesi
     il significato della sigla usata nel restante documento (es.: TSP (Trust Service
     Provider));
   • Le citazioni saranno riportate a centro pagina tra virgolette ed evidenziate tramite
     uno stile corsivo del font.

                                             v
Ringraziamenti

Giunto al termine di questo importante percorso, mi sento in dovere di ringraziare:
   • I miei genitori, che grazie al loro supporto e fiducia in me hanno reso possibile
     questo traguardo;
   • Martina, per avermi non solo supportato, ma anche sopportato nei momenti più
     duri, credendo sempre in me;
   • I miei amici di una vita, che sono sempre rimasti al mio fianco durante tutto il
     percorso, regalandomi momenti indimenticabili;

   • I pochi ma buoni compagni di corso, con cui ho condiviso nuove esperienze di
     progetto e dalle quali sono nate nuove amicizie;
   • La prof.ssa Silvia Crafa, relatore della mia tesi, per la sua disponibilità e cordialità,
     per i suoi consigli e spunti critici profusi lungo tutto il periodo di stesura della
     tesi;
   • Il mio tutor aziendale, Fabio Canevarolo, per i preziosi insegnamenti dati durante
     l’attività di stage, oltre che per la sua presenza e disponibilità anche dopo la fine
     dell’attività di stage.

                                                                           Davide Scarparo

Padova, Settembre 2017

                                             vii
Indice

Ringraziamenti                                                                                              vii

1 Introduzione                                                                                               2
  1.1 L’azienda . . . . . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .    2
  1.2 Il progetto TrustedChain R . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .    3
       1.2.1 Contesti di applicazione di TrustedChain R         .   .   .   .   .   .   .   .   .   .   .    4
  1.3 Stage e piano di lavoro . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .    5

2 La tecnologia Blockchain                                                                                   8
  2.1 Evoluzione da sistemi centralizzati a sistemi     distribuiti     .   .   .   .   .   .   .   .   .    8
  2.2 Principi di funzionamento . . . . . . . . . .     . . . . . .     .   .   .   .   .   .   .   .   .   11
      2.2.1 Algoritmi e protocolli di consenso . .      . . . . . .     .   .   .   .   .   .   .   .   .   13
      2.2.2 Permissioned vs permissionless . . .        . . . . . .     .   .   .   .   .   .   .   .   .   14
      2.2.3 Smart contract . . . . . . . . . . . .      . . . . . .     .   .   .   .   .   .   .   .   .   15
  2.3 Casi d’uso per la Blockchain . . . . . . . . .    . . . . . .     .   .   .   .   .   .   .   .   .   16
      2.3.1 Stato . . . . . . . . . . . . . . . . .     . . . . . .     .   .   .   .   .   .   .   .   .   17
      2.3.2 Sanità . . . . . . . . . . . . . . . . .    . . . . . .     .   .   .   .   .   .   .   .   .   18
      2.3.3 Automotive . . . . . . . . . . . . . .      . . . . . .     .   .   .   .   .   .   .   .   .   19
      2.3.4 Internet-of-Things . . . . . . . . . .      . . . . . .     .   .   .   .   .   .   .   .   .   19
      2.3.5 Cyber security . . . . . . . . . . . .      . . . . . .     .   .   .   .   .   .   .   .   .   21
      2.3.6 Altro . . . . . . . . . . . . . . . . . .   . . . . . .     .   .   .   .   .   .   .   .   .   22

3 IPFS                                                                                                      24
  3.1 Caratteristiche principali . . . . . . . . . . . . . . . . . . . . . . . . . .                        25
  3.2 Problematiche individuate . . . . . . . . . . . . . . . . . . . . . . . . .                           27
  3.3 Casi d’uso di IPFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          27

4                                                                                                           30

5 Conclusioni                                                                                               32

Glossario                                                                                                   34

                                           ix
Elenco delle figure

 1.1   Logo dell’azienda Ifin Sistemi Srl . . . . . . . . . . . . . . . . . . . . .                 2
 1.2   Logo TrustedChain R . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  4

 2.1   Schema di un sistema centralizzato . . . . . . . . . . . . . .      .   .   .   .   .   .    9
 2.2   Schema di un sistema decentralizzato . . . . . . . . . . . . .      .   .   .   .   .   .    9
 2.3   Schema di un sistema distribuito . . . . . . . . . . . . . . .      .   .   .   .   .   .   10
 2.4   Confronto tra una struttura client-server e una peer-to-peer        .   .   .   .   .   .   10
 2.5   Struttura della catena di blocchi . . . . . . . . . . . . . . . .   .   .   .   .   .   .   12
 2.6   Smart contract . . . . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   15
 2.7   Mappa concettuale dei casi d’uso per la Blockchain . . . . .        .   .   .   .   .   .   16

 3.1   Logo IPFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               24

                                           1
Capitolo 1

Introduzione

Il progetto di stage, sotto la supervisione del tutor aziendale Fabio Canevarolo, nonchè
responsabile tecnico del progetto TrustedChain R basato su tecnologia Blockchain in
Ifin Sistemi Srl, ha previsto l’analisi e lo studio della tecnologia Blockchain e dei vari
concetti legati al mondo DLTG (Distributed Ledger Technology), un approfondimento
sulla recente tecnologia IPFSG (Inter-Planetary File System), in modo da valutarne
una possibile integrazione e/o l’utilizzo in future versioni dei propri progetti o prodotti
sviluppati, una profonda ristrutturazione dell’interfaccia grafica dell’applicativo Dash-
board per il progetto TrustedChain R , secondo specifici requisiti richiesti ed emersi in
seguito ad un’approfondita e dettagliata analisi di usabilità dell’applicazione nella sua
versione iniziale.

1.1      L’azienda
Ifin Sistemi Srl è un’azienda italiana, fondata nel 1981, leader nel settore del Document
Management, ovvero gestione e conservazione documentale digitale e fornitura di
servizi digitali fiduciari per privati, Pubblica Amministrazione, banche ed enti sanitari.

                      figura 1.1: Logo dell’azienda Ifin Sistemi Srl

Ifin Sistemi Srl si occupa della gestione dei documenti digitali, fornendo soluzioni e ser-
vizi per trattare, convertire, archiviare e conservare a norma flussi di dati, informazioni
e contenuti. Più precisamente, Ifin Sistemi Srl propone soluzioni per l’archiviazione
documentale, conservazione digitale e fatturazione elettronica, volte a facilitare i pro-
cessi di gestione documentale all’interno delle aziende, fornendo al cliente consulenza
tecnologica, metodologica e normativa.
Nel gennaio 2009, a seguito di uno studio effettuato da Gartner, Ifin Sistemi Srl è
stata segnalata tra le prime cinque aziende leader in Italia nel settore della gestione
documentale. Nel corso degli anni, Ifin Sistemi Srl è riuscita ad ottenere le seguenti
importanti certificazioni:

                                            2
1.2. IL PROGETTO TRUSTEDCHAIN R                                                                3

   • UNI CEI ISO/IEC 27001:2014, nel campo di applicazione acquisizione,
     trattamento finalizzato alla conservazione e gestione dei dati e documenti digitali,
     che rappresenta lo standard internazionale per gli aspetti legati alla sicurezza
     delle informazioni;

   • ISO 9001:2008, nel campo di applicazione progettazione, sviluppo, installazione
     di soluzioni ICT e relativi servizi di assistenza tecnica applicativa, ed erogazione
     di servizi di consulenza in ambito tecnologico, organizzativo e gestionale.

Il 13 marzo 2015, Ifin Sistemi Srl ha ottenuto il titolo di Conservatore Accreditato
AgIDG (Agenzia per l’Italia Digitale), una qualifica di alto livello che permette di
essere riconosciuta a livello nazionale come azienda di qualità e di elevata competenza
nel campo della conservazione digitale.
Infatti, per l’art. 44 bis del Codice dell’Amministrazione Digitale (D. lgs. 82/2005), i
Conservatori Accreditati sono identificati come:

          “I soggetti pubblici e privati che svolgono attività di conservazione dei
      documenti informatici e di certificazione dei relativi processi anche per
      conto di terzi, e intendono conseguire il riconoscimento dei requisiti del
      livello più elevato, in termini di qualità e sicurezza.”

Per poter essere accreditati presso l’AgID, è fondamentale possedere i seguenti requisiti:

   • Alti livelli di affidabilità tecnica, organizzativa e finanziaria;

   • Presenza di risorse umane con approfondita conoscenza in campo archivistico,
     tecnologico e giuridico;

   • Procedure in grado di rispettare le norme vigenti e consentire un’adeguata
     riservatezza, autenticità, immodificabilità, integrità e fruibilità dei documenti
     informatici oggetto di conservazione.

Le aziende che si affidano ad un Conservatore Accreditato hanno la sicurezza di agire
nel pieno rispetto delle normative vigenti in campo di conservazione digitale: questo
aspetto non è trascurabile o banale, poiché, se seguito con troppa superficialità e
sufficienza, o poca esperienza, può far incorrere un’azienda in gravi sanzioni.

1.2      Il progetto TrustedChain R
TrustedChain R è il nome del progetto ideato da Ifin Sistemi Srl, il quale ha portato alla
realizzazione del primo network Blockchain privato tra TSPG (Trust Service Provider)
europei. Tale progetto è stato presentato in anteprima a Milano, in data 23 maggio
2017.
I TSP rappresentano tutte quelle aziende altamente qualificate che per il settore pub-
blico e privato, forniscono e gestiscono servizi digitali fiduciari, quali ad esempio: la
conservazione documentale, le firme digitali e le fatture elettroniche.
In ogni Paese membro dell’UE, i TSP sono riconosciuti tali da organismi governativi
di vigilanza UE, dopo adeguate verifiche di conformità. Sono perciò tenuti a osservare
precisi requisiti tecnici di sicurezza e affidabilità nella gestione di tutti i servizi digitali,
come previsto dal Regolamento UE n.910/2014 eIDAS (electronic IDentification Au-
thentication and Signature).
Ricadono in questa categoria anche le realtà che hanno ricevuto da AgID l’abilitazione
4                                                    CAPITOLO 1. INTRODUZIONE

all’erogazione di servizi di conservazione digitale a norma per la Pubblica Amministra-
zione italiana.
Il progetto TrustedChain R nasce con l’obiettivo di fornire servizi e applicazioni Block-
chain decentralizzate in ambito pubblico e privato, coerentemente con la Risoluzione
del Parlamento europeo 2016/2007 (INI), che incoraggia Pubblica Amministrazione
e imprese ad implementare e introdurre gradualmente la tecnologia Blockchain nei
relativi settori di competenza.
Grazie agli elevati standard tecnici richiesti per legge ai suoi nodi e garantiti dalle
pubbliche istituzioni, TrustedChain R offre agli operatori un ecosistema Blockchain
full-trust, ad altissimo valore tecnologico e a rischio zero, capace di garantire conserva-
zione a lungo termine dei dati, sicurezza, scalabilità, affidabilità, continuità di servizio
e conformità normativa in tutte le transazioni.

                            figura 1.2: Logo TrustedChain R

Grazie ai punti di forza come affidabilità e sicurezza, il network TrustedChain R risulta
particolarmente adatto anche per applicazioni in settori sensibili, quali l’e-government,
i pagamenti digitali, il banking, la gestione dei dati sanitari, dei processi industriali e
di amministrazione statale.
Infine, le applicazioni dell’ecosistema TrustedChain R possono essere progettate per
rispondere a specifiche esigenze operative e di mercato, in modo che dati e transazioni
possano essere gestiti attraverso differenti meccanismi di consenso e di verifica, livelli
di controllo, sicurezza, visibilità e accesso. Ciò consente la condivisione di dati tra
partner privi di rapporti fiduciari o in competizione tra loro, con reciproco vantaggio,
senza mai compromettere la propria privacy.

1.2.1     Contesti di applicazione di TrustedChain R
Gli ambiti nei quali attualmente TrustedChain R si propone come soluzione sono i
seguenti:
    • Documentale
      La tecnologia Blockchain consente la gestione decentralizzata di archivi digitali
      per documenti, contratti, proprietà e asset del settore pubblico e privato. I
      dati sono automaticamente verificati, archiviati e resi resistenti a contraffazioni
      volontarie o accidentali di terze parti, grazie ad opportuni protocolli algoritmici
1.3. STAGE E PIANO DI LAVORO                                                             5

      basati su proof-of-existenceG .

   • Pubblica Amministrazione
     Il settore della Pubblica Amministrazione gestisce un’enorme quantità di dati,
     spesso in maniera inefficiente. I problemi maggiori sono riconducibili a fattori
     quali:
         ∗ Mancata interoperabilità tra sistemi nazionali ed internazionali;
         ∗ Presenza di dati ridondanti, con incremento dei costi di gestione;
         ∗ Rischio di errori involontari e manomissioni da parte di terzi;
         ∗ Gestione centralizzata dei dati personali dei cittadini, con conseguenti rischi
           per la privacy.
      TrustedChain R consente di decentralizzare e rendere più efficienti e sicuri i flussi
      di formazione, gestione e conservazione di dati, documenti e identità digitali,
      sempre nel rispetto della privacy dei cittadini. Le sue applicazioni possono
      rivelarsi fondamentali nei seguenti casi:
         ∗ Conservazione e gestione efficiente dei registri pubblici contenenti dati
           anagrafici, catastali, giudiziari, etc., con conseguente riduzione di costi,
           tempi e necessità di infrastrutture adeguate;
         ∗ Sistema decentralizzato di gestione delle identità digitali per servizi di
           e-government, con tutela automatica della privacy degli utenti cittadini;
         ∗ Riscossione delle imposte e tracciabilità dei fondi privati e pubblici, grazie
           all’utilizzo di smart contracts e sistemi digitali multifirma;
         ∗ Interoperabilità e notarizzazione tra differenti registri distribuiti e networks
           creati ad uso esclusivo della Pubblica Amministrazione.
   • Industry
     TrustedChain R può semplificare e gestire in maniera più efficiente molti processi
     industriali, come ad esempio:
         ∗ Tracciabilità dei prodotti di un’intera catena di produzione, a partire dalle
           materie prime;
         ∗ Gestione completa delle catene di fornitura e approvvigionamento;
         ∗ Prevenzione e lotta alla contraffazione.
      Inoltre, il sistema distribuito di intelligenza artificiale di TrustedChain R può
      sostenere le fasi decisionali dei processi industriali attraverso l’analisi dei dati
      in maniera sia reattiva che proattiva, evidenziando rischi e pericoli effettivi o
      potenziali.

1.3     Stage e piano di lavoro
Per lo stage formativo da me concluso presso l’azienda Ifin Sistemi Srl, gli obiettivi
minimi richiesti sono descritti brevemente nel seguente elenco di attività:
   • Studiare e comprendere i concetti e le tematiche legate alla tecnologia Blockchain
     e agli algoritmi di consenso distribuito, facendo particolare attenzione ai concetti
     inerenti al mondo DLT e dei sistemi permissioned;
6                                                     CAPITOLO 1. INTRODUZIONE

    • Approfondire ed individuare tutti i casi d’uso relativi alla Blockchain, con
      particolare attenzione a quelli di possibile interesse per l’azienda;

    • Studiare la tecnologia IPFS, in modo da valutarne una possibile integrazione
      con il progetto TrustedChain R o altri progetti futuri, sempre basati su queste
      tecnologie innovative;
    • Analizzare il framework Blockchain attualmente in uso dall’azienda e le modalità
      di interazione con lo stesso nell’ambito del progetto TrustedChain R , facendo
      particolare attenzione al concetto di transazione in questo preciso contesto,
      rispetto ai classici sistemi basati su criptovalutaG come BitcoinG ;
    • Comprendere le best practice e lo stack di sviluppo tecnologico aziendale;
    • Analizzare il prodotto TrustedChain R Dashboard, di cui l’azienda di recente ne
      ha sviluppato una prima versione, in termini di funzionalità ed usabilità, affinché
      possano essere proposti dei miglioramenti per l’applicazione, la quale verrà poi
      commercializzata;
    • Produrre un nuovo design che soddisfi i requisiti minimi evidenziati e che introduca
      i miglioramenti desiderati, in merito ad usabilità, responsività, aspetto grafico,
      qualità e dettagli informativi dei dati visualizzati dalla dashboard, grazie anche
      all’introduzione di nuovi indicatori come grafici e tabelle;
    • Test delle funzionalità, dell’usabilità e della responsività dell’applicativo aggiorna-
      to sui dispositivi di interesse, quali desktop, notebook e mobile device da minimo
      10”.

Al termine del periodo di tirocinio curriculare, i prodotti attesi sono i seguenti:
    • Glossario dei termini imparati durante il periodo di autoformazione, grazie alle
      ricerche effettuate sull’argomento inerente la tecnologia Blockchain, compresi di
      relative definizioni formali (Glossario);
    • Documento di analisi dei casi d’uso della tecnologia Blockchain di possibile
      interesse all’azienda (Sezione 2.3 - Casi d’uso per la Blockchain);
    • Documento di analisi della tecnologia IPFS (Capitolo 3 - IPFS);
    • Documento di analisi per il progetto Dashboard, contenente la descrizione delle
      funzionalità volute, le specifiche di usabilità ed i collegamenti tra i vari indicatori
      e le relative fonti dati;
    • Mockup di progettazione riguardo la nuova interfaccia grafica dell’applicazione
      Dashboard, tramite l’utilizzo di un opportuno editor di immagini quale paint.net;
    • Implementazione del codice software della nuova versione della dashboard, ese-
      guibile su un web server e in grado di soddisfare i requisiti minimi previsti;

    • Documento riassuntivo indicante le scelte architetturali ed implementative fatte
      durante lo sviluppo.
Capitolo 2

La tecnologia Blockchain

La Blockchain è una tecnologia che consente la creazione e gestione di un grande
registro distribuito per la sincronizzazione dei numerosi dati, relativi alle transazioni,
condivisi tra più nodi appartenenti al medesimo network.
Il concetto di Blockchain fu concepito ed ideato nell’ottobre del 2008 da Satoshi
NakamotoG , come fondamento del protocollo Bitcoin, il quale permette di automatizzare
e decentralizzare in maniera sicura qualsiasi transazione digitale, scambio di valore o
di dati, su ampia scala.
La grande caratteristica della Blockchain è data dall’uso di strumenti crittografici,
quali funzioni di hash, per garantire sicurezza ed immutabilità dei dati memorizzati e
condivisi pubblicamente. Tale tecnologia, detta anche "tecnologia di codifica a blocchi",
è considerata una delle innovazioni tecnologiche più importanti avvenute in ambito
informatico negli ultimi trent’anni.
Nel corso degli anni, la Blockchain ha saputo liberarsi sempre di più dal legame che
originariamente la teneva unita alla criptovaluta, acquistando maggiore credibilità e
proponendosi come soluzione ed opportunità per diversi campi applicativi.
In virtù del suo altissimo potenziale, si ritiene che la Blockchain sia un’innovazione
capace di mutare radicalmente il mondo dell’impresa, dei servizi, della Pubblica
Amministrazione, della finanza e della governance globale nel prossimo decennio.
I settori di applicazione della Blockchain sono numerosissimi, poiché è una tecnologia
che può essere progettata per le più diverse esigenze operative; infatti, la Blockchain
può contenere dati ed eseguire istruzioni relative a documenti, contratti, proprietà e
asset digitalizzati di qualsiasi tipo.
I vantaggi sono considerevoli in termini di efficienza, automazione, riduzione di tempi
e costi dei flussi di lavoro, maggiore resilienza e sicurezza infrastrutturale, privacy e
condivisione dei dati tra i partecipanti del sistema.

2.1      Evoluzione da sistemi centralizzati a sistemi di-
         stribuiti
La Blockchain è la realizzazione di un database distribuito chiamato distributed ledgerG ,
come evoluzione di database e sistemi centralizzati e decentralizzati, che sfrutta la
tecnologia peer-to-peer (spesso abbreviato con P2P) ed ha la scopo di contenere tutte
le transazioni che siano mai state eseguite nel contesto di un medesimo network.
Le principali motivazioni che hanno spinto verso lo sviluppo di questa innovativa

                                            8
2.1. EVOLUZIONE DA SISTEMI CENTRALIZZATI A SISTEMI DISTRIBUITI 9

tecnologia, possono ricondursi ai seguenti problemi generali, che nel tempo si sono
riscontrati nell’utilizzo di sistemi centralizzati e decentralizzati:
   • Problema della tendenza alla centralizzazione e dell’accentramento del potere;
   • Vulnerabilità e resistenza nulla alla censura;
   • Neutralità della rete assente;
   • Elevati costi di manutenzione dei server centrali;
   • Scarsa sicurezza e resistenza ad attacchi informatici, ad esempio, i più frequenti
     di tipo DDoSG (Distributed Denial of Service).
Nei sistemi centralizzati, come ad esempio un centralized ledgerG , è presente una rete
nella quale tutti gli elementi, detti nodi, sono connessi ad un unico nodo centrale,
concentrando il potere in un unico punto. In questo tipo di sistemi, la fiducia risiede
esclusivamente nell’autorità e nel potere del soggetto o sistema che rappresenta il centro
del sistema, come rappresentato in figura 2.1.

                      figura 2.1: Schema di un sistema centralizzato

Come rappresentato in figura 2.2, nei sistemi decentralizzati, come ad esempio un
decentralized ledgerG , viene riproposta la logica della centralizzazione vista in preceden-
za, ma a livello “locale”, con la presenza di diversi nodi centrali connessi tra loro ed
organizzati a loro volta come un sistema centralizzato.
In questo caso, la fiducia è delegata ad ognuno dei nodi centrali, evidenziando co-
me il funzionamento di tali sistemi dipenda esclusivamente dai nodi centrali, i quali,
comunque, tendono ad accentrare tutto il potere.

                     figura 2.2: Schema di un sistema decentralizzato

Il vero cambiamento è rappresentato dai sistemi distribuiti, come il distributed ledger,
ovvero una reale e completa logica distribuita, dove non esiste più nessun soggetto
10                                CAPITOLO 2. LA TECNOLOGIA BLOCKCHAIN

centrale e dove ogni punto è connesso con un certo numero di altri punti e, attraverso
di essi, con il resto della rete.
In questo tipo di sistemi, ogni nodo risulta utile agli altri, in quanto aiuta a replicare,
condividere e rendere disponibili i dati che trafficano sulla rete, ma nessuno di questi è
indispensabile per il funzionamento della rete stessa.
Inoltre, nessun nodo ha la possibilità di prevalere su un altro, bensì si passa rigoro-
samente attraverso un preciso processo di costruzione del consenso tra i vari soggetti
della rete.

                       figura 2.3: Schema di un sistema distribuito

I sistemi peer-to-peer nascono all’incirca all’inizio del 1999, suscitando scalpore per il
caso Napster: il primo sistema di file sharing per file musicali in formato mp3.
Innanzitutto, una rete peer-to-peer rappresenta un modello di architettura logica di
rete in cui ogni nodo è equivalente (letteralmente “peer” significa “paritario”) a tutti
gli altri, e permette, dunque, a un gruppo di utenti di computer di connettersi fra loro
e di condividere le risorse in loro possesso.
Come rappresentato in figura 2.4, all’interno di tali reti, ciascun peer (workstation) ha
capacità e responsabilità equivalenti, a differenza delle architetture di tipo client/server,
in cui alcuni computer sono dedicati al solo soddisfacimento delle richieste di servizi
da parte di altri computer. Ciò significa che nel sistema P2P, ciascun nodo è in grado
di ricoprire sia il ruolo di client che quello di server per altri nodi, condividendo risorse
e servizi.

         figura 2.4: Confronto tra una struttura client-server e una peer-to-peer
2.2. PRINCIPI DI FUNZIONAMENTO                                                          11

Alcuni dei principali obiettivi dell’approccio peer-to-peer sono:

   • Aumentare la persistenza e la disponibilità delle risorse;

   • Migliorare la scalabilità;

   • Aumentare l’autonomia e la tolleranza ai guasti dell’intero sistema;

   • Ridurre i costi tramite l’utilizzo di risorse condivise ed aggregate;

   • Garantire anonimità degli utenti, in quanto non si richiede alcuna operazione di
     autenticazione.

D’altro canto, le problematiche che vengono introdotte riguardano soprattutto la
sicurezza, in quanto occorre garantire l’integrità e autenticità delle risorse, e l’elevato
tasso con cui i nodi entrano ed escono dal sistema P2P, il quale può portare instabilità
e prestazioni negative.
Infine, si possono elencare alcuni degli esempi applicativi dei sistemi peer-to-peer:

   • Condivisione e memorizzazione distribuita di contenuti (CDNG - Content Delivery
     Network);

   • Condivisione di potenza computazionale (elaborazione e potenza di calcolo
     distribuita);

   • Collaborazione e comunicazione come chat di instant messaging e telefonia.

Nel caso della Blockchain, il calcolo computazionale che viene replicato su ogni nodo
per la convalida di un blocco (blockG ) è fondamentale per il suo funzionamento e
successo, in quanto è necessario per la costruzione di un consenso distribuito, al fine di
garantire che le informazioni ricevute siano sempre corrette e che non ci siano attacchi
che mirano all’integrità dei dati che circolano sulla rete.

2.2      Principi di funzionamento
Il modello proposto dalla Blockchain si basa sulla combinazione tra firma digitale e
marca temporale (timestampG ): la prima garantisce che mittente e destinatario di
un qualsiasi tipo di messaggio siano identificati in modo certo, la seconda permette
che un insieme di messaggi, validato con la marca temporale da parte di un nodo
scelto casualmente da un robusto modello matematico, venga comunicato e scritto nel
registro di tutti gli altri nodi della rete e reso irreversibile.
Il distributed ledger della Blockchain è rappresentato da una catena di blocchi, ognuno
dei quali contiene più transazioni, è aggiornato in tempo reale e mantenuto collettiva-
mente da tutti i nodi del sistema, ciascuno dei quali è chiamato a verificare ed approvare
ogni singolo blocco, prima che quest’ultimo possa essere aggiunto definitivamente alla
catena pubblica condivisa tra tutti gli altri nodi partecipanti.
Le transazioni sono raccolte in blocchi, condivise e convalidate dai nodi secondo uno
specifico algoritmo di consenso, il quale esegue automaticamente la prova di verifica di
un blocco, senza necessità di intervento umano o di un’autorità centrale. Come mo-
strato in figura 2.5, ogni blocco, escluso il primo, denominato genesis blockG , contiene
le seguenti informazioni:

   • L’identificativo del blocco (heightG );
12                                CAPITOLO 2. LA TECNOLOGIA BLOCKCHAIN

     • L’hash del blocco precedente, il quale consente di ottenere una solida struttura a
       catena, poiché ogni blocco concatenato tende a rafforzare i blocchi precedenti;

     • La marca temporale (timestamp) che indica l’esatto istante in cui il blocco è
       stato creato;

     • La radice (merkle rootG ) della struttura ad albero (merkle treeG ) utilizzata per
       raccogliere tutte le transazioni appartenenti al blocco.

                       figura 2.5: Struttura della catena di blocchi

La procedura di codifica a blocchi, da cui l’espressione Blockchain (ovvero "catena di
blocchi"), costituisce l’elemento rivoluzionario di questa tecnologia, in quanto rende i
dati informatici sicuri, permanenti e inalterabili, rispetto ad eventuali errori tecnici
involontari o manomissioni arbitrarie di terze parti.
Infatti, il timestamp fornisce una prova certa e non ripudiabile circa la data di creazione,
l’origine, il contenuto, la sicurezza e l’integrità di dati e transazioni. Di conseguenza:

     • Nessun dato del registro può essere arbitrariamente modificato, cancellato o
       sostituito senza che il sistema sia invalidato: qualsiasi forma di manomissione o
       errore è subito resa visibile;

     • La validità legale di documenti e transazioni è resa incontestabile dalla prova
       algoritmica, che non consente alterazioni;

     • I costi gestionali e infrastrutturali relativi alla sicurezza e alle procedure di
       convalida, conservazione e condivisione dei dati possono essere ridotti.

La sicurezza ottenuta dalle prove algoritmiche citate in precedenza, si basa fortemente
sul concetto di crittografia e funzioni hash.
Quando viene trasmessa un’informazione attraverso una rete non sicura, è importante
che l’informazione non venga corrotta durante la sua trasmissione. Le funzioni hash
2.2. PRINCIPI DI FUNZIONAMENTO                                                               13

crittografiche hanno la peculiarità di essere iniettive, bensì non è possibile trovare due
controimmagini diverse per una stessa immagine.
Tali funzioni vengono utilizzate dai sistemi Blockchain per controllare che le transazioni
siano eseguite correttamente, poiché esse sono progettate in modo che una minima
differenza nell’input cambi in maniera radicale il risultato in output, garantendo inte-
grità, autenticità e immutabilità nei dati.

2.2.1     Algoritmi e protocolli di consenso
Come citato in precedenza, in un ecosistema Blockchain, affinchè ogni dato sia validato,
e quindi scritto sul registro pubblico, occorre il consenso da parte dei nodi partecipanti
alla rete, ovvero un metodo che sia in grado di mettere d’accordo la maggioranza di
tali nodi.
Un protocollo di consenso consiste in un processo nella quale una maggioranza dei
nodi cosiddetti validatori (validatorG ) di una rete Blockchain, o in alcuni casi tutti,
giungono a concordare sullo stato di un registro, garantendo integrità ed affidabilità
nelle operazioni eseguite. Tali protocolli, infine, rappresentano un insieme di regole e
procedure che permettono di mantenere un insieme coerente di blocchi e transazioni,
in modo distribuito tra più nodi partecipanti.
Esistono vari e differenti algoritmi di consenso, tra i quali i più famosi e diffusi risultano
essere:
    • Proof-of-WorkG (PoWG );
    • Proof-of-StakeG (PoSG );
    • Byzantine Fault ToleranceG (BFT ).
L’algoritmo PoW consiste in una lunga e complessa prova matematica, che viene
richiesta a quei nodi del sistema denominati miners, come condizione necessaria per
essere ritenuti nodi affidabili, al fine di poter verificare le transazioni della rete e ricevere
un compenso in forma di criptomoneta. L’intero procedimento è chiamato miningG : la
PoW è sì di difficile esecuzione, tuttavia, una volta completata, è molto semplice per
gli altri nodi da verificare, rendendo così superflua la presenza di una qualsiasi autorità
di controllo.
In PoW, è risaputo che i minersG necessitano di molta energia: a questo proposito, nel
giugno 2015, si è calcolato che una transazione Bitcoin richiedeva la stessa quantità
di elettricità necessaria ad alimentare per un giorno quasi due abitazioni americane
(equivalenti a circa 20 abitazioni di Hong Kong o 11 abitazioni in Cina).
Ad oggi, con la rete Bitcoin in continua e forte crescita, l’energia richiesta per una
transazione Bitcoin equivale a circa l’energia necessaria ad alimentare per un giorno
quasi 4 abitazioni americane in media. Studi recenti hanno stimato che nel 2020,
l’energia consumata per sostenere il processo di Proof-of-Work equivarrà a quella del-
l’intera nazione della Danimarca (https://motherboard.vice.com/en_us/article/
aek3za/bitcoin-could-consume-as-much-electricity-as-denmark-by-2020).
Differentemente dall’algoritmo di PoW, dove i miners vengono ricompensati per la
risoluzione dei problemi matematici allo scopo di validare le transazioni e creare nuovi
blocchi, l’idea alla base della soluzione PoS è che invece della potenza di estrazione
(mining power), la probabilità di creare un blocco e ricevere la ricompensa associata
sia proporzionale alla ricchezza (wealth o stake) dell’utente nel sistema (mintingG ).
Quindi, un individuo che possiede una frazione p del numero totale di monete in
14                                 CAPITOLO 2. LA TECNOLOGIA BLOCKCHAIN

circolazione, può creare un nuovo blocco con probabilità p .
Non vi è alcuna ricompensa per la validazione di un blocco, quindi i miners, chiamati
ora forgers, ricevono "solo" le tasse di transazione (transaction fees).
La soluzione BFT, invece, rappresenta una tipologia di algoritmi divenuta sempre più
importante e in via di utilizzo, dato l’aumento di attacchi malevoli ed errori software che
causano nodi "difettosi" (faulty), con conseguente comportamento arbitrario (Bizantine
faults). La teoria che sta alla base di questi algoritmi è che la sicurezza della rete viene
raggiunta se i 23 dei nodi validatori risultano onesti.

2.2.2      Permissioned vs permissionless
Un altro importante punto da sottolineare risiede nella scelta del modello di Blockchain
che si intende adottare: permissionedG e permissionlessG .
Le Blockchain di tipo permissioned richiedono un’autorizzazione per poter partecipare
alla rete, e dunque, possono essere controllate ed avere un ente superiore che le governa.
In questo modo, si permette di definire speciali regole per l’accesso e la visibilità dei dati,
introducendo un concetto di governance e di definizione di regole di comportamento,
oltre che migliori performance rispetto alle Blockchain di tipo permissionless.
Quando un nuovo dato o record viene aggiunto, il sistema di approvazione non è
vincolato alla maggioranza dei partecipanti alla Blockchain, bensì a un numero limitato
e definito di nodi validatori detti trusted, a seconda dell’algoritmo di consenso in uso.
Una permissioned Blockchain, anche detta "Blockchain autorizzata", presenta i seguenti
vantaggi:

     • Può rappresentare una valida soluzione per i servizi governativi online: consiste
       in un registro elettronico replicato e condiviso, che può essere gestito da una
       o più organizzazioni (ad esempio, agenzie governative), in modo da garantire
       adeguati livelli di coordinazione di rete, affidabilità e sicurezza;

     • È priva di meccanismi di incentivi speculativi come le criptomonete o i gettoni
       digitali. Può, dunque, essere utilizzata in via esclusiva per i servizi pubblici,
       senza interferenza alcuna da parte dei mercati delle criptovalute, con la garanzia
       di un’adeguata protezione dei dati nel lungo periodo;

     • Pur essendo un registro distribuito e sincronizzato, fa parte di un network che
       è limitato ad un numero determinato di nodi, identificabili attraverso permessi
       d’accesso controllati;

     • Dal momento che i nodi sono identificabili e non vi è alcuna necessità di operazioni
       di mining o di dispendiose prove computazionali, la convalida e la propagazione
       dei dati nella rete è molto più veloce rispetto alle Blockchain pubbliche ed aperte.

Questo tipo di Blockchain può essere utilizzato da istituzioni e grandi imprese, le quali
devono gestire lunghe filiere e catene di approvvigionamento con una serie di fornitori
e subfornitori, banche, enti sanitari, Pubblica Amministrazione e operatori nell’ambito
del retail.
Le Blockchain di tipo permissionless (o unpermissioned), di cui l’esempio più famoso
e diffuso è rappresentato dalla Bitcoin Blockchain, sono completamente aperte, pubbli-
che, prive di una proprietà o un attore di riferimento, e sono concepite per non essere
controllate da nessun ente superiore.
Questo tipo di Blockchain permette a ciascun nodo della rete di contribuire all’ag-
giornamento dei dati sul registro pubblico e di disporre, in qualità di partecipante,
2.2. PRINCIPI DI FUNZIONAMENTO                                                          15

delle stesse copie immutabili di tutte le transazioni, approvate tramite il consenso
distribuito.
Questo modello di Blockchain nega ogni forma di censura, poiché nessun nodo è nella
condizione di impedire che una transazione possa avvenire e che possa essere aggiunta al
registro una volta conquistato il consenso necessario tra tutti gli altri nodi partecipanti
alla Blockchain.
Una permissionless Blockchain presenta i seguenti punti critici rispetto alla soluzione
permissioned vista in precedenza:

   • La scalabilità comporta un naturale processo di centralizzazione del potere
     computazionale, dovuto al numero decrescente di miners in grado di eseguire la
     verifica matematica richiesta dal protocollo, il quale ha costi sempre più crescenti;

   • Per quanto possa fondarsi su una rete peer-to-peer apparentemente robusta, una
     Blockchain pubblica è intrinsecamente volatile e può subire una biforcazione
     (fork) o essere semplicemente abbandonata dalla community in qualsiasi momento,
     perché ritenuta non più interessante o remunerativa;

   • Dubbi riguardo i meccanismi d’incentivo relativi al processo di mining.

Le permissionless Blockchain possono essere utilizzate come database globale per tutti
quei documenti che hanno la necessità di essere per definizione “immutabili nel tempo”,
a meno di aggiornamenti che richiedono la massima sicurezza in termini di consenso,
come ad esempio i contratti di proprietà, i testamenti o gli atti notarili.

2.2.3     Smart contract
Il primo modello essenziale di smart contract teorizzato da Nick Szabo (consultabile al se-
guente link: http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDR
OM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.
html) è quello della vending machine, dove il software e l’ hardware della macchina
distributrice gestiscono la vendita di un certo bene, ad esempio un caffè, verificando
che quando sia depositata dall’acquirente una cifra predeterminata , sia consegnato il
prodotto desiderato.
Il vero punto di svolta della tecnologia Blockchain, fino ad allora legata quasi esclusiva-
mente al concetto di criptomoneta, avviene nel 2014, quando Vitalik Buterin pubblica il
white paper di EthereumG , delineando le caratteristiche di quella che sarebbe diventata
successivamente la piattaforma di riferimento per lo sviluppo e l’esecuzione degli smart
contract sulla Blockchain.

                               figura 2.6: Smart contract
16                                  CAPITOLO 2. LA TECNOLOGIA BLOCKCHAIN

La Blockchain, quindi, ha riesumato il concetto di smart contract, che non è altro che
un codice che rappresenta l’accordo tra due o più parti, il quale è in grado di essere
eseguito automaticamente al verificarsi di certe condizioni specificate al suo interno.
Il codice di uno smart contract viene eseguito solo quando messo in atto da una
transazione o un messaggio che viene inviato allo smart contract stesso, ad esempio da
un altro smart contract.
Uno dei linguaggi di programmazione più diffuso ed utilizzato per la scrittura di smart
contract è SolidityG , sviluppato da un team di Ethereum e progettato per essere
compatibile con EVMG (Ethereum Virtual Machine).

2.3      Casi d’uso per la Blockchain
Durante il periodo di stage è stato richiesto di condurre alcune ricerche, sempre
nell’ambito della tecnologia Blockchain, con lo scopo di approfondire ed analizzare
nuovi possibili casi d’uso di interesse per l’azienda. Dallo studio effettuato, ne è emerso
lo schema presentato in forma di mappa concettuale in figura 2.7.

                 figura 2.7: Mappa concettuale dei casi d’uso per la Blockchain

Tra tutti i casi d’uso individuati, in accordo con il tutor, nonché responsabile tecnico
del progetto riguardante la Blockchain in Ifin Sistemi Srl, si è deciso di approfondire
quelli di maggior interesse e che rappresentano possibili futuri campi applicativi per
l’azienda. Ciò implica che gli ambiti di maggior interesse si ritrovano in:
     • Stato;
     • Sanità;
     • Automotive;
2.3. CASI D’USO PER LA BLOCKCHAIN                                                          17

   • Internet-of-Things (IoT);

   • Cyber security.

2.3.1     Stato
Nell’ambito della Pubblica Amministrazione, tale tecnologia porterebbe ad ottenere
una maggior efficienza nell’erogazione di servizi pubblici e funzioni di back-office, quali
ad esempio:

   • Coordinare e razionalizzare gare d’appalto e di acquisto tra reparti, agenzie e
     altri organismi distaccati;

   • Monitorare e rendere trasparenti i flussi finanziari tra Regione, Enti regionali,
     fornitori e cittadini, rendendo più difficile l’evasione fiscale e la criminalità;

   • Semplificare e rendere interoperabili i registri pubblici (catasto, registro delle
     imprese, registro delle associazioni, etc.);

   • Tramite l’utilizzo di smart contract, si garantisce disintermediazione, riduzione
     dell’iter di perfezionamento dei contratti, abolizione di molte procedure cartacee
     e la rinuncia all’obbligo di rivolgersi a figure professionali qualificate (es. notai),
     considerate fondamentali, al fine di garantire la trasparenza dei rapporti e la
     fiducia reciproca delle controparti coinvolte.

Un esempio in questo contesto, può essere la proposta di legge sui servizi digitali per il
cittadino, sulla sanità elettronica e per l’innovazione della Pubblica Amministrazione,
presentata da alcuni consiglieri della Regione Lazio, nel dicembre 2016 (http://
atticrl.regione.lazio.it/proposteLegge_dettaglio.aspx?id=360).
Un esempio in ambito notarile, potrebbe essere la gestione del cambio di proprietà,
ovvero il passaggio di proprietà di un bene qualsiasi, sia esso digitale che fisico (es.
auto, titoli, case, etc.), attraverso la scrittura nel registro della Blockchain di una
transazione, in cui risultano verificate ed immutabili informazioni come l’identità del
venditore e dell’acquirente, l’identificatore univoco del bene e la marca temporale.
Nello scenario del voto elettorale, la tecnologia Blockchain risponderebbe alle richieste
di autenticazione dell’identità degli elettori, di conservazione sicura dei registri (utile per
tenere traccia dei voti) e un’attività di spoglio e conteggio assolutamente trasparente
per determinare il vincitore.
La Blockchain potrebbe risultare utile come strumento per la selezione, il monitoraggio
e il conteggio dei voti in modo pulito ed inequivocabile, evitando qualsiasi probabile
e/o possibile tentativo di frode elettorale (es. falsificazione/manomissione di voti) o
perdita di parte dei voti.
Grazie alla tracciabilità garantita dai database distribuiti delle Blockchain, gli elettori
potrebbero, infatti, essere rassicurati in merito al fatto che i voti non siano stati
modificati e che nessun voto, legittimamente espresso, sia stato modificato o cancellato.
Follow My Vote (https://followmyvote.com/) è una piattaforma che è già stata
utilizzata in fase di test, durante le ultime elezioni presidenziali americane, come
sistema end-to-end di voto online verificabile.
Nell’ambito dell’istruzione, invece, sarebbe possibile sfruttare la Blockchain per creare
un sistema in grado di autenticare titoli e certificati accademici (ad esempio, per scuole
secondarie, Università, etc.).
Nel caso universitario, questo farebbe sì che gli studenti che sostengono di aver superato
18                                CAPITOLO 2. LA TECNOLOGIA BLOCKCHAIN

i corsi del proprio programma di studi, non possano vantare crediti che non abbiano
legittimamente guadagnato.
Alcune università hanno già iniziato a implementare strumenti basati sulla tecnologia
dei registri distribuiti, in modo da assicurare una maggior trasparenza nella gestione
dei certificati accademici e nella trascrizione di lauree e diplomi. In questo modo, le
frodi afferenti questo tipo di applicazioni potrebbero essere più facilmente combattute,
senza contare il risparmio, a livello di tempo e costi burocratici, legato alla possibilità
di poter evitare controlli manuali di migliaia di documenti cartacei ogni anno.
Nell’ambito del comparto dei servizi di intelligence e sicurezza, la tecnologia
Blockchain servirebbe a gestire e monitorare le prove raccolte, oltre che creare modelli
di segnalazione per operazioni ritenute sospette.
Nelle indagini delle forze dell’ordine, la garanzia dell’integrità e immodificabilità della
catena di prove è fondamentale; quindi, un registro distribuito e impossibile da falsificare
potrebbe fornire un ulteriore livello di sicurezza a tutto il processo di gestione delle
prove.
La startup Chronicled (https://www.chronicled.com/) ha raccolto quasi 5 milioni
di euro in finanziamenti per sviluppare contenitori sigillabili a prova di manomissione,
mediante l’etichettatura degli stessi con un chip di comunicazione a corto raggio, il
quale registra i contenuti in una Blockchain.
Elliptic (https://www.elliptic.co/) è un’altra startup che, con i 7 milioni di euro
raccolti, ha sviluppato un sistema per la scansione costante dei registri Bitcoin, utile a
evidenziare operazioni sospette e allertare in modo automatico le forze dell’ordine, in
modo che possano avviare le indagini del caso.

2.3.2     Sanità
Nell’ambito dell’assistenza sanitaria (healthcare), mediante la tecnologia Blockchain,
si potrebbe consentire ad ospedali, contribuenti e altre strutture sanitarie di condividere
l’accesso ai propri network, senza compromettere la sicurezza e l’integrità dei dati.
Un esempio potrebbe essere la creazione di un registro globale e distribuito in grado
di tracciare i vaccini oppure le cartelle cliniche dei pazienti, mantenuti in modalità
anonima per privacy (ad esempio, tramite biometric verificationG ). Ciò consentirebbe
di accedere ad importanti ed utili informazioni mediche come diagnosi, trattamenti e
cure sanitarie specifiche.
Un esempio di piattaforma che consente la memorizzazione ed autenticazione di
documenti medici è Fatcom (https://www.factom.com/).
Un esempio di progetto che consente la ricerca e l’accesso a dati medici è MedRec, di
cui è possibile consultare il white paper al seguente indirizzo: https://www.healthit.
gov/sites/default/files/5-56-onc_blockchainchallenge_mitwhitepaper.pdf.
La startup Gem ha lanciato Gem Health Network (https://gem.co/health/), una
piattaforma basata sui registri distribuiti di Ethereum, in abbinamento alla tecnologia di
autenticazione multi-firma e multi-fattore, per creare un’infrastruttura dati universale
altamente sicura ed affidabile.
Tierion (https://tierion.com/) è un’altra startup che ha sviluppato una piattaforma
per l’archiviazione e la verifica dei dati nel settore sanitario. Gem e Tierion hanno
entrambe stretto una partnership con Philips Healthcare (http://www.usa.philips.
com/healthcare) e Tierion, recentemente, anche con Microsoft (https://azure.
microsoft.com/en-us/blog/blockchain-identity-proofs/).
Legato al mondo della sanità, c’è anche quello dell’industria farmaceutica.
In questo ambito, una possibile applicazione della Blockchain potrebbe riguardare la
2.3. CASI D’USO PER LA BLOCKCHAIN                                                          19

realizzazione di un sistema per il tracciamento e la memorizzazione di brevetti e test di
nuovi medicinali sperimentali, al fine di seguire l’iter produttivo in modo trasparente e
sfruttare i dati condivisi tra le varie case farmaceutiche.

2.3.3     Automotive
Nell’ambito del car sharing, il Toyota Research Institute ha partecipato assieme a
Oaken Innovations (http://oakeninnovations.com/) e altre startup in tema Block-
chain, allo sviluppo di un’applicazione proof-of-concept per il car sharing, in previsione
dell’avvento futuro delle automobili autonome.
L’applicazione consentirebbe di ricercare le auto disponibili, prenotarle ed effettuare
pagamenti tramite la Blockchain Ethereum.
Mediante la comunicazione tra l’applicazione e l’automobile, si consentirebbe l’utilizzo
di quest’ultima tramite sbloccaggio delle porte. Nel frattempo, la Blockchain memoriz-
zerebbe tutti i dati di utilizzo del veicolo e le informazioni riguardanti i proprietari dei
veicoli, i guidatori e i passeggeri.
Inoltre, Toyota recentemente è entrata a far parte di Ethereum Enterprise Alliance, come
annunciato nel seguente articolo: http://www.trustnodes.com/2017/05/22/car-gia
nts-toyota-mitsubishi-join-enterprise-ethereum-alliance-blockchenize-au
tomobiles.
Nell’ambito del leasing e compravendita di automobili, Visa e DocuSign han-
no condotto un esperimento nel comparto del leasing delle vetture, utilizzando una
Blockchain per costruire un sistema proof-of-concept volto alla realizzazione di un
processo che porta alla concessione in leasing di un’automobile, in modo completamente
autonomo e slegato dall’intervento di un operatore specializzato.
In pratica, la procedura di erogazione del leasing viene trasformata in un processo
di tipo “premi-firma-guida”: il potenziale cliente sceglie l’auto che vuole ottenere in
leasing e la transazione viene immessa sul registro pubblico della Blockchain. Una
volta sedutosi al posto di guida, il cliente firma un contratto di locazione e una polizza
assicurativa, e il registro distribuito viene aggiornato con le informazioni relative.
Si potrebbe immaginare questo stesso tipo di processo applicato alle procedure di
vendita delle auto, come pure per la registrazione delle auto presso i pubblici registri
(ad esempio, il PRA - Pubblico Registro Automobilistico).
Un altro campo applicativo sempre inerente all’area dell’automotive, potrebbe essere il
servizio di manutenzione delle automobili, al fine di tracciare in modo immuta-
bile il reale chilometraggio delle vetture, i tagliandi e le revisioni eseguite, gli incidenti
subiti, etc. Ciò porterebbe una forte trasparenza e una maggior fiducia dei clienti verso
il mercato dell’usato.

2.3.4     Internet-of-Things
In ambito IoT, la tecnologia Blockchain può essere sfruttata per gestire l’autenticazione
e garantire l’integrità della messaggistica e il conseguente scambio di dati che avviene
tra smart devices, creando record immutabili associati.
Ciò consente a tali dispositivi di comunicare in modo diretto ed in totale autonomia,
oltre che a verificare la validità delle transazioni, senza la necessità di un’autorità
garante centralizzata. I dispositivi vengono registrati nella Blockchain una volta entrati
all’interno di una rete IoT, dopo di che, possono elaborare in autonomia le transazioni.
Le problematiche nelle quali è possibile incorrere con simili soluzioni applicate in questo
ambito sono:
20                                 CAPITOLO 2. LA TECNOLOGIA BLOCKCHAIN

     • La potenza di elaborazione necessaria per eseguire la cifratura di tutti gli oggetti
       coinvolti in un ecosistema IoT basato su Blockchain, poiché ogni dispositivo
       dispone di differenti capacità di elaborazione e quindi, non tutti sono in grado di
       eseguire i medesimi algoritmi di cifratura alla velocità desiderata;
     • Lo storage per mantenere il registro distribuito che aumenta di dimensioni
       nel tempo, man mano che aumenta il numero di transazioni e nuovi nodi si
       aggiungono alla rete IoT (ad esempio, i sensori hanno quasi sempre una capacità
       di archiviazione molto bassa).
Ad esempio, tilepay (http://www.tilepay.org/) è una piattaforma che consente ad
un utente di mettere a disposizione a pagamento e controllare l’accesso ai dati dei
propri dispositivi IoT. In questo modo, tramite un marketplace, le aziende possono
acquistare e/o scambiare i dati relativi ai dispositivi IoT, i cui proprietari rimangono
anonimi.
Nell’ambito delle smart grid, i processi di automazione attivabili con le DLTs po-
trebbero rivelarsi strategici in vista della loro diffusione e dell’accesso alle reti di
distribuzione da parte di piccoli e piccolissimi produttori di energia.
La Blockchain potrebbe essere sfruttata nell’ambito Smart Energy per coordinare le
vendite tra produttori residenziali di energie rinnovabili e rendere possibile effettuare
scambi di energia direttamente tra privati, senza l’intermediazione di operatori centra-
lizzati.
Ad esempio, si potrebbe disporre di un sistema in grado di tracciare la produzione e i
consumi di energia elettrica, prodotta tramite fonti rinnovabili (es. eolica e solare),
creando di fatto un potenziale mercato per l’energia.
L’esperimento più famoso di applicazione della tecnologia Blockchain al settore ener-
getico è quello realizzato a Brooklyn da LO3 Energy (http://lo3energy.com/), che
insieme a Consensus System ha creato una piattaforma di trading locale dell’energia,
TransActive Grid (http://transactivegrid.net/), la quale ha permesso la condivi-
sione di energia elettrica tra gli abitanti del quartiere.
La startup australiana Grid Singularity (http://gridsingularity.com/) promuove
l’utilizzo della tecnologia Blockchain sempre in questo ambito, sviluppando una piatta-
forma decentralizzata per lo scambio di energia.
Un altro progetto simile è quello lanciato in Germania dalla Sonnen GmbH (https:
//www.sonnenbatterie.it/it/start), specializzata in sistemi energetici per il seg-
mento privato e delle PMI (Piccole e Medie Imprese), in unione a TenneT (https:
//www.tennet.eu/), operatore tedesco di reti energetiche che utilizza speciali batterie
per immagazzinare energia decentralizzata nelle case di residenza. Il sistema congiunto
Sonnen-TenneT è disegnato per sfruttare la Blockchain al fine di gestire e distribuire
in modo flessibile le energie rinnovabili la cui produzione dipende in larga misura dal
meteo. Sole e vento, infatti, sono incostanti e un sistema flessibile consentirà di gestire
le risorse in maniera localizzata e trasparente, e di accrescere e ottimizzare gli scambi
a livello nazionale tra produttori privati di energia.
In Germania, i costi operativi delle reti energetiche e soprattutto quelli per la regolazio-
ne dei parchi eolici, sono molto elevati: secondo stime di Sonnen, le imprese tedesche
hanno speso circa 880 milioni di dollari nel 2016, la maggior parte dei quali, appunto,
per la regolazione dei parchi eolici.
Alla conferenza internazionale Consensus 2017, tenutasi a New York a fine maggio, Enel
ha parlato della partnership con Ponton, fornitore di software per il mondo enterprise,
per la creazione di Enerchain, progetto a cui partecipano più di 20 trader europei, il
quale consiste in un marketplace europeo per fornitori di energia, decentralizzato e ba-
2.3. CASI D’USO PER LA BLOCKCHAIN                                                         21

sato per l’appunto sulla tecnologia Blockchain. Il prototipo dovrebbe essere presentato
entro l’estate, mentre la versione beta della piattaforma potrebbe vedere la luce entro
la fine del 2017.
Altri esempi di progetti che sviluppano soluzioni Blockchain per il settore energetico
sono: SolarCoin (https://solarcoin.org/), Bankymoon (http://bankymoon.co.
za/), Eco Coin (http://ecocoin.com/), PowerLedger (https://powerledger.io/).

2.3.5     Cyber security
Tramite l’utilizzo della tecnologia Blockchain, è possibile ridurre il pericolo di frodi
e dei più frequenti attacchi informatici, quali DDoS, man in the middleG e data
tamperingG , mirati al furto di dati sensibili, ad esempio le password dei clienti in un
contesto bancario, a causa dei database centralizzati delle banche stesse.
Anche se un registro Blockchain è pubblico, le comunicazioni di dati attuate al suo
interno sono verificate e inviate utilizzando tecniche di crittografia avanzate. Ciò
assicura che i dati giungano corretti dalle fonti ai destinatari, e che niente venga
intercettato nel frattempo.
Se la tecnologia Blockchain venisse adottata su più ampia scala, la probabilità di
hackeraggio o i tentativi di manomissione e intrusione dei database aziendali potrebbe
ridursi, in virtù del fatto che i registri distribuiti sono, al momento, ritenuti più robusti
rispetto a molti sistemi legacy.
GuardTime (https://guardtime.com/) è una startup focalizzata su un approccio
basato su Blockchain per la sicurezza informatica di livello industriale, che, ad esempio,
viene utilizzata da Lockheed Martin (http://www.lockheedmartin.com/us.html),
una società di sicurezza aerospaziale, la quale trae i suoi maggiori guadagni dai
contratti con l’esercito statunitense.
Keyless Signature Infrastructure (https://guardtime.com/technology) è il progetto
Blockchain di GuardTime che mira a sostituire l’autenticazione dei dati basata su
chiavi: KSI memorizza gli hash dei dati e dei file originali in un blocco, e verifica altre
copie, eseguendo algoritmi di hashing e confrontando i risultati con quello memorizzato
nel blocco, poiché la Blockchain offre una certezza matematica sulla provenienza e
integrità dei dati.
A questo scopo, la DARPA (Defense Advanced Research Projects Agency), l’agenzia
governativa del Dipartimento della Difesa degli Stati Uniti incaricata dello sviluppo di
nuove tecnologie per uso militare, sta valutando KSI come una potenziale soluzione
per proteggere dati militari sensibili.
Un approccio Blockchain per memorizzare le voci DNS potrebbe migliorare la
sicurezza informatica, rimuovendo l’unico obiettivo che gli hacker possono attaccare
per compromettere l’intero sistema.
In ambito di gestione dell’identità digitale, alcuni esempi di applicazioni già
sviluppate che gestiscono un sistema di identità digitale decentralizzato sono: ShoCard
(https://shocard.com/) e Civic (https://www.civic.com/).
In ambito KYCG (Know Your Customer), è molto importante per un’azienda avere
un metodo affidabile per riconoscere i propri clienti.
In questo senso, la tecnologia Blockchain potrebbe risultare valida nella creazione di
un sistema di autenticazione, verifica e certificazione di utenti e clienti in una rete
privata, con conseguente tracciamento degli accessi e delle operazioni. Ad esempio, ciò
consentirebbe ad una banca di abbattere i costi sostenuti in media all’anno (circa 40
milioni di sterline) per sostenere la conformità KYC.
Un esempio di progetto che tratta lo sviluppo di un sistema di autenti-
Puoi anche leggere