Blockchain, a distributed ledger technology, is experiencing a surge of popular interest in the context of various domains, including electronic health records, supply chains, cryptocurrencies, and electronic voting, to name a few. A blockchain is defined as a system of record to transact value in a peer-to-peer fashion. It achieves its purpose as a foundational technology for removing transaction friction by mitigating issues of control, trust, and value. Blockchain may be described as a disruptive technology across multiple industries. A well-written book on this topic would be both relevant and timely.
This book is organized in six chapters. Each chapter ends with a summary section and a list of references, which are typically links to online sources. There is an index comprised of nine pages. A glossary would have benefited readers, as jargon is used extensively.
The introduction in chapter 1 provides background and the origins of blockchain (attributed mostly to Bitcoin). The rationale behind Bitcoin is described as a separation from traditional banking and transaction systems, which require third-party transaction brokers such as bankers, realtors, title companies, and escrow companies. There is a brief discussion of centralized versus decentralized systems. The five layers of blockchain are identified--application, execution, semantic, propagation, and consensus layers--and are described in turn.
Chapter 2 takes the next 115 pages to describe how blockchain works. Blockchain is described as the integration of three separate domains: cryptography, game theory, and computer science. Cryptography technology is discussed in depth with regard to encryption and hashing algorithms. This section is augmented by lengthy code snippets. The section on game theory is interesting, but not essential to the discussion. There is little text devoted to supporting the relationship between blockchain and game theory. The third element, computer science, provides an overlap with the discussion on cryptography and moves forward with a limited discussion of data structures. A detailed discussion of the Merkle tree ensues with another lengthy code snippet. Several pages are devoted to desirable properties of blockchain systems and distributed consensus mechanisms.
Chapter 3 is devoted to a detailed discussion of Bitcoin. Finally, chapters 4 through 6 are devoted to Ethereum and Ethereum application development.