UNIVERSITÀ DEGLI STUDI DI NAPOLI
PARTHENOPE
Dipartimento di Scienze e Tecnologie
Scuola Interdipartimentale delle Scienze, dell’Ingegneria e
della Salute
Corso di Laurea in Informatica
Elaborato di Laurea
ANALISI E PROGETTAZIONE DI UN SISTEMA DI
GESTIONE DEI GREEN PASS BASATO SU
BLOCKCHAIN
Relatori: Candidato:
Prof.Alessio Ferone Emiliano Castiello
M0124001451
ANNO ACCADEMICO 2020/2021
Indice
1 Tecnologie 3
1.1 La tecnologia Blockchain . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Funzionamento di una Blockchain . . . . . . . . . . . . . . . . . . 11
1.3 Blockchain Ethereum . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 Il sistema proposto 34
2.1 Gestione dei Green Pass basati su Blockhain . . . . . . . . . . . . 34
2.2 Non Fungible Tokens(NFT) . . . . . . . . . . . . . . . . . . . . . 36
2.3 Analisi dell’applicazione . . . . . . . . . . . . . . . . . . . . . . . 38
3 Implementazione della dApp 49
3.1 Strumenti utilizzati . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2 Green Pass dApp . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 Conclusioni 63
4.1 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 Sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Bibliografia 67
1
INTRODUZIONE
Lo scopo della tesi è la progettazione e sviluppo di un’applicazio-
ne distribuita e decentralizzata, basata su tecnologia Blockchain,per
la gestione e il monitoraggio dei certificati vaccinali contro l’emer-
genza Covid. L’obiettivo è quello di fornire una possibile alternati-
va al sistema informatico attualmente in vigore in Italia utilizzato
dal Ministero della Salute. Lo scopo dell’applicazione sarà quel-
lo di tokenizzare il Green Pass di ogni individuo che accederà ad
essa sfruttando le caratteristiche della Blockchain Ethereum. Que-
ste funzionalità saranno rese disponibili agli utenti finali mediante
l’utilizzo di uno strumento, Metamask, che permette di accedere e
sfruttare servizi web distribuiti senza l’impiego di un client apposito,
ma tramite un comune web browser. È quindi presentata un’analisi
approfondita delle tecnologie sin qui citate, utile alla comprensione
e formulazione di un modello di software distribuito moderno che
sfrutti una tecnologia Blockchain, al fine di introdurre considerevoli
vantaggi non raggiungibili con le tecnologie attuali.
2
Capitolo 1
Tecnologie
1.1 La tecnologia Blockchain
I diversi punti di vista e le molteplici prospettive da cui la Block-
chain può essere interpretata, vanifica ogni possibilità di darne una
semplice e univoca definizione. Per alcuni, può essere letta partendo
dalle tecnologie che vi stanno alla base, per altri da un’angolazione
strutturale o dalle sue implicazioni sul business e sulla società. E’
certo, che il concreto stravolgimento socioeconomico e infrastrut-
turale, cosı̀ come le possibili ripercussioni su innumerevoli settori,
hanno via via contribuito a far affermare la tecnologia Blockchain
come “l’Internet del futuro”. La sua componente innovativa è legata
alla possibilità di sviluppare applicazioni decentrate, effettuare tran-
sazioni immutabili e rimuovere la presenza di intermediari. Grazie
a queste e ad altre caratteristiche che verranno esposte più avan-
ti, la Blockchain è destinata a cambiare molti aspetti della società
moderna, andando a fornire delle soluzioni che prima potevano solo
essere lontanamente immaginate. Il modo più semplice per definire
3
Figura 1.1: Struttura Blockchain
una Blockchain è chiamarla registro digitale(ledger).
E’ una sottofamiglia di tecnologie in cui il registro è decentrato e
distribuito su network, strutturato come una catena di registri (i
blocchi – ognuno collegato al precedente) contenenti le transazioni
e responsabili dell’archiviazione dei dati, la cui validazione è affidata
a un meccanismo di consenso (Figura 1.1).
E’ impossibile rimuovere/modificare i precedenti blocchi aggiun-
ti, poiché la sua natura permette solo l’aggiunta di nuovi blocchi
d’informazione. [6]. La Blockchain è infatti una struttura dati con-
divisa, caratterizzata fondamentalmente da protocolli di consenso,
immutabilità del registro, trasparenza, tracciabilità delle transazio-
ni e sicurezza basata su tecniche crittografiche. Diversamente da
un comune registro cartaceo, introduce le differenze tipiche del fun-
zionamento del digitale e della rete, tra cui il decentramento, la
possibilità di stipulare contratti a distanza e soprattutto di fare a
meno di intermediari; di fatto, permette una gestione dei dati in
termini di verifica e di autorizzazione senza che sia necessaria la su-
pervisione di un ente centrale.
Dal punto di vista funzionale, la Blockchain permette di gestire un
4
database in modo distribuito, poiché basata su una Rete; dal pun-
to di vista operativo, invece, è un’ottima alternativa agli archivi
centralizzati permettendo di gestire l’aggiornamento dei dati con la
collaborazione dei partecipanti alla Rete e con la possibilità di avere
dati condivisi, accessibili, distribuiti presso tutti i partecipanti. [6]
“La Blockchain è molto più di un’infrastruttura di pagamento, di
un sistema di monitoraggio della supply chain o di un gestore di
identità digitale; è un sistema con le potenzialità per portare un
nuovo livello di fiducia nelle applicazioni, introducendo un cambio
di paradigma nelle modalità con cui esse vengono realizzate e dan-
doci l’opportunità di innovare liberamente”.[7].
Partendo da questi principi, la Blockchain è diventata la declina-
zione in digitale di un nuovo concetto di fiducia al punto che alcuni
ritengono che possa assumere anche un valore per certi aspetti di
tipo ‘sociale e politico’. In questo caso la Blockchain è da vedere co-
me una piattaforma che consente lo sviluppo e la concretizzazione di
una nuova forma di rapporto sociale, che grazie alla partecipazione
di tutti è in grado di garantire a chiunque di verificare, di ‘controlla-
re’, di disporre di una totale trasparenza sugli atti e sulle decisioni,
che vengono registrati in archivi che, giova ripetere, possiedono la
caratteristica di essere inalterabili, immodificabili e dunque immuni
da corruzione[4]. Prima di proseguire oltre, occorre fermarsi ancora
un attimo per identificare il rapporto tra Blockchain e Distributed
Ledger Technology (DLT).
Sia le DLT che le Blockchain sono registri di informazioni digita-
5
lizzati e decentrati, ma differenti per un insieme di funzionalità
specifiche che non condividono. La Blockchain è considerata una
tecnologia che appartiene alla categoria delle tecnologie Distributed
Ledger ma non tutte le DLT sono Blockchain. Ancora, la Block-
chain è una forma di DLT ma con un’applicazione tecnologica mol-
to specifica, creando un libro mastro immutabile di record gestito
da una rete decentrata, dove tutti i record sono approvati median-
te consenso. Tecnologia, struttura, organizzazione e sviluppo sono
decentrati, mentre nelle DLT la tecnologia è decentrata,ma la sua
organizzazione potrebbe non rispettare questo carattere.
La Blockchain può essere utilizzata in ogni scenario in cui è richie-
sto uno stato globale logicamente centralizzato ma una struttura del
sistema distribuita (in cui i dati e le computazioni sono distribuiti
su più nodi) e decentrata. Tuttavia, in alcuni casi l’autorità in una
Blockchain può non essere decentrata, ma tendere alla centralizza-
zione. A seconda di come viene gestita l’autorità, si distinguono due
modelli di Blockchain: pubblica e privata.
Il modello di Blockchain pubblica è attualmente quello più noto e
utilizzato, un sistema ad architettura decentrata, ad autorità decen-
trata e logica centralizzata. Il decentramento è senza alcun dubbio
un aspetto chiave di questo modello, dal momento che qualsiasi ten-
tativo di centralizzazione introdurrebbe una debolezza nel sistema
esponendo un potenziale punto di fallimento o di controllo (Figura
1.2). 6
Non esiste una singola autorità. Tutti possono unirsi alla rete (aper-
ta), esplorando e verificando la correttezza di ogni transazione (pub-
blica e analizzabile) e non c’è possibilità di essere esclusi (resistenza
alla censura); infatti, una Blockchain aperta non discrimina in base
all’origine, destinazione o contenuto (neutrale). Il modello di Bloc-
kchain privata, al contrario, sacrifica un completo decentramento
in cambio di un controllo sui permessi di accesso e solitamente delle
migliori performance, ed è più indicata in alcuni contesti di tipo
industriale (Figura 1.3).
Il livello di verifica degli accessi è controllato da una o più autorità
(a seconda del grado di privatizzazione), e ha il compito di decidere
chi può leggere/scrivere i dati sulla Blockchain e chi può partecipare
al processo di verifica delle varie transazioni. Il sistema è conside-
rato affidabile solo se gli attori scelti per il processo di verifica sono
affidabili”[7].
Figura 1.2: Figura 1.3:
Blockchain Blockchain
Pubblica Privata
È possibile ricondurre i punti di forza della Blockchain in rela-
zione a delle caratteristiche e proprietà che rappresentano elementi
fondamentali per questa tecnologia(Figura 1.4).
7
L’impossibilità di modificare i dati e le transazioni registrate rap-
presenta l’emblema di questa innovazione e, soprattutto, il costo
di un’eventuale modifica in termini di risorse rende sconveniente e
quasi impossibile la sua realizzazione; la determinazione del costo
da sostenere risulta poi direttamente proporzionale alla vecchiaia
dell’informazione.
Per ciò che riguarda la privacy, questa viene garantita dal sistema di
attribuzione di chiavi private e pubbliche, che permette la registra-
zione parzialmente anonima all’interno della Blockchain. In questo
modo risulterà difficile risalire all’identità del soggetto controllore
delle chiavi. Si parla di anonimato parziale in quanto non è possi-
bile determinare l’identità della persona ma è possibile individuare
gli indirizzi che effettuano le transazione.
Altro elemento centrale per questa tecnologia è la fiducia garantita
ai soggetti che effettuano degli scambi. L’annullamento della neces-
sità di una parte terza che garantisca lo scambio è determinato dal
fatto che sulla Blockchain viene trasferito il peso riposto alla fiducia.
Il sistema è la terza parte incontrollabile, decentralizzata e distri-
buita. Proprio in tal senso la ridondanza delle informazioni le rende
presenti e disponibili per ogni fruitore senza il pericolo che possano
esser cancellate, inoltre, la Blockchain è accessibile ad ogni sogget-
to. Questa tecnologia prevede la possibilità di comunicare con altre
sue simili richiamando il principio di compatibilità e registrando
un sistema di allocazione delle risorse più rapido. Ovviamente an-
che per questa funzionalità sono tanti i progetti di implementazione
8
promossi. In conclusione, la trasparenza della Blockchain è la carat-
teristica più popolare di questa innovazione; con questa proprietà
viene garantita la chiarezza e pubblicità dei dati e delle informazioni
rappresentando un punto di forza soprattutto per l’applicabilità di
questa tecnologia in altri ambiti al di fuori di quello finanziario.
Figura 1.4: Vantaggi di una Blockchain
Numerosi sono i potenziali casi d’uso della Blockchain in diversi
settori, per esempio:
• Catene di fornitura: le supply chain, elemento essenziale per
molte aziende, si occupano dello spostamento di merci dal pro-
duttore al consumatore finale. La coordinazione tra tutti gli
operatori della filiera ha spesso dimostrato punti di debolez-
za. Attraverso la tecnologia Blockchain e database immutabi-
9
li, l’intero ecosistema logistico potrebbe incrementare livelli di
immutabilità e trasparenza.
• Settore sanitario: trasparenza e sicurezza rendono la tecnolo-
gia Blockchain un ottimo archivio di registri medici e dati priva-
ti. Grandi quantità di dati sensibili sono spesso lasciate in posi-
zioni vulnerabili essendo salvati sul server centralizzati. Grazie
a questa nuova tecnologia, i pazienti potrebbero mantenere la
loro privacy condividendo facilmente informazioni private con
qualsiasi istituzione che accede al database condiviso.
• Identità digitali: nel mondo digitale le identità fisiche sono
facilmente falsificabili. Un’“identità auto-sovrana” legata ad
un registro Blockchain e collegata al suo proprietario, permette-
rebbe a quest’ultimo di rivelare informazioni in modo esclusivo
a terze parti.
• Beneficenza: le organizzazioni no profit sono spesso limita-
te sui modi in cui possono accettare fondi. Facendo affida-
mento sulla trasparenza insito nella tecnologia Blockchain si
potrebbero ridurre questi limiti, massimizzando l’operatività
delle istituzioni benefiche.
• Governance: la Blockchain ha la possibilità di cambiare radi-
calmente il settore pubblico. Ad esempio, può sburocratizzare
e velocizzare aspetti della pubblica amministrazione, oppure
ridurre il bisogno di fiducia tra enti governativi e civili.
10
• Settore bancario: numerose banche stanno investendo nella
Blockchain perché essa rappresenta una soluzione per abbattere
costi ed aumentare sicurezza e velocità delle transazioni.
• Titoli finanziari: i titoli finanziari sotto forma di token legati
alla Blockchain, sono considerati un valido progresso per il set-
tore finanziario. La tokenizzazione di asset può migliorare la
loro liquidità e consentire lo scambio di beni in modo veloce ed
economico, eliminando molte inefficienze dell’attuale sistema
finanziario.
• 1
Criptovalute : le monete digitali sono un mezzo rivoluziona-
rio per il trasferimento di denaro, evitando elevati costi e tempi
di regolamento imposti dal sistema bancario tradizionale. Le
criptovalute e la Blockchain eliminando questo ecosistema di
intermediari, facilitano le transazioni degli utenti.
1.2 Funzionamento di una Blockchain
Al centro della Blockchain c’è il concetto di registrazione delle tran-
sazioni all’interno del ledger, visto che uno degli scopi principali
di una Blockchain è quello di salvare informazioni, praticamente di
ogni tipo.
L’idea è molto simile a un libro mastro tradizionale (un registro
della contabilità in cui sono riuniti i valori che compongono un si-
1 Le criptovalute sono monete virtuali decentralizzate, ovvero non rientrano sotto il con-
trollo di istituti finanziari o governi. Esistono diverse criptovalute e ognuna ha le proprie
caratteristiche. 11
stema contabile), con la possibilità di registrare transazioni di ogni
categoria di bene, dalle valute alle proprietà immobiliari. Mentre la
logica del ledger non è cambiata nel tempo, la tecnologia a supporto
di esso si è evoluta, passando da registri cartacei ad archivi digitali.
Il grande cambiamento risiede però, nel fatto che la Blockchain ha
permesso di garantire la stessa funzionalità nella gestione dei ledger
ma senza dover fare riferimento a una struttura centralizzata, senza
cioè che sia necessario che un’autorità centrale verifichi, controlli e
autorizzi la legittimità di una transazione o di uno scambio. Me-
diante il decentramento del ledger, infatti, è possibile rimpiazzare
l’unico libro mastro tradizionale in capo all’autorità centrale, crean-
done di molteplici e accessibili a tutti gli utenti, che attraverso una
copia possono controllarlo, visionarlo e modificarlo (a patto che ogni
operazione sia autorizzata dalla restante parte degli utenti). Infine,
per chi dovesse intendersi di database, ledger e database potrebbero
sembrare molto simili, poiché alla base di entrambe le tecnologie c’è
infatti l’idea di salvare dei dati. Ma, mentre in un database è pos-
sibile inserire, cancellare e modificare i dati, in un ledger è possibile
unicamente l’aggiunta di nuove informazioni (Figura 1.5).
Questo è reso possibile da una combinazione di vari fattori, tra
i quali il decentramento, la crittografia e altri concetti che garanti-
scono la formazione di un vero e proprio ecosistema piuttosto che
un semplice archivio di informazioni. Un ledger può dunque essere
visto come un database nel quale è possibile solamente aggiungere
informazioni.[7]. 12
Figura 1.5: Struttura a matriosca
Dal punto di vista strutturale, come accennato in precedenza,
nel cuore di una Blockchain c’è un ledger digitale. Il ledger digi-
tale è strutturato come una catena di blocchi, ognuno dei quali è
responsabile della memorizzazione di informazioni, come per esem-
pio registri di transazioni. I blocchi sono strutture di dati aggiunte
alla Blockchain in modo sequenziale, un blocco alla volta. Ognuno
di essi contiene una prova matematica, generata mediante l’utilizzo
della crittografia, che ne assicura la sequenzialità dal blocco prece-
dente, risultando in una ‘catena di blocchi’ (Figura 1.6). Il primo
blocco di ogni Blockchain è chiamato blocco genesi.
Figura 1.6: Blocchi
13
La connessione tra blocchi viene generata mediante una funzione
crittografica (la funzione crittografica di hash), la quale crea un col-
legamento matematico indissolubile tra essi. Tale funzione è utiliz-
zata per mappare dati di dimensioni arbitrarie in dati di dimensioni
fisse, e fornisce un modo conveniente per esprimere l’intero stato
della Blockchain in una singola stringa di lunghezza definita. Per
ogni nuovo blocco generato, l’hash del blocco precedente viene in-
serito nell’input per generare l’hash del nuovo blocco (Figura 1.7).
In pratica ogni blocco contiene al suo interno delle informazioni,
dei dati (per esempio transazioni) e l’hash del blocco precedente; di
conseguenza, se qualcuno tentasse di aggiungere, rimuovere o modi-
ficare a
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.