In the last article on Bitcoin's Prehistory and the creations that made its invention possible, we talked about David Chaum and how he created a form of private digital money that could be used on the internet. However, eCash was still centralized as it needed a reliable entity that would validate each “digital note”.
An essential component for Bitcoin was created by Adam Back: the Proof-of-Work algorithm.
Adam Back, was a subscriber to the Cryptography Mailing List, and it was this channel that he used to publicize his invention in March 1997 by sending an email. At the time, Back was taking a postdoc at the University of Exeter in the UK and was 26 years old. Your idea can be compared to buying a stamp to add to an email, using a “cryptographic trick”.
Subscribers to the List were called Cypherpunks, and used the science of cryptography to carry forward the main values they defended in this forum: privacy, freedom of expression and libertarianism. Adam Back has become one of the most active participants on the List, sending dozens of emails a month. He was involved in technical discussions about file encryption systems or electronic money, such as the one developed by Dr. David Chaum.
Anti-Spam Invention – Hashcash
Back's invention was to become the engine that makes Bitcoin work. But its need arose during the '90s when the Internet was gaining momentum and popularity. The first Internet application was email and due to its almost zero cost, this tool started to be used in an abusive way by advertisers and disseminators in general. This abusive use created spam - electronic messages that flood everyone's inboxes with advertising and became known as junk e-mail. Back created a system to make it difficult to send emails in order to punish those who send them in massive quantities.
His system, which he called Hashcash, was based on a hash function - a function that turns any data into a set of data with a predetermined dimension. Hashcash used this function intelligently to make sending an email cost, through the energy spent to process this function. This cost would be negligible for those who wanted to send a reliable email, but it would be unaffordable for those who wanted to send emails on a large scale, since they would have to spend processing energy for each email individually.
Hashcash, took the email's metadata - sender, recipient, date, etc ... - and joined them in a predefined format. The sender would have to add a random variable, known as a nonce. Then, all of this metadata was included in a hash function that transformed it into a new, smaller, random data stream.
However, not all strings were accepted as valid. When read in binary code, this sequence would have to have a predetermined number of zeros. The recipient's mailbox would be programmed to refuse emails that did not meet this condition.
The sender is able to create a sequence that respects these rules, changing the nonce variable. But, before you start, you cannot know which variable allows you to reach the sequence you want. The only option you have is trial and error. To reach the zero sequence, the sender would have to test variables until he found the one that would satisfy that condition.
In other words, the sequence is only possible through this system of trial and error of "computational brute force", spending processing time. Thus, it is the sequence itself that works as proof that the recipient has spent computational resources to achieve it. And only in the presentation of this sequence would the recipient's box allow receiving the message. Therefore, this sequence is known as Proof-Of-Work.
In fact, there would have been a similar creation, a few years earlier, by a duo of researchers from the IBM company - Naor and Dwork - and whose goal was also to pay for emails to prevent the sending of spam. However, Back was unaware of this invention and ended up creating Hashcash for the same purpose, differentiating himself by using the hash function. Using this tool makes your system more random than the proposal of IBM researchers.
The revolution of these proof of work systems is to create digital scarcity. In the digital world, creating copies of files and programs is practically instant and free. On the contrary, this algorithm combined the creation of digital products with physical resources, in this case the computing energy spent to create the said sequence.
As is clear, scarcity is an essential prerequisite for a valid form of money. Back put his invention side by side with David Chaum's Ecash. In the introductory email, Back presented Hashcash as a more affordable solution than Ecash. In addition, it was in line with a culture of free access to the Internet and placed “those with less financial means, millionaires and retired government representatives on equal terms”.
Hashcash failed for several reasons, but Proof-of-Work would become vital for Bitcoin. It is this system that values Bitcoin. For two reasons.
- Limits your creation
- You assign a cost to each currency that is created.
These characteristics mean that whoever creates the coins has to receive a value in exchange, higher than the resources he spent to have them in his possession. Only in this way can you profit from the creation of currencies.
Professor Adam Back and his Hashcash, are one of the references named by Satoshi Nakamoto, in the Bitcoin paper. It was in this way that he recognized the importance it had in the creation and development of Bitcoin. Without the Proof-of-Work algorithm, a decentralized electronic money system would not be possible.
Currently, Dr. Adam Back is the CEO of Blockstream, a leading crypto company that is dedicated to building products and services to take blockchain technology further.