HashCash era una soluzione progettata per combattere lo spam generando una prova di lavoro che consentiva di verificare che una determinata email non fosse spam.

EIl nome di HashCash si riferisce a una tecnologia di Proof of Work (PoW) utilizzato per ridurre al minimo la posta indesiderata (spam) e attacchi denial of service (conosciuto come DoS o Protezione). Questa tecnologia ha guadagnato ampia popolarità grazie alla sua implementazione in Bitcoin e molti altri criptovalute. La loro funzione in essi era quella di far parte dell'algoritmo di convalida dei blocchi. Tutto questo attraverso il processo di mining di criptovalute.

Conosci l'origine del termine SPAM

Viene dalla seconda guerra mondiale quando i parenti hanno inviato ai soldati cibo in scatola. Tra questo cibo c'era una lattina di carne precotta molto comune negli Stati Uniti chiamata Spam. Nel 1970, in uno sketch per la serie televisiva Circo Volante di Monty Python (con i comici britannici Monty Python) sono stati serviti ai commensali piatti contenenti spam. All'epoca era piuttosto popolare e raggiunse il campo dell'informatica. Una volta lì, serviva per fare riferimento allo spam inviato indiscriminatamente.

Sviluppo HashCash

Lo sviluppo di HashCash viene dalla mano di Adam Back nel 1997. Back è un noto esperto di crittografia e hacker di computer. Il sviluppò la prova del sistema di lavoro. Questo come contromisura contro lo spam nelle e-mail e anche nei blog (lo spam è un messaggio indesiderato). Back ha ideato questa tecnologia sulla base di un lavoro chiamato; "Valutazione attraverso l'elaborazione o la lotta allo spam". Un documento presentato nel 1992 da esperti di computer Cynthia Dwork y Moni Naor.

L'obiettivo di HashCash è richiedere che un computer funzioni per essere verificato. Una volta verificato tale lavoro, l'utente può utilizzare la risorsa. L'utilizzo nell'email si basa sull'aggiunta di un'intestazione codificata all'email. Questa intestazione contiene le informazioni generate dall'utente utilizzando il sistema HashCash. Questo è un tipo di sigillo che garantisce che la posta abbia superato la prova di lavoro. Questo sigillo è un identificatore che mostra che il mittente ha utilizzato il processore per un breve periodo di tempo. Bene, è l'unico modo per generare un autentico sigillo per ogni email che desideri inviare.

Come funziona HashCash?

Si basa sull'idea che se un determinato utente ha utilizzato il proprio processore per generare questo sigillo, è improbabile che sia uno spammer. Ricevitori con un costo computazionale molto basso quasi trascurabile possono verificarlo. In questo modo possiamo garantire che non sia spam.

La decrittografia del sigillo e la garanzia che non sia spam richiede il calcolo della forza bruta. O qual è lo stesso, abbiamo bisogno del processore per trovare la risposta attraverso tentativi ed errori. Fondamentalmente, il processore proverà le combinazioni in base a determinati criteri finché non trova la risposta corretta. Ciò dimostrerebbe che non è spam.

Gli spammer basano il loro modello di business sull'invio rapido di centinaia, migliaia e persino milioni di e-mail. Tutto questo con un basso costo di risorse per messaggio. Per esempio; Se chiedi un lavoro di 5 secondi prima di inviare un'e-mail, il costo dell'invio di migliaia di e-mail sarebbe insostenibile per lo spammer. Da parte sua, il destinatario può verificare rapidamente se c'è un lavoro di verifica prima di ricevere la posta. Con esso, puoi filtrare e classificare rapidamente le email legali dai tentativi di spam.

Casi d'uso di HashCash

La creazione di HashCash ha permesso di proporre un meccanismo per controllare gli attacchi di spam ai servizi di posta. Questo sarebbe il suo principale e più grande utilizzo nell'informatica. Tuttavia, questo strumento ha posto le basi anche per altri sistemi, tra i quali possiamo evidenziare:

Protezione della connessione

Uno degli anelli più deboli in qualsiasi infrastruttura di rete è la connessione tra il client e il server. Questo può essere violato in diversi modi, portando alla chiusura della connessione o al furto della sessione. Entrambi i casi negano il servizio clienti, ma presentano anche altri rischi per la sicurezza. Per evitare ciò, è possibile utilizzare HashCash.

Questo per creare un token di connessione generato da una funzione di costo HashCash interattiva. Con questa difesa, le connessioni client-server sono protette con un file hash garantendo che non possano essere "rubati" o "rotti" da malintenzionati.

Sistemi di file informatici

Un altro utilizzo nell'elaborazione di HashCash è nell'uso all'interno dei file system. Questo attraverso le funzioni hash per creare una firma univoca per ogni blocco di dati memorizzati. Grazie a questa firma il sistema è in grado di verificarne l'autenticità. Ciò consente di creare file system che tollerano errori come il degrado. Tra i file system in grado di farlo ci sono ZFS, btrfs o SFS.

Quanto sai, Cryptonuta?

Lo sviluppo di HashCash ha aperto le porte allo sviluppo di sistemi Proof of Work (PoW)?

Certo!

Lo sviluppo di HashCash è stato uno dei primi casi d'uso reali che Proof of Work (PoW) si è rivelato davvero utile nel mondo dei computer. Sebbene la tecnica fosse nota, non era mai stata adattata a una funzionalità o attività specifica fino a quando Adam Back non sviluppò HashCash. Da quel momento in poi, lo sviluppo dei PoW è migliorato fino alla creazione di Bitcoin.

HashCash e Bitcoin

Bitcoin utilizza la funzione hashcash come parte del suo core di mining. Anche tutti i minatori di bitcoin CPU, GPU, FPGA o ASIC, stanno dedicando i loro sforzi alla creazione di buoni di lavoro HashCash. Come molti algoritmi crittografici, HashCash utilizza una funzione hash come elemento costitutivo. È grazie all'uso di HashCash che il mining di Bitcoin è possibile. Senza questo software, l'attuale framework di mining e sicurezza Bitcoin non sarebbe possibile.