fbpx

Blockchain e Criptovalute: Crittografia ed Indirizzi

Commenti disabilitati su Blockchain e Criptovalute: Crittografia ed Indirizzi
Image by Tumisu from Pixabay

Indice

Presentazione

Benvenuto in questo nuovo post. Oggi parliamo ancora una volta di blockchain e criptovalute.

Dopo aver fatto una panoramica sulla tecnologia approfondendo la struttura della rete, rispettivamente nel primo e secondo articolo di questa rubrica, oggi approfondiremo l’argomento crittografia.

Stiamo parlando di un aspetto di particolare rilievo nel contesto di cui stiamo parlando, come abbiamo già accennato.

La Crittografia

Come di consueto, potrebbe essere una buona idea iniziare con una definizione:

La crittografia è la branca della crittologia che tratta delle “scritture nascoste”, ovvero dei metodi per rendere un messaggio “offuscato” in modo da non essere comprensibile/intelligibile a persone non autorizzate a leggerlo

Questo incipit, fornito da Wikipedia, ci fa subito comprendere come questa tecnica sia fondamentale all’interno di un ambiente potenzialmente poco sicuro come Internet.

Effettivamente, per lo stesso motivo (e non solo) essa viene adottata anche nella blockchain. Ma per capire in che modo, è necessario approfondire il suo funzionamento, almeno in linea di massima.

Crittografia a Chiave Asimmetrica

Partiamo dalla crittografia a chiave asimmetrica, una particolare tecnica crittografica che risulta essere al giorno d’oggi la più utilizzata in quanto inviolabile e in grado di garantire diverse proprietà.

Il nome di questa tecnica deriva dal fatto che siamo in presenza di due diverse chiavi collegate matematicamente tra loro:

  • Una chiave privata generata in maniera casuale
  • Un chiave pubblica generata tramite un processo matematico a partire dalla chiave privata

Una chiave non è altro che un numero esadecimale molto grande (256 bit nel caso del Bitcoin). Ecco un esempio:

L4EEZycgVeibbYW5hQb5kfpau m3UKS3cU8cr91rSucf3Uf8pVBYK

Dalla precedente chiave privata si deriva matematicamente una chiave pubblica. Proseguendo con l’esempio precedente otterremmo:

12YA2nz4jvWfZEnGC7Zhg1PdDKJZ25V4SL

Il passaggio appena descritto è relativamente molto semplice mentre il passaggio inverso (derivare la chiave privata partendo dalla chiave pubblica) è praticamente impossibile.

Criptazione dei Messaggi

Come detto nell’introduzione, l’uso base della crittografia permette di trasmettere messaggi in maniera confidenziale.

In particolare, se Marco vuole inviare il messaggio “ciao” a Sara in maniera sicura può tranquillamente crittografarlo con la chiave pubblica di Sara.

In questa maniera, solo Sara potrà decrittarlo mediante la sua chiave privata.

L’utente che ha caricato in origine il file è stato Paolo Di Febbo di Wikipedia

Tutto questo risulta essere molto utile. Infatti, in questa maniera potremo inviare i nostri messaggi liberi dalla paura che qualcuno possa spiare il contenuto violando i canali di comunicazione.

Per rendere questo processo ancora più completo e funzionale è possibile combinare l’hashing, di cui abbiamo parlato nel primo post, e la crittografia a chiave asimmetrica in questo modo:

  1. Creazione del messaggio e dell’impronta corrispondente mediante hashing
  2. Firma dell’impronta con la chiave privata del mittente
  3. Firma dell’intero messaggio con la chiave pubblica del destinatario

Di tutta risposta il destinatario dovrà:

  1. Decrittare l’intero messaggio con la propria chiave privata
  2. Elaborare l’impronta del messaggio
  3. Confrontarla con quella del mittente, opportunamente decrittata con la sua chiave pubblica

Attraverso questo processo, oltre alla sola confidenzialità, siamo in grado di garantire anche altre proprietà.

In primo luogo abbiamo l’autenticazione del mittente e l’integrità ottenuta attraverso il confronto tra l’hash generato dal destinatario e quello inserito dal mittente.

In secondo luogo abbiamo la non ripudiabilità del messaggio dato che il mittente ha firmato con una chiave privata di cui solo lui è in possesso.

Gli Indirizzi nella Blockchain

Tutto quello che abbiamo appena detto è alla base della comunicazione sicura su Internet. Ma come è integrata la crittografia nella blockchain?

Per iniziare possiamo dire che la crittografia è alla base della creazione dei vari indirizzi.

Infatti sulla blockchain non ci sono persone o profili utente con i propri dati personali ma solo ed esclusivamente indirizzi.

Un indirizzo nella blockchain non è altro che un identificatore per indirizzare le transazioni. Ecco ad esempio il primo indirizzo Bitcoin di Satoshi Nakamoto:

1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

Dunque, un indirizzo viene elaborato attraverso i seguenti passaggi:

  1. Viene generata una chiave privata
  2. Viene derivata la corrispondente chiave pubblica
  3. Vengono applicate alla chiave pubblica diverse funzioni di hash

Alla fine del processo, otterremo un indirizzo simile a quello di Satoshi.

Chiaramente, ogni blockchain ha le sue peculiarità. Ad esempio, gli indirizzi Bitcoin iniziano solo ed esclusivamente con “1”, “3” o “bc1” a seconda del protocollo usato. Tuttavia il processo di creazione resta fondamentalmente lo stesso.

Conclusione

Per qualsiasi domanda o richiesta ti invito a utilizzare i vari form di contatto che trovi sul sito oppure, cliccando su questo link troverai tutti i nostri account social tramite i quali potrai fruire di vari contenuti supplementari e restare aggiornato sulle ultime pubblicazioni.

A tal proposito, ti invito a dare un’occhiata a tutti gli altri contenuti presenti nella sezione articoli del blog.

Se invece apprezzi il nostro lavoro e vorresti contribuire al progetto e alle spese da esso derivanti con una piccola donazione, ti invito ad utilizzare questo link.

A presto.