The story of Bitcoin goes back to the cypherpunk manifesto where the internet was declared as a new world for the people. Privacy was held as a core value of this new world. Eric Hughes wrote the cypherpunk manifesto and is credited as starting the cypherpunk movement along with Timothy C. May and John Gilmore. Before social media, medium and all other forms of communication everything came down to email. People like Eric Hughes and Hal Finney ran anonymous re-mailers. This allowed anyone to join the discussion while still maintaining their privacy. While lists were generally open it was essential that people could contribute with privacy because whistle blowers, developers of controversial technology and other individuals may not have reached out and shared their information or works.

One of the biggest breakthroughs for online privacy and identity verification was Phil Zimmermann’s creation of PGP in 1991. Of course back in 1991 Hal Finney was on the RFC proposal and was the second developer hired at the PGP Corporation. Phil Zimmerman was charged under the Arms Export Control Act for the development of PGP. It’s said all the lines of code were printed on paper, and flown in a huge stack by airplane to be retyped in some cases. Other folks peer-to-peer exchanged the code. Who knew a software tool could be considered a weapon, and while the case was dropped it forced a lot of developers to re-think their works. However, one of the main themes in the cypherpunk world is push code, ask questions later.

Well, email is a theme here, because the lists and anonymous remailers were a great communication tool, but the rise of spam and other annoying issues forced the issue of how to improve communication while not cutting out good actors. How could someone allow an anonymous person to contribute but “check” that they’re worthwhile. Proof-of-Work! Some might think of it as an early version of anti-spam measures we see now where you prove you’re human by picking images.

In comes Adam Back who was undoubtedly quite annoyed with spam and developed the Hash Cash system in 1997. A long-time contributor to mailing lists, and annoyed things weren’t working better he found a code based solution. It has been used in other systems like fighting denial-of-service attacks, but originally was purposed for email. A user who wanted to contribute would need to compute, like Bitcoin Mining, the answer to a challenge, and the time spent made it far less feasible for garbage to get on lists even whilst having anonymous options. I propose Adam Back didn’t have a grand vision in mind, he was annoyed with his email use and that propelled the creation of Hash Cash.

There were a number of attempts at digital currency prior to Bitcoin, and I think it’s worthwhile to note, many people were trying to solve this problem. There was the long running DigiCash company founded in 1989 by David Chaum, and E-gold. They unfortunately failed because of legislation, centralization, and market timing. Other notable figures include Nick Szabo, Len Sassaman, Wei Dai and so many more, all of which had some ties to anonymous remailers. I can’t list all of the contributors but needless to say nothing fully succeeded until Bitcoin.

Fast forward to August 2004, and Hal Finney announces RPOW (Reusable Proof-of-Work). He describes it as, “[a] system [that] receives hashcash as a Proof of Work (POW) token, and in exchange creates RSA-signed tokens which I call Reusable Proof of Work (RPOW) tokens.” It’s starting to sound like Bitcoin. In fact if you browse through the slides for the project, you’ll see it’s very similar. I recommend you take a peak, even if you’re not a developer, they can be found on archive.org: https://web.archive.org/web/20090813003453/http://rpow.net:80/slides/slide001.html, The main site unfortunately went dead around the middle of 2010.

Here Hal Finney is taking Hash Cash one step further and creating a token. Imagine you had two separate anonymous remailers and you didn’t want the individual to be forced to recreate a token, but also not have to register information to be tied to one. With a distributed token, a person could have an identity across numerous remailers. I believe this was a big part of the initial impetus Hal Finney pursued creating this system. Now it would be easy to assume Hal Finney is Satoshi here. There’s circumstantial evidence, and a lot of technical history. However, Hal Finney in my observation writes fast and loose c code. Bitcoin is C++ and has a lot of extra care for GUI, warnings and an altogether different commenting style. You can do your own comparison, https://github.com/trottier/original-bitcoin and https://web.archive.org/web/20090812224109/http://rpow.net:80/rpow-1.2.0.tar.gz.

It took a lot of work porting RPOW, adding networking and a friendly GUI that allowed little technical knowledge to use Bitcoin. The second contributor to Bitcoin, Marti Malmi helped a lot with clean up, organization, and could have been a good pair for a programmer rusty with C++. Regardless the debate goes on, and I’m not sure we will or need to know.

What’s important is, that the bulk of this effort came from trying to stop email spammers, not necessarily reinventing the world. A lot of the greatest inventors simply get annoyed with a problem and look for a more efficient and effective solution. So the punch line of this whole thing is without spammers there may never have been a Bitcoin, at least not as soon. Thanks Spam.