Indice
- Presentazione
- La Crittografia
- Crittografia a Chiave Asimmetrica
- Criptazione dei Messaggi
- Gli Indirizzi nella Blockchain
- Conclusione
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.
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:
- Creazione del messaggio e dell’impronta corrispondente mediante hashing
- Firma dell’impronta con la chiave privata del mittente
- Firma dell’intero messaggio con la chiave pubblica del destinatario
Di tutta risposta il destinatario dovrà:
- Decrittare l’intero messaggio con la propria chiave privata
- Elaborare l’impronta del messaggio
- 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:
- Viene generata una chiave privata
- Viene derivata la corrispondente chiave pubblica
- 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.