Università degli Studi di Padova - SIAGAS
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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
Davide Scarparo: Sviluppo di una dashboard per il reperimento e monitoraggio di dati in ambito Blockchain, Tesi di laurea triennale, c Settembre 2017.
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