Skip to main content
main-content
Top

About this book

In 25 concise steps, you will learn the basics of blockchain technology. No mathematical formulas, program code, or computer science jargon are used. No previous knowledge in computer science, mathematics, programming, or cryptography is required. Terminology is explained through pictures, analogies, and metaphors.

This book bridges the gap that exists between purely technical books about the blockchain and purely business-focused books. It does so by explaining both the technical concepts that make up the blockchain and their role in business-relevant applications.

What You'll Learn

What the blockchain is

Why it is needed and what problem it solves

Why there is so much excitement about the blockchain and its potential

Major components and their purpose

How various components of the blockchain work and interact

Limitations, why they exist, and what has been done to overcome them

Major application scenarios

Who This Book Is For

Everyone who wants to get a general idea of what blockchain technology is, how it works, and how it will potentially change the financial system as we know it

Table of Contents

Terminology and Technical Foundations

Frontmatter

Step 1. Thinking in Layers and Aspects

Analyzing systems by separating them into layers and aspects
Abstract
This step lays the foundation of our learning path through the blockchain by introducing a way to organize and standardize our communication about technology. This step explains how you can analyze a software system and why it is important to consider a software system as a composition of layers. Furthermore, this step illustrates what you can gain from considering different layers in a system and how this approach helps us to understand the blockchain. Finally, this step provides a short introduction to the concept of software integrity and highlights its importance.
Daniel Drescher

Step 2. Seeing the Big Picture

Software architecture and its relation to the blockchain
Abstract
This step not only provides the big picture in which the blockchain is located, but it also highlights its location within the big picture.
Daniel Drescher

Step 3. Recognizing the Potential

How peer-to-peer systems may change the world
Abstract
This step deepens our understanding of the purpose of the blockchain by considering a specific kind of distributed system: the peer-to-peer system.
Daniel Drescher

Why the Blockchain Is Needed

Frontmatter

Step 4. Discovering the Core Problem

How to herd a group of independent computers
Abstract
This step discovers the subtle relation between trust and integrity of purely distributed peer-to-peer systems. As a result, this step will deepen your understanding of the importance of integrity and uncovers the major problem to be solved by the blockchain. Finally, this step describes the environment in which the blockchain is expected to provide the most value.
Daniel Drescher

Step 5. Disambiguating the Term

Four ways to define the blockchain
Abstract
This step will turn your attention to the definition of the term "blockchain" and explain its different usages. This step will present a provisional definition of blockchain, which will guide you through the remainder of this book. Finally, this step explains why the management of ownership is a prominent application case of the blockchain.
Daniel Drescher

Step 6. Understanding the Nature of Ownership

Why we know what we own
Abstract
This step deepens the relation between the blockchain and its prominent use case of managing ownership. In particular, this step reveals the connection between trust and integrity of purely distributed peer-to-peer systems, on the one hand, and managing ownership, on the other hand. In addition, this step also provides some general insights into the nature of ownership and introduces basic security concepts.
Daniel Drescher

Step 7. Spending Money Twice

Exploiting a vulnerability of distributed peer-to-peer systems
Abstract
In the previous step, you learned about the relation between purely distributed peer-to-peer systems and the most prominent use case of the blockchain as a means to manage ownership. You also learned that the integrity of a distributed peer-to-peer system of ledgers is found in its ability to make true statements about ownership and to ensure that only the lawful owner can transfer his or her property rights to others. But what does this statement mean in real life? What happens if integrity is violated? This step considers these questions in more details. In particular, this step introduces one of the most important examples of violated integrity in distributed peer-to-peer systems: the double spending problem.
Daniel Drescher

How the Blockchain Works

Frontmatter

Step 8. Planning the Blockchain

The basic concepts of managing ownership with the blockchain
Abstract
The preceding steps uncovered the relation between trust, integrity, purely distributed peer-to-peer systems, and the blockchain. As a result, you now have a good understanding of what the blockchain is, why it is needed, and what problem it solves. However, you still do not know how the blockchain works internally. This step provides a first impression of how the blockchain works by explaining the general application scenario that will guide you through the succeeding steps. It also highlights the major tasks in designing a blockchain for managing ownership and provides an overview of its major concepts.
Daniel Drescher

Step 9. Documenting Ownership

Using the course of history as evidence for the current state of ownership
Abstract
This step considers the task of describing ownership in a way that is useful for a purely distributed peer-to-peer system of ledgers. This step explains how the blockchain documents ownership and handles the transfer of ownership. Additionally, this step points out the importance of ordering when documenting the transfer of ownership. Finally, this step highlights the importance of the integrity of transaction data for the integrity of the whole system.
Daniel Drescher

Step 10. Hashing Data

Identifying data from their digital fingerprint
Abstract
This step explains one of the most important base technologies of the blockchain: hash values. It discusses important properties of cryptographic hash functions and introduces patterns of applying hash functions to data.
Daniel Drescher

Step 11. Hashing in the Real World

A tale of comparing data and creating computational puzzles
Abstract
Step 10 introduced cryptographic hash functions and discussed different patterns of applying hash functions to data. Step 10 may have appeared to be a dry intellectual exercise, but it is actually of highly practical relevance. Hence, this step focuses on the application of hash functions and hash values in the real world. It considers major use cases of hash functions in real life and explains the idea behind them. This step also sketches why these use cases work out as intended. Finally, this step points out where the blockchain uses hash values.
Daniel Drescher

Step 12. Identifying and Protecting User Accounts

A gentle introduction to cryptography
Abstract
Besides hash functions, the blockchain uses another base technology extensively: asymmetric cryptography. It is the foundation for identifying users in the blockchain and protecting their property. Cryptography is often considered complicated and hard to understand. Hence, this step focuses on introducing cryptography in a gentle way that is easy to comprehend and sufficient for understanding the security concept of the blockchain.
Daniel Drescher

Step 13. Authorizing Transactions

Utilizing the digital equivalent to handwritten signatures
Abstract
Step 12 provided a gentle introduction to asymmetric cryptography. It also pointed out that the blockchain uses public cryptographic keys as account numbers and utilizes the public-to-private approach of asymmetric cryptography for transferring ownership among accounts. However, that was only half of the story. The blockchain needs to ensure that only the lawful owner can transfer his or her property to other accounts. This is the point were the concept of authorization enters the scene. Hence, this step explains how asymmetric cryptography is used within the blockchain for authorizing transactions. In particular, this step is devoted to the concept of digital signatures, which utilize the private-to-public approach of asymmetric cryptography.
Daniel Drescher

Step 14. Storing Transaction Data

Building and maintaining a history of transaction data
Abstract
Based on the previous five steps, you should now be able to trace ownership based on the whole history of transaction data and to describe individual transfers of ownership in a secure way by authorizing transactions with digital signatures and identifying user accounts uniquely. However, I have not spent any time discussing how to store all the transaction data that make up the transaction history in a secure fashion. This is the point where the blockchain-data-structure enters the discussion. This step introduces the blockchain-data-structure and explains how it is constructed.
Daniel Drescher

Step 15. Using the Data Store

Chaining blocks of data
Abstract
Step 14 introduced the blockchain-data-structure. It turns out that the blockchain-data-structure consists of two major components: an ordered chain of block headers and Merkle trees containing transaction data. This data structure was invented with the goal of storing transaction data in a secure fashion. But what does storing data in a secure fashion mean in this context? Answering this question is the purpose of this step. This step points out the consequences of changing data in the blockchain and it illustrates how the blockchain-data-structure detects changes. Furthermore, this step highlights the power of hash references when storing data in a change-sensitive manner. Finally, this step explains how to add new blocks to the blockchain-data-structure in a correct way.
Daniel Drescher

Step 16. Protecting the Data Store

Discovering the power of immutability
Abstract
This step explains how the blockchain-data-structure can be used to prepare the history of transaction data to be shared and distributed in an untrustworthy environment without having to fear that dishonest members of a peer-to-peer system can manipulate its content for its own advantage.
Daniel Drescher

Step 17. Distributing the Data Store Among Peers

When computers gossip
Abstract
This step focuses on establishing a purely distributed peer-to-peer system that allows sharing of information about transactions.
Daniel Drescher

Step 18. Verifying and Adding Transactions

Ruling a group of computers with carrot and stick
Abstract
This step focuses on what happens once a node receives transaction data and how to ensure that only valid transaction data and blocks are added to the blockchain-data-structure.
Daniel Drescher

Step 19. Choosing a Transaction History

Let computers vote with their feet
Abstract
This step focuses on resolving conflicts among the different versions of the transaction history maintained by the individual nodes of the system.
Daniel Drescher

Step 20. Paying for Integrity

Neither integrity nor the creation of trust is without costs
Abstract
This step focuses on how nodes are compensated for their contribution to the integrity of the system.
Daniel Drescher

Step 21. Bringing the Pieces Together

More than just the sum of its pieces
Abstract
This step is the summit of this book’s intellectual journey toward an understanding of the blockchain. This step brings all these pieces and concepts together. As a result, you will gain not only an understanding of the blockchain as a whole but also see how the different concepts work together.
Daniel Drescher

Limitations and Their Solutions

Frontmatter

Step 22. Seeing the Limitations

Even a perfect machine has limitations
Abstract
This step highlights and explains major limitations of the blockchain and why these limitations cause significant hurdles for its commercial use. This step also sketches how the limitations of the blockchain can be overcome.
Daniel Drescher

Step 23. Reinventing the Blockchain

The emergence of four different kinds of blockchain
Abstract
This step explains the root of the major technical limitations of the blockchain and explains how they have been overcome. This step will also explain the emergence of four distinct versions of the blockchain and their differences and discusses the consequences of the emergence of these versions of the blockchain.
Daniel Drescher

Using the Blockchain, Summary, and Outlook

Frontmatter

Step 24. Using the Blockchain

A tool with thousands of applications
Abstract
This step explores in more detail how the blockchain can be used. It also describes generic application patterns of the blockchain and relates them to its properties. Additionally, this step sketches some specific applications of the blockchain and explains what details should be considered when analyzing a specific blockchain application.
Daniel Drescher

Step 25. Summarizing and Going Further

Further developments, alternatives, and the future of the blockchain
Abstract
This step finishes this intellectual journey through the blockchain universe. After highlighting areas of further development and research, this step considers possible accomplishments of the blockchain within society. Before concluding with some comments about possible future trends in using the blockchain, this step also discusses some of its possible disadvantages.
Daniel Drescher
Additional information