La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS Workshop SFEF -7 luglio 2021
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE La tecnologia BLOCKCHAIN Michele Melchiori DII - UniBS Workshop SFEF – 7 luglio 2021
Blockchain (BC) e Bitcoin BC non è Bitcoin! Bitcoin è una specifica applicazione di BC; uno dei sui possibili impieghi! BC è invece una tecnologia ideale per la gestione di asset digitali di vario tipo e ha caratteristiche di immutabilità e sicurezza. Bitcoin e criptovalute sono casi applicativi ben noti per BC, ma ci sono molte applicazioni che possono trarre vantaggio dalla tecnologia BC. Ci sono varie Blockchain, anche con caratteristiche differenti. Workshop SFEF - 7 luglio 2021
Alcuni ambiti emergenti per applicazioni della BC Financial Services Health Care Trade Smart Cities Programmable Health data Business Tokenized currency exchange digital ID commodities Regulatory- Person-centric Smart titles Smart Devices inclusive Financial medical records and agreements Economy Services Workshop SFEF - 7 luglio 2021
Il caso Estonia L'Estonia è stato il primo Stato al mondo ad implementare la tecnologia blockchain in sistemi informativi governativi. Iniziando nel 2012 con il Registro delle Successioni mantenuto dal Ministero della Giustizia. L'Estonia usa la tecnologia blockchain per verifica dell'integrità di registri governativi e relativi dati. Nessun dato è salvato nella blockchain. Registro Sanitario Catasto Registro Imprese Registro delle successioni Sistema giudiziario digitale Gazzetta di Stato Workshop SFEF - 7 luglio 2021
Casi d'uso: Healthcare Realizza la portabilità e la validazione del dossier medico con la storia clinica completa di un Cittadino. Usando blockchain e smart contracts promette l'accesso regolamentato e la protezione del dossier senza la presenza di un soggetto intermediario Ha come obiettivo quello di combattere la contraffazione di farmaci. Progetto che copre vari aspetti ma in particolare la tracciabilità dei movimenti e manipolazione di lotti di farmaci. Workshop SFEF - 7 luglio 2021
Sommario A cosa serve? Il double spending Blockchain: Ledger distribuito Caratteristiche delle Blockchain Come viene aggiornata, Mining e consenso Tipologie di blockchain Gli smartcontract Workshop SFEF - 7 luglio 2021
A cosa serve BC? Il "double spending" nel mondo digitale Quando si invia un documento Word, Excel o PDF come allegato ad un mail si sta inviando al destinatario una copia di quel documento. In generale, questa possibilità di duplicare senza sforzo contenuti digitali è riconosciuta come molto vantaggiosa! Non è così se si considera l'invio di entità quali: denaro, biglietti per un concerto, titoli di credito, documenti vincolati a proprietà intellettuale, ecc. Ad esempio, se si invia una somma di 0.01 BTC è importante che la disponibilità di questa somma passi dal mittente al destinatario Questi esempi illustrano un problema di "double spending" di asset digitali La tecnologia BC consente di evitare il double spending senza la necessità di fare riferimento ad un intermediario o ad una autorità garante che sovraintenda le transazioni Workshop SFEF - 7 luglio 2021
Cos'è una BlockChain? Un registro, o ledger, "distribuito" e replicato In termini molto semplici, una blockchain è un registro ("ledger") che permette la registrazione "sicura" di grandi insiemi di transazioni DIGITALI le quali possono essere in relazione tra loro (es. movimenti tra "conti" di denaro o di titoli). Questo registro è condiviso tipicamente tra molti partecipanti, dove ciascuno ne ha una copia completa, aggiornata e uguale alle altre. Ogni partecipante è un computer connesso ad altri partecipanti, è quindi un nodo di una rete informatica, ad es. peer-to-peer. Ogni partecipante in ogni momento può accedere, leggere, verificare, il contenuto completo della BC e può aggiungere nuovi contenuti, a certe condizioni. Workshop SFEF - 7 luglio 2021
Perché si chiama Blockchain? Una analogia Un Blocco = Una Pagina Sul Blocco è possibile scrivere informazioni (es. transazioni) Transazione 1 Transazione 2 Transazione 3 … … … Transazione 25 Workshop SFEF - 7 luglio 2021
Perché si chiama Blockchain? I blocchi sono collegati a formare una catena = il Ledger Transazione 1 Transazione 2 Transazione 3 Transazione 26 Transazione 27 Transazione 28 … Transazione X100 Transazione X101 Transazione X102 … … … … … … … … … Transazione 25 Transazione 50 Transazione …. Blocco 1 Blocco 2 Blocco X Workshop SFEF - 7 luglio 2021
Esempi di transazioni Un pagamento della somma X dal conto A verso il conto B Un passaggio di movimentazione di un oggetto in una supply chain (tracciabilità) La registrazione di un voto in un procedimento elettorale L'aggiunta di un report di analisi cliniche al dossier sanitario di un cittadino Workshop SFEF - 7 luglio 2021
C'è però di più… (1) • I blocchi sono prodotti e inseriti nella BC in un preciso ordine cronologico • Ogni blocco contiene alcune transazioni da conservare nella BC, la "firma digitale" del blocco precedente, e la soluzione, chiamata "proof of work", di un problema computazionale la cui soluzione richiede molti tentativi (e una nuova soluzione va trovata per ogni nuovo blocco!) • Aggiungere un nuovo blocco alla BC comporta trovare questa soluzione; ciò richiede ai partecipanti tempo e risorse di calcolo: ha un costo economico tangibile (energia elettrica). -> NON E' GRATIS Workshop SFEF - 7 luglio 2021
C'è però di più… (2) • I blocchi "validati" non vengono mai rimossi dalla BC • Una BC contiene quindi la storia di tutte le transazioni registrate sulla BC stessa, disponibile e verificabile da tutti i partecipanti • In questo modo, le possibilità che accadano attività fraudolente o di duplicazione di transazioni o di alterazione del contenuto di un blocco, tentando di manipolare il contenuto della BC, sono rese complicate e questo accade senza la necessità di una autorità terza che supervisioni le attività. • Ad es. cambiare un blocco comporta ricalcolare la soluzione "proof of work" di quel blocco e dei successivi,… (nella pratica è di fatto "quasi impossibile" a causa del costo elevato e del tempo richiesti) Workshop SFEF - 7 luglio 2021
Cos'è un ledger distribuito (DLT)? Centralized Ledger Distributed Ledger ClientA N odeA Node E Node B Client B Bank Client C Client D Node D Node C (da https://www.sec.gov/spotlight/investor-advisory-committee-2012/slides-nancy-liao-brief-intro-to-blockchain-iac-101217.pdf) Workshop SFEF - 7 luglio 2021
Chi possiede un ledger distribuito? Single Entity Multiple Entities (da https://www.sec.gov/spotlight/investor-advisory-committee-2012/slides-nancy-liao-brief-intro-to-blockchain-iac-101217.pdf) Workshop SFEF - 7 luglio 2021
Il ledger distribuito (DLT) del Bitcoin (da https://techradar.softwareag.com/technology/blockchain-distributed-ledger-technology-dlt/) Workshop SFEF - 7 luglio 2021
Registro "distribuito": dove sono oggi i computer partecipanti alla BC Bitcoin Workshop SFEF - 7 luglio 2021
Perché usare BC? • Il modo in cui i dati nella BC sono resi sicuri deriva dall'uso di crittografia avanzata. • Il fatto che il registro è distribuito e duplicato in molte copie introduce robustezza: la perdita o alterazione di una copia non produce problemi • La BC contiene l'intera storia delle transazioni e questa è sia verificabile che difficilmente alterabile In generale: una BC è meno efficiente e meno veloce di un database centrale ma è più robusta rispetto "a manipolazioni fraudolente" e può essere realizzata e gestita in assenza di una Autorità centrale Workshop SFEF - 7 luglio 2021
Caratteristiche delle Blockchain Verificabilità pubblica Trasparenza dei dati e dei Automazione processi di aggiornamento (tracciabilità, Benefici auditable) della BC Privacy (vs. Trasparenza) Integrità Workshop SFEF - 7 luglio 2021
Come viene aggiornata una Blockchain A vuole inviare una somma a B: La transazione è validata da un nodo Il blocco una volta validato è firma digitalmente la che la inserisce in un blocco (da inviato in broadcast ad altri nodi transazione e la invia ai nodi validare) ? ? ? ? ? A Un protocollo del consenso è usato per approvare il blocco Il blocco approvato è aggiunto alla Blockchain B "riceve" il denaro B Workshop SFEF - 7 luglio 2021
Dove è usata la crittografia nella BC? Creazione delle Transazioni • Firma Digitale • Chiavi pubbliche/private Validazione di Transazioni • Proof ofWork o tecniche alternative di consenso Aggiunta di blocchi • Algoritmi Hash alla catena Workshop SFEF - 7 luglio 2021
Consenso E' il processo attraverso il quale la maggioranza, o in alcuni casi tutti, i partecipanti validatori si accordano sul fatto che la blockchain deve cambiare contenuto, ad esempio registrando un nuovo blocco contenente delle transazioni di scambio di denaro Workshop SFEF - 7 luglio 2021
Protocolli di consenso • Nel Proof of Work (PoW) il creatore di un nuovo blocco è tenuto a risolvere problemi computazionali per convalidare le transazioni e creare nuovi blocchi. Trovare la soluzione richiede molto "lavoro" di calcolo, verificarla è invece immediato • Nel Proof of Stake (PoS) il creatore di un nuovo blocco viene scelto tramite varie combinazioni di selezione casuale, ricchezza o età del denaro posseduto. • Nel Proof of Authority (PoA), transazioni e blocchi sono validati da account privilegiati e approvati, noti come validatori. • … Workshop SFEF - 7 luglio 2021
Mining e proof of work nel Bitcoin • Il processo di ricerca della soluzione del problema computazionale viene detto “mining”; chi lo effettua viene invece chiamato “miner”. • Per ottenere il diritto di validare un blocco di transazioni, i miner competono tra loro tentando di risolvere il problema computazionale basato su un algoritmo chiamato hash: Chi risolve per primo, vince. • Nel sistema Bitcoin il miner che trova la soluzione al problema computazionale riceve una ricompensa in valuta Bitcoin "coniata" appositamente. • Perché un sistema di consenso "a maggioranza" non funzionerebbe nel Bitcoin? Workshop SFEF - 7 luglio 2021
Perchè il "proof of work" funziona e rende sicura la BC Ogni nodo ha la stessa copia del ledger Per fare un cambio al ledger, 51% o più dei computer (potenza di calcolo) nella rete devono accordarsi sulla modifica da fare 51% della attuale potenza di calcolo equivale a $7B+ in risorse hardware per 10 minuti di controllo In sostanza, questo sistema rende più difficile per i miner disonesti creare blocchi Workshop SFEF - 7 luglio 2021 26
Tipi di Blockchain Blockchain pubbliche Blockchains private • Chiunque può partecipare • Partecipanti sono noti • Partecipanti anonimi • Possono essere controllate e avere • Non c'è autorità che una “proprietà” da parte di un supervisiona consorzio • Approvazione di transazioni non è vincolata alla maggioranza dei partecipanti alla Blockchain bensì a un numero limitato di partecipanti "affidabili Workshop SFEF - 7 luglio 2021
Smart Contract Le transazioni in bitcoin sono limitate ₋ Trasferisci bitcoin "X" da "Y" a "Z" Necessità di realizzare transazioni più potenti, es. per pagamenti condizionati: ₋ Scambi di asset ₋ Aste ₋ Supply chain e logistica ₋ Accordi legali Soluzione - Creare Smart Contract, conservarli ed eseguirli sulla blockchain - Gli effetti della loro esecuzione non possono essere ritrattati - Uno Smart Contract codifica un insieme di regole (es., di un contratto) Workshop SFEF - 7 luglio 2021
Smart Contract: un esempio Smart contract "Polizza viaggio" che paga automaticamente un viaggiatore nel caso il suo volo sia cancellato Workshop SFEF - 7 luglio 2021
Smart Contract e token digitali La possibilità di “tokenizzare” risorse del mondo reale quali asset, prodotti e servizi ha reso possibile utilizzare la vendita di token come forma di finanziamento. Creare un token sulla Blockchain vuol dire definire tramite uno smart contract tutte le sue caratteristiche. I diritti dei titolari di token possono essere codificati tramite smart contract. Ad esempio: 1. a scadenze temporali prefissate il possesso di un certo numero N di token dà diritto a riceverne uno ulteriore, o a ricevere una somma quale interesse. 2. se le azioni della società sono tokenizzate, gli azionisti hanno diritto di voto. Con uno smart contract, il diritto di voto della persona viene abilitato quando si verifica una certa condizione, es., scadenza temporale. Lo smart contract consente loro di esprimere il proprio voto e registra tutto in modo trasparente. Workshop SFEF - 7 luglio 2021
Grazie!
Puoi anche leggere