La funzione chiave delle ciptovalute: l’hashing, cos’è e come funziona?
Condividi11Quando si parla di Blockchain e di criptovalute è importante conoscere cos’è la funzione di hash e capire perché è essenziale.
Quando un’informazione è trasmessa utilizzando una rete non sicura, non deve essere alterata durante la trasmissione. Le funzioni hash risolvono questo problema.
L’hash è infatti una funzione che, a partire da un input di lettere e numeri, li converte in un output autografato di lunghezza fissa utilizzando un algoritmo. Questo soddisfa le richieste crittografate necessarie per risolvere un calcolo blockchain.
Per altri video come questo visita il sito https://club6.it/ e iscriviti al canale Youtube https://www.youtube.com/c/Club6MorrisSamuelCripto/
In termini semplici, l’hashing significa prendere un input di qualsiasi lunghezza e restituire un output di lunghezza fissa.
Nel contesto delle criptovalute, le transazioni come Bitcoin vengono prese come input e gestite attraverso un algoritmo di hashing che restituisce un output di una lunghezza fissa.
Vediamo meglio come funziona questo processo di hashing.
Per questo esercizio utilizzeremo l’algoritmo di hash sicuro 256 o conosciuto anche con il nome di Sha 256.
Nel caso di Sha 256, non importa quanto grande o piccolo sia il tuo input, l’output avrà sempre una lunghezza fissa di 256 bit.
Questo è fondamentale quando si ha a che fare con un’enorme quantità di dati e transazioni, invece di ricordare una grande quantità di dati di input è possibile ricordare l’hash per tenerne traccia.
Una funzione hash crittografica è una classe speciale di funzione hash che la rende ideale per la crittografia, ci sono sei proprietà che una funzione hash crittografica deve avere per essere considerata sicura, esaminiamole una per una.
Proprietà 1: Deterministica. Ciò significa che non importa quante volte
inserisci gli stessi dati, otterrai sempre lo stesso risultato. Questo è fondamentale perché se ottieni hash diversi ogni volta è impossibile tenere traccia dell’input.
Proprietà 2: Calcolo rapido. La funzione hash deve essere in grado di restituire rapidamente l’hash di un input; se il processo non è abbastanza veloce, il sistema non sarà efficiente.
Proprietà 3: Resistenza preimmagine. La resistenza preimmagine afferma che è impossibile determinare i dati di input in base all’hash di output, notare l’uso della parola infattibile al posto di impossibile. Facciamo un esempio, supponiamo che tu stia lanciando un dado, invece di ottenere un numero specifico tra l’1 e il 6 ottieni invece un valore hash che corrisponde a un numero specifico compreso tra l’1 e il 6. Come sarai in grado di determinare quale era il numero originale?
Tutto quello che devi fare è scoprire gli hash di ogni numero da 1 a 6 e confrontarli con il tuo risultato.
Poiché le funzioni hash sono deterministiche, l’hash di un particolare input sarà sempre lo stesso, questo significa che puoi semplicemente confrontare gli hash e scoprire l’input originale, questo è un esercizio banale quando si tratta di 6 possibili input ma quando si lavora con grandi dati la difficoltà di indovinare un hash aumenta in modo esponenziale, l’unico modo per trovare l’input da un hash di output è attraverso supposizioni pure e casuali. Quindi cosa succede se dovessi utilizzare questo metodo?
Passeresti il resto delle tue tue giornate a cercare di indovinare gli hash senza mai riuscirci o senza avvicinarti minimamente e questo non lo riuscirebbero a fare neanche i tuoi figli, né i loro figli, né i loro nipoti.
Proprietà 4: Un piccolo cambiamento nell’input cambia l’intero output.
Anche il più piccolo cambiamento nell’input deve avere enormi ramificazioni sull’output. Questa è una funzione fondamentale che aiuta a rendere la funzione preimmagine resistente.
Proprietà 5: Resistente alle collisioni. La resistenza alle collisioni significa che ogni input avrà il proprio tratteggio unico, avere due input diversi che producono lo stesso hash è noto come collisione. Nessuna funzione di hash è completamente esente da collisioni ma, proprio come il processo di supposizione nell’indovinare l’hash che abbiamo descritto prima, richiede così tanto tempo che perde di importanza.
Proprietà 6: Puzzle amichevole. Questa è una proprietà piuttosto complessa ed è rappresentata in qualche forma da questa complicata equazione: H(k/x) = Y.
Ma la matematica è difficile, quindi trasformiamola in parole e immagini.
K rappresenta un particolare valore scelto, per adattarsi a questa proprietà il valore deve essere scelto da una distribuzione di punti notevolmente ampia, scegliere un numero compreso tra 1 e 5 ad esempio non sarebbe sufficiente, scegliere un numero compreso tra 1 e 10 sarebbe una distribuzione abbastanza significativa per un hash crittografico.
Questa linea indica la concatenazione. Concatenare significa unire due parti, se dovessi concatenare ad esempio il blu e il cielo, il risultato sarebbe il cielo blu. Quindi, guardando di nuovo l’equazione dato un output hash di Y e un punto K scelto casualmente, deve essere impossibile trovare un valore x tale che la combinazione di K e X dia un output hash Y.
Oh, la matematica..
Quindi cosa significa tutto quello che abbiamo visto nelle catene di blocchi? Perché è importante? La catena di blocchi è una sequenza di blocchi che contiene dati e un puntatore hash che punta al blocco precedente. Un puntatore hash contiene l’hash di tutti i dati all’interno del blocco precedente, questa piccola modifica fa parte di ciò che rende le catene di blocchi così rivoluzionarie.
Immagina che un hacker attacchi il blocco 3 e cerchi di modificare i dati, a causa delle proprietà delle funzioni hash anche un leggero cambiamento nei dati cambia drasticamente l’hash. Ciò significa che qualsiasi modifica apportata nel blocco 3 cambierà l’hash memorizzato nel blocco 2, questo a sua volta cambierà i dati e l’hash del blocco 2 porterà modifiche nel blocco 1 e così via.
Questo è esattamente il modo in cui le catene di blocchi raggiungono l’immutabilità, qualsiasi piccolo cambiamento nei dati viene immediatamente notato e annullato da ciascun blocco precedente.
In sostanza, il concetto di hashing è una parte fondamentale di ciò che rende le blockchain rivoluzionarie e uniche. Capire come funziona, nonché la sicurezza e l’efficienza che fornisce è un passo fondamentale verso la comprensione della tecnologia blockchain nel suo insieme.
AIUTACI A RAGGIUNGERE PIU' PERSONE POSSIBILI. Creare l'informazione libera ha un costo ed abbiamo bisogno dell'aiuto di tutti. Potrai ACCEDERE SUBITO A 4280 VIDEO ESCLUSIVI ed i corsi sull’oro, criptovalute e la creazione della comunità grazie a 5 giorni di prova GRATUITA. CLICCA QUI ADESSO
