Skip to main content

Topic outline

  • Introduction

    Oggi la blockchain può essere utilizzata in infinite altre applicazioni, dove siano fondamentali uno di questi due aspetti: la certezza dei dati o la necessità di un intermediario (o di un garante).

    La firma digitale, invece, è uno strumento che permette ad un soggetto di firmare dei documenti facendoli diventare documenti con valore legale. 

    In questo corso vedremo nel dettaglio cos'è uno smart contract, come funziona e le diverse applicazioni. Ecco gli argomenti che tratteremo:

    1. Firma digitale
    2. Smart Contract
    3. Escrow
    4. Company Wallets
    5. Micro insurance
    6. Tokens
    7. ERC721
    8. ICO   

  • Firma digitale

    Un’applicazione della crittografia e dalla hashing è la firma digitale.

     

    La firma digitale deve riferirsi in maniera univoca ad un solo soggetto ed al documento o all’insieme di documenti cui e’ apposta o associata. L’apposizione di firma digitale integra e sostituisce l’apposizione di sigilli, punzoni, timbri, contrassegni e marchi di qualsiasi genere ad ogni fine previsto dalla normativa vigente. (Cad, art. 24, dlgs 82/2005).

     

    La firma digitale è uno strumento che permette ad un soggetto di firmare dei documenti facendoli diventare documenti con valore legale, ed è il risultato di una composizione di crittografia ed hashing che garantisce:

     

    • Autenticità, per assicurare e garantire chi è che ha firmato il documento si è assunto anche la responsabilità del suo contenuto.
    • Integrità, condizione che serve a dimostrare dal momento in cui è stato firmato fino al momento in cui è utilizzato esso non è mai stato modificato.
    • Non ripudio in quanto chi ha firmato il documento mediante la firma elettronica non può poi disconoscerlo.

    Per ottenere questo risultato la firma elettronica si basa sull’utilizzo di strumenti crittografici.

     

    Quindi nel sistema della firma digitale ciascun titolare ha assegnate una coppia di chiavi da  un soggetto istituzionalmente qualificato (il certificatore) che emette a favore del titolare un certificato digitale che associa il numero binario di 2048 bit alla sua identità.

    Questo sistema associa in modo univoco il richiedente alle credenziali di sottoscrizione, così da permetterne l’identificazione in modo certo.

     

    Contemporaneamente a questa chiave, detta pubblica perché nota a tutti gli interessati, viene generata un’altra chiave di pari lunghezza che è privata ed a controllo esclusivo del titolare.

     

    Per firmare, il soggetto che possiede un documento da inviare deve applicare al documento una funzione di hash così da ottenere un output di lunghezza fissa. A questo punto il soggetto deve applicare la sua chiave privata sul output ottenuto in precedenza, così da ottenere un contenuto cifrato. Il contenuto cifrato è per la firma digitale.

     

    E’ indispensabile associare la firma al documento e questo avviene attraverso specifici formati. Se, ad esempio, utilizziamo il PDF il formato è denominato PAdES.

     

    La firma elettronica viene utilizzata nelle fatture elettroniche verso la P.A. infatti chiunque emette delle fatture elettroniche in relazione a servizi nei confronti della P.A. è tenuto a dotarsi di un certificato di firma qualificata.

     

    Un esempio ottenuto applicando una firma digitale è il file di tipo p7m. Grazie ad appositi software, infatti, è possibile firmare digitalmente qualunque tipologia di file (sia esso un documento di testo, un foglio di lavoro, un'immagine o una foto) e creare file p7m in poco tempo.

     

    I file con estensione p7m possono dunque essere paragonati a degli archivi di documenti certificati e autenticati tramite firma elettronica. Insomma, un file p7m è un documento su cui è stata apposta la firma elettronica per i motivi più svariati (ad esempio, per autenticare il proprio curriculum vitae e partecipare così a un concorso pubblico).

     

    Per verificare la firma, si separa il documento dalla firma, si applica al documento la stessa funzione di hash che ha usato il soggetto che ha firmato, così da ottenere un output di lunghezza fissa. Il secondo passo consiste nel decifrare la firma digitale utilizzando la chiave pubblica del soggetto che ha firmato. La verifica risulta positiva quando hashing ottenuto dal documento risulta uguale all hashing ottenuto dalla de-cifratura della firma.   

    questo processo permette di verificare che i dati sono corretti e non vi è stata una perdita di informazioni. Se qualcuno cerca di modificarlo il codice di hash risulta diverso e quindi posso sapere se qualcuno lo ha manomesso.

     

    L’ insieme degli algoritmi utilizzati per le firme digitali prendono il nome di Elliptic Curve Digital Signature Algorithm - ECDSA.


    Per ottenere questo risultato la firma elettronica si basa sull’utilizzo di strumenti crittografici.




     


    • Smart contract e Token

      Oggi la blockchain può essere utilizzata in infinite altre applicazioni, dove siano fondamentali uno di questi due aspetti: la certezza dei dati o la necessità di un intermediario (o di un garante). Si pensi al caso degli smart contract, software che danno esecuzione a un contratto, in automatico, al verificarsi di certi presupposti, senza che le parti coinvolte possano in nessun modo influenzarli. 

      Entrando più nel dettaglio, uno Smart Contract è un codice di programmazione che viene distribuito ed eseguito all’interno del network di Ethereum grazie ai nodi Ethereum Virtual Machine (EVM). Esso regola lo scambio di transazioni sulla base di criteri definiti al suo interno.

      Esempio di Smart Contract

      Ipotizziamo l’acquisto di un telefono a rate da parte di un utente. La persona in oggetto decide di stipulare un “contratto intelligente” con il negozio di elettronica presso il quale ha completato l’acquisto dello smartphone.

      Tra le clausole dello smart contract le due parti decidono di inserirne una relativa al mancato pagamento di una rata. Da contratto, l’utente non potrà usare il cellulare qualora dovesse rendersi inadempiente dal punto di vista del saldo delle rate.

      Caso vuole che l’acquirente del telefono dopo un paio di mesi non riesca a liquidare un acconto mensile. Al verificarsi di tale condizione, la blockchain esegue in automatico la clausola. Il blocco dello smartphone avviene a livello software.