Now let’s get to the meet the character who is the focus of today’s story — Adam Back.

Back is a well-known British cryptographer and computer scientist who had a fascination for the intersection of both these subjects from an early career on. It was only a natural fit that in the beginning he would work for Nokia, exploring the potential for using electronic cash on cell phones. This wasn’t what he got famous for though.

Neither was him being an international arms dealer (sort of). Turns out, that in the 90s, the United States Government wasn’t too keen to have cryptographic tools leave the country (or be seen by foreign nationals in general) and to find widespread usage (always this urge for privacy, ugh..). Under the Arms Control Export Act, sandwiched neatly in between particle beam weapons and laser targeting systems, was cryptographic software.

Adam Back, in a rebellious move, started to produce and sell t-shirts, that had the PGP (Pretty Good Privacy) encryption protocol printed all over them.

This whole episode takes place within a context known as Crypto Wars, which is a highly interesting story on its own!

But let’s get back to Adam Back and the focus of this story.

Technically speaking, while is ingenious idea was related to money, this wasn’t the ulterior motive behind it. Adam Back wanted to free us from the incredibly annoying and useless flood of spams that knocks on our doors, day in and day out.

In 1997 he proposed a potential solution to effectively combat spam to the Cypherpunk mailing list — an idea he called Hashcash.

Hashcash builds on the idea that some sort of cost should be introduced to use unmetered services online, such as emails.

The way Hashcash works is as follows:

Imagine you want to send your friend Bob an email. After you’re done writing about the awesome marching band camp you had last weekend, you click on send.

Before this email leaves your computer and rides the digital highways all the way to its final destination, Bob’s computer, something is happening under the hood of your computer.

In order to send your email, your computer needs to solve a mathematical problem, which is based on hashing. What’s that sorcery you might find yourself asking?

Well, we’ll explore in-depth how exactly hashing works and how it is applied in blockchain technology in a future article, for now this basic explanation shall suffice.

A hashing algorithm takes an input (this can be literally anything), runs it through some magic mathematical processes and then creates a unique output. In the case of Hashcash, it takes the resulting number (which is a hexadecimal number)and converts it again to a “regular” number. Just for fun, let’s go through this process and create a hash of the sentence “Most of the time travellers worry about their luggage.”

SHA-256 hash: 55D0EFF51767341750B8FAB75244CB884310452916D17EA877B43AE16F468B6B

Now we convert this number to a regular number (without all those letters):

38815752444080001506796615622473361021972495275593571116449038316656126233451

What’s super important and special about these hashing algorithms is, that the tiniest change in the input completely alters the output! For example, if we repeat the same process explained above and add a comma to the sentence “Most of the time, travellers worry about their luggage.”, we get something completely different.

SHA-256 hash:

5D19B0D0BC503AAABC02D41F2678DFF069F169FA432E0FC29117B067562A993C

After conversion to a “normal” number:

42110486429720890832477449913210526866979833963311173423128674162412345792828

As you can easily see, it is almost impossible to calculate the hash from the second sentence by looking at the first hash. The only way to correctly get the corresponding hash, is by hashing the two sentences individually. These type of mathematical problems are really easy to compute into one direction, but not into the other. And they’re super easy to verify.

Adam Back used this property for Hashcash, by creating the following problem that needs to be solved before your email can be send: he takes the metadata (where it’s going to, from whom it is coming) of the recipient’s email and adds a random number to it. All this data is now hashed, which results in a certain number.

Now things get tough for your computer. If you translate the “normal” hash from above into binary, it becomes a number consisting out of 0s and 1s. Now the goal for your computer is to find a hash that has a certain amount of 0s in the beginning of it.

Since it is impossible to calculate the right hash without knowing the added random number, your computer needs to guess which number it could’ve been. This is known as a brute-force approach.

Your computer will need a couple of seconds to guess all kind of hashes until it finds the right one — now nothing stands it the way of your email anymore! Once it arrives at Bob’s doorstep, Bob can easily verify the answer given by you.

If you simply send one or a few emails, this process is almost unnoticeable to you. But if you’re a malicious spammer, who want to send millions upon millions of spam emails, suddenly the time and the processing power it takes, is immense. And all this computing power needs electricity. Electricity that you’ll need to pay for. Voila.

This process is known today as Proof-of-Work. We will go in-depth into this fundamental building block of the first blockchain in another article.

Hashcash was actually implemented by a couple of companies, the biggest ones being Microsoft (at one point) and Mozilla Thunderbird. Yet, it failed to catch on in a sustainable fashion.

If you want to read an in-depth article about Hash Functions, check out this post: