In parallel with the economic events that we just described, the technology community has been undergoing an evolution of its own. Many brilliant technical minds have been working hard on solving problems to enable secure digital currency payments.
In fact, the Bitcoin whitepaper references prominent scientific publications, such as An Introduction to Probability Theory and its Applications by William Feller, published by John Wiley and Sons, Inc., in 1957; the BMoney paper by Wei Dai, published in 1998; and the Hashcash - A Denial of Service Counter-Measure paper, written by Adam Back in 2002.
Before we dive into the Bitcoin blockchain, we should tell you that the concept of digital currencies is not entirely new, and certainly was not invented with Bitcoin. Satoshi, the founder of Bitcoin, built his project considering and utilizing existing scientific research, carried out in several disciplines. He also added a few innovative solutions of his own, and put everything to work together in a brilliant way.
The following is a summary of some of the notable scientific breakthroughs preceding Bitcoin, and some of which Bitcoin builds upon:
- In the early 1980s, David Chaum, a brilliant mathematician, published several research papers on cryptography and its applications in electronic payment systems. Then, a few years later, he founded DigiCash Inc., developing the eCash software, which enabled users to store money in a digital format, cryptographically signed by a bank. Users could also spend such digital money at any shop accepting eCash. There was no need to open an account with the vendors or to give them your credit card numbers. This can be better illustrated with the following diagram:
- In 1998, Wei Dai, a computer engineer, published a paper proposing what he called B-Money, an anonymous, distributed electronic cash system based on a peer-to-peer network, where nodes (the computers participating in the network) collectively maintain and update a ledger of transactions. The importance of Wei Dai's work is highlighted by the fact that Satoshi Nakamoto referenced B-Money in his original Bitcoin whitepaper. This can be seen in the following diagram:
- In 1997, Adam Back introduced his Hashcash concept. This was designed as a system to prevent email spam. The idea is that, in order to send an email, users' computers need to do some calculations first. As it takes time, energy, and processing power to do such calculations, this adds a cost base to sending an email. Such a cost is not expected to be prohibitive for legitimate email users, as the number of emails they send is reasonably low, while it should discourage spammers, who send thousands of emails daily. For this purpose, hash functions are used, which are a special type of mathematical function. A computer would need to calculate a hash function multiple times, in order to find the required solution to a computational puzzle.
- A concept similar to Hashcash was introduced even earlier, in a 1992 paper by Cynthia Dwork and Moni Naor, titled Pricing via Processing or Combatting Junk Mail. Their main idea was to require a user to compute a moderately hard function, in order to gain access to a shared resource, thus preventing frivolous use.
- A closely related subject, the term Proof-of-Work was first introduced in 1999, by the computer scientists Markus Jakobsson and Ari Juels. They define it as a proof that a certain amount of computational work has been done in a specified period of time.
A similar idea was implemented in Bitcoin's Proof-of-Work algorithm, as described in Satoshi's white paper:
So, basically, Proof-of-Work is a proof that a certain amount of computational work has been done by a computer. Such work has an identifiable cost to it. Therefore, Proof-of-Work is a proof that external resources have been invested in doing a certain amount of work, and thus, the work done arguably has value.
- Around the same time, Nick Szabo, another prominent computer scientist, came up with the concept of BitGold, which was never implemented in practice, but has been called a direct precursor to the Bitcoin architecture. Nick Szabo described his idea as follows:
In a BitGold network, solved cryptographic puzzles would be sent to the community, and, if accepted, the work would be credited to the person who had done it. This would then translate into newly generated digital coins. A new puzzle would only be released once a solution to the previous one was found and accepted by the community. In the process of solving such tasks, community members who come up with solutions would own growing amounts of new digital property. This aspect of the system provided a way for the network to verify and timestamp new coins. Unless a majority of the parties agreed to accept new solutions, they couldn't start on the next puzzle. Nick Szabo made a good point about digital value creation, given that the computational work required in the process is unforgeable. Until a network participant came up with a solution, no extra coins were issued. Therefore, this digital money supply was scarce, difficult to produce, and could be securely stored and transferred. This is a very close concept to Bitcoin mining.
- Another prominent figure in the early cryptocurrency community was Hal Finney. He was a computer scientist, who later participated in the first ever Bitcoin transaction with Satoshi. Hal Finney made a valuable contribution to the growing body of research into digital currency systems, introducing Reusable Proof-of-Work, building upon the Proof-of-Work concept introduced earlier. The purpose of Reusable Proof-of-Work was as token money. Just as a gold coin's value is underpinned by the value of the raw gold needed to make it, the value of a Reusable Proof-of-Work token is guaranteed by the value of the work done in order to generate it. And, as we already know, the value of the work is backed by the real-world computer resources and electricity required to do it. He referenced Nick Szabo's Bit Gold idea of digital goods that are provably costly to create.
All of the scientific milestones that were mentioned previously, and several others, contributed a great deal to the advance of digital currencies and the birth of Bitcoin. Most of the previous projects had one or more features of Bitcoin, but none of them had a complete and effective solution to the problem that Bitcoin eventually solved. They mostly relied on a centralized payment settlement system, not much different from the way the traditional financial system works.
Now, with all of this background in mind, let's dive straight into the workings of Bitcoin.