La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS Workshop SFEF -7 luglio 2021

Pagina creata da Alex Guarino
 
CONTINUA A LEGGERE
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS Workshop SFEF -7 luglio 2021
DIPARTIMENTO DI INGEGNERIA
                           DELL'INFORMAZIONE

La tecnologia BLOCKCHAIN
       Michele Melchiori
          DII - UniBS

                                   Workshop SFEF – 7 luglio 2021
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
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS 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
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS 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
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS 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
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS 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
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS 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
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS 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
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS 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
La tecnologia BLOCKCHAIN - Michele Melchiori DII - UniBS 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