Mastering Blockchain
上QQ阅读APP看书,第一时间看更新

The history of blockchain and Bitcoin

Blockchain was introduced with the invention of Bitcoin in 2008. Its practical implementation then occurred in 2009. For the purposes of this chapter, it is sufficient to review Bitcoin very briefly, as it will be explored in great depth in Chapter 6, Introducing Bitcoin. However, it is essential to refer to Bitcoin because, without it, the history of blockchain is not complete.

The events that led to blockchain

Now we will look at the early history of computing and computer networks and will discuss how these technologies evolved and contributed to the development of Bitcoin in 2008. We can view this in chronological order:

  • 1960s – Invention of computer networks
  • 1969 – Development of ARPANET
  • 1970s – Early work on secure network communication including public key cryptography
  • 1970s – Cryptographic hash functions
  • 1973 – Extension of ARPANET to other geographic locations
  • 1974 – First internet service provider, Telenet
  • 1976 – Diffie–Hellman work on securely exchanging cryptographic keys
  • 1978 – Invention of public key cryptography
  • 1979 – Invention of Merkle Trees (hashes in a tree structure) by Ralph C. Merkle
  • 1980s – Development of TCP/IP
  • 1980 – Protocols for public key cryptosystems, Ralph C. Merkle
  • 1982 – Blind signatures proposed by David Chaum
  • 1982 – The Byzantine Generals Problem (Bitcoin can be considered a solution to the Byzantine Generals Problem; however, the original intention of the Bitcoin network was to address the previously unsolved double-spending problem)
  • 1985 – Work on elliptic curve cryptography by Neal Koblitz and Victor Miller
  • 1991 – Haber and Stornetta work on tamper proofing document timestamps. This can be considered the earliest idea of a chain of blocks or hash chains
  • 1992 – Cynthia Dwork and Moni Naor publish Pricing via Processing or Combatting Junk Mail. This is considered the first use of Proof of Work (PoW)
  • 1993 – Haber, Bayer, and Stornetta upgraded the tamper-proofing of document timestamps system with Merkle trees
  • 1995 – David Chaum's Digicash system (an anonymous electronic cash system) started to be used in some banks
  • 1998 – Bit Gold, a mechanism for decentralized digital currency, invented by Nick Szabo. It used hash chaining and Byzantine Quorums
  • 1999 – Emergence of a file-sharing application mainly used for music sharing, Napster, which is a P2P network, but was centralized with the use of indexing servers
  • 1999 – Development of a secure timestamping service for the Belgian project TIMESEC
  • 2000 – Gnutella file-sharing network, which introduced decentralization
  • 2001 – Emergence of BitTorrent and Distributed Hash Tables (DHTs)
  • 2002 – Hashcash by Adam Back
  • 2004 – Development of B-Money by Wei Dei using hashcash
  • 2004 – Hal Finney, the invention of the reusable PoW system
  • 2005 – Prevention of Sybil attacks by using computation puzzles, due to James Aspnes et al.
  • 2009 – Bitcoin (first blockchain)

The aforementioned technologies contributed in some way to the development of Bitcoin, even if not directly; the work is relevant to the problem that Bitcoin solved. All previous attempts to create anonymous and decentralized digital currency were successful to some extent, but they could not solve the problem of preventing double spending in a completely trustless or permissionless environment. This problem was finally addressed by the Bitcoin blockchain, which introduced the Bitcoin cryptocurrency.

It should be noted that other concepts such as state machine replication (the SMR problem), introduced in 1978 by Leslie Lamport and formalized in 1980 by Fred Schneider, are also solvable by Bitcoin. Bitcoin solves the SMR problem (probabilistically) by allowing the replication of blocks and ensuring consistency via its PoW consensus mechanism.

The SMR, or state machine replication problem, is a technique used to provide fault-tolerant replication in distributed systems. We will explore this in greater detail in Chapter 5, Consensus Algorithms.

Now we will discuss some of the major milestones in the history of blockchain in more detail.

Electronic cash

The concept of electronic cash (e-cash), or digital currency, is not new. Since the 1980s, e-cash protocols have existed that are based on a model proposed by David Chaum.

Just as understanding the concept of distributed systems is necessary to comprehend blockchain technology, the idea of e-cash is also essential in order to appreciate the first, and astonishingly successful, application of blockchain, Bitcoin, and more broadly, cryptocurrencies in general.

Two fundamental e-cash system issues need to be addressed: accountability and anonymity.

Accountability is required to ensure that cash is spendable only once (addressing the double-spending problem) and that it can only be spent by its rightful owner. The double-spending problem arises when the same money can be spent twice. As it is quite easy to make copies of digital data, this becomes a big issue in digital currencies as you can make many copies of the same amount of digital cash.

Anonymity is required to protect users' privacy. With physical cash, it is almost impossible to trace back spending to the individual who actually paid the money, which provides adequate privacy should the consumer choose to hide their identity. In the digital world, however, providing such a level of privacy is difficult due to inherent personalization, tracing, and logging mechanisms in digital payment systems such as credit card payments. This is indeed a required feature for ensuring the security and safety of the financial network, but it is also often seen as a breach of privacy.

This is due to the fact that end users do not have any control over who their data might be shared with, even without their consent. Nevertheless, this is a solvable problem and cryptography is used to address such issues. Especially in blockchain networks, the privacy and anonymity of the participants on the blockchain are sought-after features. We will learn more about this in Chapter 4, Public Key Cryptography.

David Chaum solved both of these problems during his work in the 1980s by using two cryptographic operations, namely, blind signatures and secret sharing. These terminologies and related concepts will be discussed in detail in Chapter 4, Public Key Cryptography. For the moment, it is sufficient to say that blind signatures allow for signing a document without actually seeing it, and secret sharing is a concept that enables the detection of double-spending, that is, using the same e-cash token twice.

In 2009, the first practical implementation of an e-cash system named Bitcoin appeared. The term cryptocurrency emerged later. For the very first time, it solved the problem of distributed consensus in a trustless network. It used public key cryptography with a PoW mechanism to provide a secure, controlled, and decentralized method of minting digital currency. The key innovation was the idea of an ordered list of blocks composed of transactions which is cryptographically secured by the PoW mechanism to prevent double-spending in a trustless environment. This concept will be explained in greater detail in Chapter 6, Introducing Bitcoin.

Other technologies used in Bitcoin, but which existed before its invention, include Merkle trees, hash functions, and hash chains. All these concepts are explained in appropriate depth in Chapter 4, Public Key Cryptography.

Looking at all the technologies mentioned previously and their relevant history, it is easy to see how concepts from e-cash schemes and distributed systems were combined to create Bitcoin and what now is known as blockchain. This concept can also be visualized with the help of the following diagram:

Figure 1.4: The various ideas that supported the invention of Bitcoin and blockchain

With the emergence of e-cash covered, along with the ideas that led to the formation of Bitcoin and blockchain, we can now begin to discuss blockchain itself.