HashCash was a solution designed to combat spam by generating a proof of work that allowed verifying that a certain email was not spam.
EThe name of HashCash makes mention of a Proof of Work (PoW) that was used to minimize spam and denial of service attacks (known as DoS o DDoS). This technology gained wide popularity thanks to its implementation in the Bitcoin and many others cryptocurrencies, . Its function in them was to be part of the block validation algorithm. All this through the process of mining is. of cryptocurrencies.
Know the origin of the term SPAM
It comes from World War II when relatives sent soldiers canned food. Among this food was a can of precooked meat very common in the United States called spam. In 1970, in a sketch of the television series Monty Python's Flying Circus (starring British comedians Monty Python) dishes containing spam were served to diners. It was quite popular at the time and came to the computer field. Once there, it was used to refer to spam sent indiscriminately.
HashCash development
The development of HashCash comes from the hand of Adam Back in 1997. Back is a renowned crypto expert and computer hacker. He development the proof of work system. This as a countermeasure against spam in emails and also in blogs (spam is spam). Back devised this technology based on a job called; "Assessment through processing or combating spam". A document presented in 1992 by computer experts Cynthia dwork y Moni naor.
The objective of HashCash is to require computer work for it to be verified. Once said work is verified, the user is allowed to use the resource. Use in email is based on adding an encrypted header to the email. This header has the information generated by the user using the HashCash system. This is a kind of seal that ensures that the mail has passed the proof of work. This seal is an identifier that shows that the sender has used the processor for a small amount of time. Well, it is the only way to generate a genuine stamp for each email you want to send.
How does HashCash work?
It is based on the idea that if a certain user has used their processor to generate this stamp, it is unlikely that they are a spammer. Receivers with a very low almost negligible computational cost can verify this. In this way we can guarantee that it is not spam.
Decrypting the seal and ensuring it is not spam requires brute computing force. Or what is the same, we need the processor to find the answer by trial and error. Basically, the processor will test combinations according to certain criteria until it finds the correct answer. This would demonstrate that it is not spam.
Spammers base their business model on sending hundreds, thousands, and even millions of emails quickly. All this with a low cost of resources per message. For example; If a 5-second job is requested before sending an email, the cost of sending thousands of emails would be unbearable by the spammer. For its part, the receiver can quickly verify if there is a verification work prior to receiving the mail. With this, you can quickly filter and classify legal emails from spam attempts.
HashCash use cases
The creation of HashCash allowed to propose a mechanism to control spam attacks on mail services. This would be its main and greatest use in computing. However, this tool also laid the foundations for other systems, among which we can highlight:
Protection of connections
One of the weakest links in any network infrastructure is the connection between the client and the server. This can be violated in different ways, leading to the closure of the connection or the theft of the session. Both cases deny customer service, but also present other security risks. To avoid this, HashCash can be used.
This in order to create a connection token generated by an interactive HashCash cost function. With this defense, client-server connections are protected with a hash ensuring that they cannot be "stolen" or "broken" by malicious actors.
Computer file systems
Another use in HashCash computing is in utilization within file systems. This through hashing functions to create a unique signature for each block of stored data. Thanks to this signature, the system is able to verify their authenticity. This allows you to create fault tolerant file systems like downgrade. Among the file systems capable of doing this are ZFS, Btrfs o SFS.
How much do you know, cryptonuta?
Has the development of HashCash opened the doors to the development of Proof of Work (PoW) systems?TRUE!
The development of HashCash was one of the first real use cases that Proof of Work (PoW) proved to be really useful in the computing world. Although the technique was known, it had never been adapted to a specific functionality or task until Adam Back developed HashCash. From then on the development of PoW was improving until the creation of Bitcoin.
HashCash and Bitcoin
Bitcoin makes use of the hashcash function as part of its mining core. All bitcoin miners either CPU, GPU, FPGA o ASICThey are dedicating their effort to creating HashCash job vouchers. Like many cryptographic algorithms, HashCash uses a hash function as a building block. It is thanks to the use of HashCash, that Bitcoin mining is possible. Without this software, the current Bitcoin mining and security structure would not be possible.