Tatiana Gayvoronskaya, Christoph Meinel - Blockchain - Hype or Innovation-Springer (2021)
Tatiana Gayvoronskaya, Christoph Meinel - Blockchain - Hype or Innovation-Springer (2021)
Tatiana Gayvoronskaya, Christoph Meinel - Blockchain - Hype or Innovation-Springer (2021)
Christoph Meinel
Blockchain
Hype or Innovation
Blockchain
Tatiana Gayvoronskaya • Christoph Meinel
Blockchain
Hype or Innovation
Tatiana Gayvoronskaya Christoph Meinel
Hasso Plattner Institute for Digital Hasso Plattner Institute for Digital
Engineering gGmbH Engineering gGmbH
Potsdam, Germany Potsdam, Germany
This Springer imprint is published by the registered company Springer Nature Switzerland AG.
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface
v
vi Preface
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 1
1.1 Trust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 2
1.2 Resource Allocation and Administration . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 3
2 What Is Hidden Behind the Term “Blockchain”? .. . .. . . . . . . . . . . . . . . . . . . . 5
2.1 Understanding Blockchain: A Simple Example . . .. . . . . . . . . . . . . . . . . . . . 6
2.2 Bitcoin .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 9
3 Technical Basics for a Better Understanding of Blockchain
Technology .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 15
3.1 Cryptography .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 15
3.1.1 Digital Signatures and Hash Values. . . . . . . .. . . . . . . . . . . . . . . . . . . . 16
3.1.2 User Identification and Addresses . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 18
3.2 Exchange Among Equals . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 20
3.2.1 Obfuscation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 25
3.2.2 Data Protection and Liability. . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 27
3.3 Consensus Finding .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 28
4 Where Does the Hype End, and Where Does the Innovation of
Blockchain Technology Begin? . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 35
4.1 Traceability, Forgery Protection, Reliability . . . . . . .. . . . . . . . . . . . . . . . . . . . 36
4.1.1 The Smallest Component in a Blockchain.. . . . . . . . . . . . . . . . . . . . 38
4.1.2 Block and Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 42
4.1.3 Updating the Blockchain . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 46
4.1.4 New Blockchains and Alternatives . . . . . . . .. . . . . . . . . . . . . . . . . . . . 50
4.2 Challenges of Blockchain Technology .. . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 52
4.2.1 Possible Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 52
4.2.2 Scalability .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 56
vii
viii Contents
model. The name already gives us a picture of how the model works: you (the client)
can obtain specific services by making a request for the service (at its server).
A dissolution of the mediator necessarily means the dissolution or the division
of trust, management and resources among all parties involved. A so-called network
democracy is then the consequence, which is also known as a decentralized network
or peer-to-peer model (P2P). In such a network model, the parties involved take the
place of the intermediary or in our case the service provider. This means that all
parties who interact with each other in the framework of a service (e.g., you and
the one to whom you want to transfer a sum of money) are simultaneously service
users and service providers. The question then arises as to who is now responsible
for the smooth workings of the service. For example, what if the party to whom you
address the transfer is a new IT provider from abroad, whom you selected based on
good Internet reviews, but with whom you have not had any contact to this time. To
put it bluntly, you don’t really trust the other party. So, who will protect you if there
is a scammer hiding under the mask of the IT service provider?
1.1 Trust
Trust is a central issue in P2P networks. Without a so-called trusted third party, the
users of a service are forced to either trust each other or to trust the system offering
the service. It is possible to handle this situation in different ways. Building mutual
trust could mean making use of the services dependent on certain conditions. For
instance that you and your communication partner carry out a video identification
process whereby you disclose your private information. This is, however, time
consuming and does not offer protection from fraud. Another option is to build a
trust network. For example, you are convinced of the professional competence of
a colleague and therefore feel certain that the service provider he recommends will
fulfill its promise. In this case, your participation in the system and the use of the
service are similarly subject to conditions – you must have someone in the system
whom you trust and who trusts you. Another way to build trust between parties
in a decentralized system is to engage in a mutual evaluation of the behavior of
all participants. In such a reputation-based system, participants can simply join or
leave the system at will since their participation is not subject to any conditions
(permissionless system). An example of a reputation-based system is the trading
platform eBay. However, to eliminate the opportunity for malicious users to give
other users false ratings, a decentralized system of this kind must be subject to
further restrictions.
1.2 Resource Allocation and Administration 3
Let us continue with the example of the online trading platform. The only difference
now is that we do not have a central authority through which all queries go and
to whom we can report a malicious user. We want to now use a decentralized
system in which users do not trust each other because they do not know each other.
Furthermore, they do not have to fulfill any other conditions (permissionless system)
to join the system and to use the service other then installing the app. In this case,
it would help us if certain system rules were in place that all users had to follow. At
the same time, it would be wrong for us to assume that all users act rationally and
follow the set rules strictly. For this reason, we would like to use the best-known
behavior control measures – reward and punishment. In practice, this means that all
users in our system are rewarded if they follows set rules, just as they are punished
if they violate the rules.
If the punishment is not a sufficient deterrent, malicious users will still try to
get around the rules and to manipulate our online trading platform. For example,
for such a user it is more worthwhile to sell one expensive TV multiple times and
subsequently have his account blocked when found out, and after that to establish
a new account, as to get a reward for being “honest” at half the price of the TV.
Since all users in our system are at the same time service providers, all follow
the same rules and have the same rights, all the resources (data on the products,
communications, transactions, etc.) are distributed to all users, verified by each user
and then saved. If such a malicious user sells the same product multiple times1
and the information on every sale (more specifically, the transaction) is spread to
all other users, they will then identify the fraud. However, if the malicious user
floods our online trading platform with numerous false identities (also known as a
Sybil attack), it will be hard for honest users to establish the truth. In this case it is
important that honest users make up the majority.
How large the majority must be was a question that had already occupied
scientists in the 1980s, as seen in the work by Leslie Lamport, Robert Shostak and
Marshall Pease [19]. These scientists described a tolerable ratio of malicious users
to honest users in a decentralized system.
The problem of finding a consensus in a decentralized network (i.e., in spite of the
contradictory informations/statements by malicious and honest users in reaching an
agreement) has become known as the “Byzantine Generals Problem” (see Sect. 3.3).
The more malicious users a decentralized system is able to tolerate, the more
robust it must be. Historically-speaking, such systems have been linked to a number
of conditions (permissioned systems), for example whether the number of system
users and/or their identities are generally known. In decentralized systems, such
as the Internet, such conditions would be inefficient as well as nearly impossible
to fulfill. In contrast, the Nakamoto consensus mechanism, which is anchored in
blockchain technology and was used for the first time in the Bitcoin system, also
works in networks that do not place restrictions on the number of system users or
on identifying them (permissionless system). This means, users are free to join and
leave the network as they choose [24].
In fact, the Nakamoto blockchain protocol is explicitly designed to work in a
network with message delays, and is in fact used in just such a network (the Internet)
[28]. This protocol contains several rules/algorithms that ensure the security of
blockchain technology against manipulation.
With this book, we would like to help you in forming your own opinion
about blockchain technology and thus be able to distinguish between what is truly
innovative about blockchain technology and what is nothing more than hype.
Chapter 2
What Is Hidden Behind the Term
“Blockchain”?
Abstract We now know about the basic challenges facing the secure use of
decentralized systems, and, by way of an example, have seen what has made
blockchain technology possible. Before we dive deeper into the subject matter, we
will attempt to gain a better understanding of blockchain technology by way of
a previous example. We also want to draw a demarcation line between the terms
Bitcoin and Blockchain.
The idea of a secure decentralized payment system already existed before Bitcoin
came along. However, none of the proposed approaches could prevail due to errors
either in the concept or because of problems with security.1
The blockchain technology on which the Bitcoin system is based, on the other
hand, enables a robust and secure decentralized system, without any precondi-
1 Such as the problem of double spending the same money (double spending problem – this would
be as if a banknote were copied and then issued/spent in duplicate form) and lack of security to
protect against a Sybil attack (in such an attack a malicious user assumes any number of false
identities) etc.
Let us consider blockchain technology using the example of the decentralized online
trading platform that was previously described. In this instance we already have
a decentralized system with numerous users spread all over the globe. The users
neither know each other nor do they trust each other. Our users do not have to
meet any conditions to join the system. To use the system, they only need to install
the corresponding app. Since all users of our system are simultaneously service
providers, and all have the same rights, all resources4 and the administration5 of
the system are allocated to every user. These are available to users via the app. To
2 Users are free to join and leave the network as they choose (permissionless system).
3 Information logging.
4 Data on the products, communication, transactions, etc.
5 Fixed regulations, verification of resources, establishing and managing of communication, etc.
2.1 Understanding Blockchain: A Simple Example 7
put it more precisely, besides containing all rules and functions every app also has
a database with an copy of all resources. For example, the sales advertisement you
have just created is sent to all users in the system and stored in the database of each
user.
In this way, all the users’ apps communicate together. They all exchange data,
check the data they receive and save it. Due to different delays, the data is distributed
at different periods of time on the Internet. As we do not have a centralized service
that records and manages the incoming data, we need an administration mechanism.
It must include a tamper-proof time stamping service to ensure the correct and
uniform order of information included in the system for all users. The following
example gives us an illustration of this.
Let’s assume you sold your TV on our online trading platform. Your app
creates a transaction with the sales data (e.g., sales object, buyer, price) and
sends it to all users on your address list. The apps of these users verify the
transaction sent from your app based on fixed rules. A copy of the transaction
is also saved and forwarded to all users in their address books. In this way,
your transaction spreads throughout the entire system. The buyer of your TV
receives the transaction from one of the users who had his address in the
address list. He carries out the same procedure in handling the transaction:
verify, save, and forward. During verification, it is determined by the buyer’s
app that the transaction is addressed to him and he visualizes the contents of
the transaction for the buyer in the user interface. Shortly after the purchase,
the buyer of your TV decides to resell the TV. When he has found a buyer, he
creates a new transaction and sends it out. Let us assume that your transaction
has not yet spread throughout the whole network and a user receives the
second transaction first. In this case, in the verification process he will declare
that the transaction is wrong, because according to the information stored in
the system (information in his app) the TV still belongs to you.
motivation for users to perform a computationally demanding task and thus to ensure
the security of the system.
This means that every user of our service is able to get a reward if he
cryptographically links copies of the content distributed in the system and saved
in his app (e.g., ads, transactions etc.). Our system would be far too slow if, every
time new content arrives, our users were to solve a computationally complex task
and would cryptographically link all contents individually with each other. To make
the process more efficient, our user will first merge multiple contents6 into a list of a
specified size (Bitcoin 1 MB, Ethereum7 approx. 27 kB) and create a cryptographic
“fingerprint” of the list (Merkle root8 ). The fingerprint along with other metadata,9
solution to the computationally complex cryptographic task and the “link” to the
existing content10 will be compiled in a list header. The list of the contents together
with the additional information (list header), is called the Block in blockchain
technology and the list header correspondingly the Block Header. The link to
the already existing contents is nothing more than a cryptographic “fingerprint” of
the block header of the previous block.
After a block is created, it is distributed to all users like the other content. Each
user verifies the block it has received, adds its copy to the last block in its database
and forwards it to the other users. Consequently, an ordered block chain is formed
– and thus the term Blockchain was born. The content that has already been
included in a new block is deleted from the buffer (memory pool) and remains saved
in block form in the users’ databases.
Since we have a decentralized system, it can happen that several users simul-
taneously solve the computationally complex cryptographic task and each create
and distribute a new block with the same contents. If these blocks comply with all
rules and refer to the same last block, it is possible that the chain will branch. This
branching is also known as a fork.
The solution for this is at the same time the most important rule in a blockchain-
based system: “The longest chain is valid because the workload there is corre-
spondingly higher.” This rule is also called the Nakamoto consensus (more
in Sect. 3.3). Due to the network delay, it takes different time to spread the blocks.
This means that the user who wants to create a new block, will link it to the block
that he received first. The reward is paid out only to the user whose block is in
the longest chain. Thus, after a time, only a single chain will prevail. The shortest
chain is ignored; its blocks are called orphan blocks (see Fig. 4.6). However,
the information contained11 therein does not expire. What is not yet contained in the
valid blocks, will be saved in the buffer (memory pool) of the user.
6 Information, values.
7 May 2020.
8 More in Sect. 4.1.1.
9 More in Sect. 4.1.2.
10 Information, values that have already been stored in the database of the app.
11 In the Bitcoin system, values in the form of transactions.
2.2 Bitcoin 9
Such an attack would be nearly impossible in the Bitcoin system, as the level of
difficulty of the cryptographic task is very high in comparison to other blockchain-
based systems and consequently requires an enormous energy expenditure (see
Sects. 3.3 and 4.1.3).
How these topics are related will be examined in the next chapters. Before we
turn to the technical foundations of blockchain technology, we will take a brief look
at the first blockchain application: the Bitcoin system.
2.2 Bitcoin
The term Bitcoin is associated with the first application of the blockchain tech-
nology – that is, a decentralized and cryptographically secured payment system.
10 2 What Is Hidden Behind the Term “Blockchain”?
13 Fiat currency, or fiat money, is money that is not covered by any assets. The money is used as a
medium of exchange, but has no intrinsic value. Today’s currency systems are usually not covered
by a commodity. For example, money issued by a central bank, such as euros or dollars, is called
fiat money.
14 BTC is the abbreviation of the Bitcoin currency. Bitcoin has several decimal metric units. For
example, 0.1 BTC is a deci-bitcoin (dBTC), 0.01 BTC is a centi-bitcoin (cBTC), 0.001 BTC is a
milli-bitcoin (mBTC), 0.000001 BTC is a micro-bitcoin (µBTC) and 0.00000001 BTC a Satoshi
– the smallest possible unit.
15 Users are free to join and leave the network at will (permissionless system).
16 A computationally-intensive cryptographic task for each block in the chain.
17 Comparable to a bank account number; more in Sect. 3.1.2.
2.2 Bitcoin 11
account number – which are difficult to trace back to the end user (see Sects. 3.1.2
and 4.2). Besides pseudonyms, further concealment tactics are available for the
Bitcoin system, for example:
• Use of the anonymous network TOR [183] for concealment of IP addresses,
• Anonymous mixing services (also called tumblers) are intended to conceal
the receiver of the transaction. The bitcoins to be transferred are divided into
several parts and sent to multiple addresses suggested by the mixing service
provider. Subsequently, the same number of new bitcoins are then sent from these
addresses to the actual recipient. This service naturally requires the trust of the
user and is not legal in every country.
Just as many other currencies, bitcoins can be bought and traded via platforms in
the Internet for a fee, for example through CoinBase, BitPay or AnycoinDirect. As
the demand for bitcoins fluctuates strongly, the price is also dependent on the strong
fluctuation. In the past, just in the time span of one week, the price changed by up to
25 percent. In recent years, the rate of the bitcoin has set new records. In December
2017, the value of a bitcoin (BTC) stood at EUR 16,000 for a short time, but fell
to EUR 5,500 at the beginning of February 2018. In January 2019, a bitcoin cost
approx. EUR 3,000 and in January 2020 the bitcoin rate exceeded the EUR 7,000
threshold.
The Bitcoin system ensures a constant inflow of new bitcoins. These are
distributed as a reward in the context of block creation to the block creating users.
In 2013, already 8 million bitcoins were in circulation and in June 2019 nearly 18
million. The upper limit set by Satoshi Nakamoto in the Bitcoin architecture of 21
million bitcoins will be reached to 99 percent in 2032 [39]. Endless inflation is
prevented from occurring due to the defined upper limit of existing bitcoins [61].
In order to manage (transfer, receive, and store) bitcoins, the user needs a Bitcoin
“wallet.” Mobile, desktop and web applications are available for the wallet. There
are also physical Bitcoin wallets, such as hardware and paper wallets18 (Figs. 2.1
and 2.2). The cryptocurrency wallets analyze the blockchain and then, to give the
user a better overview, display the user’s incoming and outgoing transactions and
current supply of money.
The Bitcoin currency is already accepted by many companies as a means of
payment – from IT service providers to those companies in the gastronomy sector
(see Figs. 2.3 and 2.4).
After this brief overview of blockchain technology and the Bitcoin system, we
will delve deeper into the subject matter in the following chapters. To do this, let’s
first look at the basics necessary to understand blockchain technology.
18 More on the subject of the hardware wallet can be found in Sect. 4.2.
12 2 What Is Hidden Behind the Term “Blockchain”?
Abstract The context for the subject of blockchain has now been established.
Some readers perhaps may not have a technical background to allow for a complete
understanding of the entire mechanism of blockchain technology. In this chapter, we
would like to take a closer look at the individual approaches that make up blockchain
technology and how they are composed.
3.1 Cryptography
The term cryptography comes from ancient Greek and means “secret writing”
[147]. But it also describes the science that deals with the security of messages
(encryption, decryption, checksums, etc.). The classic task of cryptography is to
make a message incomprehensible for outsiders [3]. In the course of its long history1
several approaches have been established in the field of cryptography. One of
the most important developments in cryptography is Kerckhoffs’s principle, which
describes the transition of the secrecy of the algorithm to the secrecy of the key.
The security of a cryptographic procedure is based solely on the secrecy of the key. –
Kerckhoffs’s principle [10, 16]
1 Already 3,000 years before we began to calculate time, cryptography was used in ancient Egypt
[147].
In this way, an encryption procedure can be made public and examined for
weaknesses by experts worldwide and improved. Kerckhoffs’s principle is applied
to the so-called symmetric-key algorithms (AES, DES, IDEA). Thus, a message
is encrypted and decrypted using the same key. This means that the sender as
well as the recipient must have the key. The problem is that the key must be
kept secure, and at the same time it must be exchanged in secure way between
the communication partners. This gets even more complicated if we want to have
multiple encrypted communications. In this case, we would need a different key
for each. The asymmetric-key algorithm stands in contrast to this procedure. Also
known as asymmetric cryptography or public-key cryptography, it relies on a key
pair – a key available to the public for encryption and a secret key for decryption.
In blockchain technology, digital signatures from the public-key cryptography
and cryptographic hash functions from the checksum technique are used.
The basic idea in public-key cryptography is that all participants who engage in
encrypted communication have a different pair of keys, instead of a common secret
key, for encrypting and decrypting messages. Each participant has a secret key,
also called a private key, and a public key. The public key is freely available to
all communication partners. The secret key must – as the name suggests – remain
secret and is used to decrypt and sign messages.
Let us consider an example with two interaction partners who we shall call
Alice and Bob. Alice wants to send a message to Bob. Alice encrypts the
message with Bob’s public key before sending it. Only Bob is able to decrypt
the message with his private key (Fig. 3.1) [11].
By signing the message, Alice confirms that it has actually come from her
(she uses her private key to do this). Bob can confirm this by verifying Alice’s
signature using Alice’s public key (Fig. 3.2).
3.1 Cryptography 17
Hello Bob!
Hash function
Signed message
being sent
Hash functions are one-way functions. This means that the mathematical cal-
culation is simple in one direction2 but very difficult in the opposite direction,3 if
not nearly impossible [11]. A hash function converts an amount of data of various
lengths into a hexadecimal string of a fixed length. The hash value consists of
different combinations of numbers and letters between 0 and 9 and between A and
F (as a substitute for the hexadecimal numbers 10 to 15). This procedure makes it
possible to identify a message relatively clearly4 and easily, without revealing the
message contents. For this reason, the hash value is often called a fingerprint.
The most common hash function used in blockchain technology is SHA-256
(Secure Hash Algorithm), where 256 indicates the length of the hash value in bits.
Even the smallest change to the message results in a completely different hash value.
The following example shows the great differences in the SHA-256 algorithm hash
values based on variations of the name Alice:
• Alice
3bc51062973c458d5a6f2d8d64a023246354ad7e064b1e4e009ec8a0699a3043
• Alice1
9d328d8b7ac56e1f71ce94ed3c7975d63c8b6f1a54d5186de8881cf27dd8b3a9
• alice
2bd806c97f0e00af1a1fc3328fa763a9269723c8db8fac4f93af71db186d6e90
In blockchain technology, digital signatures are used to confirm that the trans-
actions are derived from one’s own resources. Since hash values allow a relatively
clear and simple identification of the data, they are used as references in blockchain
technology. For example, in the third Bitcoin block we find a reference to the second
block. This reference is the SHA-256 hash value of the second block and looks like
this: 000000006a625f06636b8bb6ac7b960a8d03705d1ace08b1a19da3fdcc99ddbd.
Not only is an unambiguous identification and referencing of the blocks possible
through this procedure, but it also ensures that the block contents are protected
against manipulation.
For the purpose of user identification special pseudonyms are used in many
blockchain applications. The pseudonyms are used simultaneously in many
blockchain applications as “account numbers.” They are therefore also called
addresses (e.g., Bitcoin addresses). Originally in the Bitcoin system it was possible
to send bitcoins to IP addresses [69]. However, this also opened up opportunities
2 Calculating a hash value from a plain text message, for example from the name Alice.
3 Calculating the original message only using the hash value and the hash algorithm.
4 Collisions are very rate, but not unheard of. The collision resistance varies depending on the hash
functions.
3.1 Cryptography 19
for attack. In order to credit a user with a Bitcoin value, cryptographic methods are
used exclusively in the creation of addresses. To make this possible, a cryptographic
key pair is generated at the user.5 The private key is used for signing transactions6
(confirmation of ownership) and the public key is used for generating addresses.
The key pair is generated in the Bitcoin system, as in many other cryptocurrencies
(e.g., Litecoin, Dogecoin, etc. [69]) with the ECDSA public key procedure (Elliptic
Curve Digital Signature Algorithm) based on elliptic curves.7 First the private
key is generated, which represents a random number. The public key is derived
from the private key and then “hashed.”8 In the end, the address is a 160-bit
alphanumeric value (e.g., 16UpLN9Risc3QfPqBMvKofHfUB7wKtjvS). This is
why such addresses are also called a “Pay To Public Key Hash Address” or a P2PKH
address (see Fig. 3.3).
Some blockchain applications offer so-called multi-signature addresses. Several
private keys are generated for this purpose [55] with the intention of increasing
security. The recipient, who has received assets, must own all of the necessary
private keys in order to use the assets that he has received. In a company that
accepts bitcoins, multi-signature addresses can, for example, be used to confirm
the expenditures of individual employees after the approval by controlling. In this
case, both the employee and the controller each have their own private key for one
shared Bitcoin address [63].
Since generally all information (in the Bitcoin system, e.g. transaction) are public
in a blockchain9 system for all users, it is always possible to track the previous owner
(the P2PKH address) as well as the entire “history” of a value and to see all of the
succession on the public key (RIPEMD-160 and SHA-256) and the hash result is encoded
according to the Base58 scheme (letters and numbers with the characters 0 (zero), O (capital o), I
(capital i) and l (small L)).
9 As applies to the public blockchain and the consortium blockchain (see Sect. 4.1.4).
20 3 Technical Basics for a Better Understanding of Blockchain Technology
transactions carried out with a specific address.10 Users are therefore advised to use
their addresses only once and to generate a new address for each new transaction
[52].
Each user-address has its own set of values.11 It is also possible to use multiple
wallets for different purposes. These generally contain the following information:
• a cryptographic key pair (or also several),
• an address generated using the key pair,
• a list of transactions carried out by and addressed to the user,
• other functionalities that depend on the provider of the software.
It is important, above all, that the users sufficiently protect their private key.
Because the one who has the private key is allowed to trade with the values bound
to it, more specifically to the P2PKH address (further information in Sect. 4.1.1).
10 This expresses the original idea of a blockchain system as a secure, decentralized register.
11 These values can only be traded if the user has the corresponding private key(s) that match(es)
the user address.
12 A P2P network – peer-to-peer network – is a computer network in which all computers work
together on an equal basis. This means that each computer can offer other computers functions
and services and, on the other hand, may use functions, resources, services, and files offered by the
other computers. The data is distributed across many computers. The P2P concept is a decentralized
concept, without a centralized server. Each computer in such a network can be connected with
several other computers [144].
13 The term blockchain here refers to all of the transactions that have ever been carried out in
the respective system. This affects the public blockchain and the consortium blockchain (see
Sect. 4.1.4).
3.2 Exchange Among Equals 21
of Things (IoT) the nodes are, however, IoT devices or IoT gateways that interact
with each other in the decentralized network.
In P2P networks, communication takes place via an unencrypted Internet
connection (see Fig. 3.4).
Because P2P networks have no authentication mechanisms nor a central adminis-
tration point for users, the usual methods implemented by P2P networks for finding
other nodes and for disseminating information are carried out (see Fig. 3.5) [4].
Basically, in a blockchain system14 all nodes are “created equal” and can be both
clients (service users) and servers (service providers). If we look at the size of the
Bitcoin Blockchain (in May 2020: 277 GB), it is understandable that not every user
is able to have enough resources for storage and verification. The application should
be as “lean” as possible, especially for mobile users. Thus in a blockchain system
there are two types of users [4]:
• “Servers,” or full nodes have both incoming and outgoing connections to
other users. This means that they “ask” other users for a connection using their
14 Applies to the public blockchain and the consortium blockchain (see Sect. 4.1.4).
22 3 Technical Basics for a Better Understanding of Blockchain Technology
User 1 User 1
User 2
User n+1
User 2 User n+2
User 3
Server
User 4
User 4 User n
IP addresses, or they are asked by other users for a connection. The full users
save the entire blockchain15 and are involved in the verification process.
• “Clients,” or lightweight nodes (light nodes, thin clients or, more rarely,
SPV16 nodes) are the most common17 users in blockchain-based systems. These
only have outgoing connections and only save a part of the blockchain [13].
They set up a connection to full nodes to get information that only affects them.
Additionally, users who have a different IP address externally as, for example,
inside their company network18 are among the clients.
Both types of users (client and server) in the Bitcoin system support eight
outgoing connections to other users. A full Bitcoin node supports additionally up to
117 incoming connections. This division makes sense both for reasons of security19
as well as for reasons of scalability.20 We find the same division, only with other
numbers, in other blockchain-based systems, such as e.g., Ethereum.
15 Here the term blockchain is understood to include all of the resources associated with it,
including the database. In the Bitcoin system these are, for example, all transactions that have
ever been executed.
16 SPV – Simplified Payment Verification (see Sects. 4.2.2 and 5.1.3).
17 It is estimated that there are 13 times as many clients as servers in the Bitcoin system [4].
18 For example, users behind a firewall or NAT.
19 An attacker node is not able to manipulate more than eight other nodes at the same time.
20 The number of lightweight nodes is much higher. That means that the full nodes, which are
If one of the outgoing connection is no longer active (e.g., because the user is
offline), this connection is replaced by a new one [4]. Information is exchanged
via this connection, e.g. new transactions, blocks, or IP addresses21 of the full
nodes (servers). Every user (client and server) maintains a list of multiple IP
addresses of other full nodes (servers) in the network and updates them regularly
by exchanging them with other users. The IP addresses are not linked to the
cryptographic addresses.
Back to the example of Alice and Bob. Alice is often on the go and wants to
be able to use the Bitcoin system on her laptop. Let’s assume that her laptop
doesn’t have enough memory and computing capacity to run a full node. We
will also take into account that she always logs into different networks: at
home, in the library, or at the office. She installs the Bitcoin software and
sets up a lightweight wallet. The software already contains pre-programmed
DNS names22 (also known as DNS seeds, e.g., seed.bitcoin.sipa.be, seed-
.bitcoinstats.com etc.), that contain several IP addresses of full nodes (see
Fig. 3.6).
The software then establishes connections with some of the full nodes
from the list and asks them for further IP addresses. The list of IP addresses
is constantly updated. Thus, the software from Alice can support up to
eight connections. This means, that Alice can exchange information with
eight other users – in this case full nodes. First, the “lean” version of the
current blockchain is downloaded. Alice also sends her transactions to the
nodes and receives from them the information that is only intended for her.
The disadvantage of a lightweight node is its lower level of security. Alice
must trust the full node because she is only using the “lean” version of the
blockchain and therefore cannot check all of the previous transactions.
22
The Domain Name System (DNS) combines numeric (IPv4) and alphanumeric (IPv6) IP
addresses with easy to remember domain names so that users are not forced to remember
number sequences, but instead meaningful names. For example, hiding behind the DNS
name hpi.de is the IPv4 address 141.89.225.126.
21 In the Bitcoin network: IPv4, IPv6, and OnionCat addresses [4, 13].
24 3 Technical Basics for a Better Understanding of Blockchain Technology
In contrast to the example of Alice, let us assume that Bob runs a full
node. He then has a complete copy of the blockchain and, besides the eight
outgoing connection to other users, can have up to 117 incoming connections.
Via these connections, he receives all new transactions and blocks of the
other users, verifies them according to defined rules, and forwards them. The
valid information (e.g., blocks or transactions) are stored in the user’s cache
(memory pool or “mempool”), the invalid information is discarded.
3.2 Exchange Among Equals 25
- further users
The full nodes are the backbone of the Bitcoin system. They allow the system to
grow and at the same time remain secure and decentralized.
All information (new blocks, transactions and IP addresses) is passed from one
user to another (Fig. 3.7). The full nodes pass on some new transactions together
with the newly received ones, so that it appears to the other users as if it were their
own.
A node checks the information received according to the defined rules each time.
If he has already received the same data/information from another user (i.e., it has
already been saved in his memory pool), he discards the newly arrived data.
3.2.1 Obfuscation
23 The ClearKarma company offers a solution for continuous traceability of the ingredients used in
the food industry [92]. The company plans a cloud-based platform with detailed information about
food products, with the history of all information changes verified and stored in the blockchain.
24 The Modum.io company offers a solution for continuous data integrity in a supply chain using
Roulitc Key
er C
rB
Hello World ute y
Roblic Ke
Pub
Pu Route
P r
ublic K A
ey Router C
Encryption Private Key
Hello World
Sender Router C
Router A Router B
Private Key Private Key
Recipient
Router A Router B
the address of router C are encrypted with the public key of the second to last server
(router B) and its address is added, etc.
After that, the message is decrypted layer by layer during transmission by
multiple onion servers. Each server involved in the routing is able to decrypt the
message intended for it with its own private key. In turn, within the message it finds
a further encrypted message and another address. The message is then forwarded
(“not understood”) to the given address. In this way, every onion server only
“knows” its predecessor and its successor. Only the last link in the routing chain
is able to decrypt the actual message and read it in plain text.
The implementation of a TOR network is only possible for outgoing connections.
To support incoming connections in the TOR network, the user can make use of the
so-called hidden services.26 In this case, the full node acts as a service provider and
arranges a “meeting point” with the service recipient (another user). This is a secure
onion server, also known as a rendezvous point. This is done as a means of ensuring
secure and anonymous communication [65].
Since there are no sender addresses in the Bitcoin system,27 it is expressly
recommended that to protect its private sphere the user make use of a new address
each time a payment is received. To further conceal the recipient, the previously
mentioned mixing service can also be used. The legality of using such services may
be subject to different rules depending on the laws of the country involved [52].
The listed methods offer more anonymity in the otherwise transparent blockchain
system. Nevertheless, users should take increased safety precautions to protect their
privacy, as well as to protect the blockchain values (cryptocurrency such as bitcoins;
possession of something such as a rented bike; or as an authorization to unlock the
door of a room).
According to Pesch and Böhme [29] bitcoins (and cryptocurrency in general) can
neither be unequivocally classified as the legal object “item” nor the legal object
“money.” For this reason, because of the prohibition in criminal law of analogies28
that incriminate the perpetrator, bitcoins (and cryptocurrency in general) cannot be
the object of criminal offenses whose facts only relate to item or money [29]. It
remains to be seen whether other blockchain values can be described as “item.”
One of the most widespread application areas of blockchain technology is the
smart contract.29 The smart contract impacts areas of life that have traditionally
been regulated by analog law or institutions [102]. The company Agrello [42] has
taken up this problem and presents a solution in the form of legally binding smart
contracts. Agrello offers a product with a user-friendly interface that supports the
user in the creation of a legally binding contract. The created contract is transformed
into an smart contract and stored in a blockchain. At the same time, a legally binding
contract in natural language is drawn up and digitally signed [42]. The user is
supported during the creation of the contract by an AI30 agent.
28 “The prohibition of analogy exists particularly in criminal law. Accordingly, a judge is forbidden
from convicting someone of a non-punishable act, even if the judge deems it to be punishable, or
if it bears resemblance to another act that is punishable but it does not fully comply with it. This
ban applies above all to loopholes in the law.” – Definition according to [146].
29 For further information see Sect. 5.1.2.
30 AI – Artificial Intelligence.
31 Rational comprehensible image as representation of an abstract term [104].
32 During the siege of Constantinople in 1453 AD, the Byzantine generals were to attack the city
in decision making. The solution to the problem is an algorithm that helps the loyal
generals to reach an agreement in spite of the traitors.
The more malicious users a decentralized system can tolerate under real con-
ditions,33 the more robust the solution must be. In Castro and Liskov’s solution
[7] “Practical Byzantine Fault Tolerance (PBFT),” for example, up to a third of
malicious users (also called Byzantine faults) are tolerated. The biggest weakness
of this solution is its scalability. The more participants (users) the system has, the
more messages must be exchanged within the framework of the consensus between
participants. In this way, the runtime increases quadratically with the number of
system users.
In the past, consensus solutions for decentralized systems were dependent on
numerous conditions (permissioned system). For instance, the number of system
users and/or their identities had to be generally known. With decentralized networks
such as the Internet (permissionless system), this would, however, be highly
inefficient if not impossible. In contrast, the Nakamoto consensus mechanism
anchored in blockchain technology and used for the first time in the Bitcoin system
also works in networks without any conditions for the number of system users or
their identification (permissionless system). Users are free to join and leave the
network at will [24].
The Nakamoto consensus solution makes the assumption that in a system without
participation conditions (malicious users can create many false identities) the
majority of the computing power is in the hands of honest users and not that the
majority of users are honest. This ensures the robustness of blockchain technology
[28].
But what does this have to do with computing power? Instead of selecting master
users (master nodes) who make a majority decision by coordinating with other
users, any user who solves a computational task faster than any other system user,
is allowed to make the decision. This concept is known as Proof-of-Work (PoW).
The computational task consists of simply trying out any number of hash values to
find a value that corresponds to the target. To do this as quickly as possible, a user
needs highly efficient hardware that can, for example,34 calculate/attempt 15 million
hashes in a second. This hardware, therefore, has a much higher energy consumption
than what is usual. For the attacker, this is an equally high energy consumption
and accordingly means much higher costs (see Sect. 4.1.3 and 51 percent attack
in Sect. 4.2). The “winner” can expect a reward, intended as a motivation to put
forth computing effort. Because in the Bitcoin system the reward partly consists
of newly minted bitcoins, which are distributed to the creator of the new block, the
process is compared with that of extracting raw materials, and one speaks of mining.
33 For example, in the Internet. Such solutions as the Byzantine Agreement (BA) Algorithm
(see Appendix A) Paxos or Raft are intended for decentralized systems with limited/static users
numbers. A majority decision is made between the pre-selected users (so-called master users or
master nodes).
34 NVIDIA GeForce GTX 1050 Ti with the Ethereum algorithm [156].
30 3 Technical Basics for a Better Understanding of Blockchain Technology
Correspondingly, a user who creates new blocks is called a miner: “whoever mines
carries out hard work to get to the desired material.”
The consensus solutions are implemented by algorithms, which are implemented
in the form of protocols.35 What exactly is the reason for an agreement and what
decision are the users of a blockchain-based system allowed to make regarding
the use of their computing capacity? We have previously written that users have
to agree on a state of the system that is “true for everybody.” Since all resources
are distributed to all users in the system, this means that everyone has an identical
copy of all data in the system (replicated database), its order (time stamp) and the
execution of content is expected to be correct (i.e., not manipulated). Every user
thus checks the information received from other users (e.g. IP addresses of other
users, transactions, and blocks) and saves this in his cache (memory pool).
At this point, decision-making comes into play – namely which received
information and in which order is written into the system (database). Because the
information (data) takes different times to be spread in the network due to the
network delays, different users can have different copies of the system (database).
The order, or more precisely the time stamp, is implemented in a blockchain-based
system using hash chains.
The information (data) already included in the cache (memory pool) is put into
hash chain form by those users competing for the reward. First, the information36 is
compiled in a compact form of limited size37 called a block (more on this subject
in Sect. 4.1.2). The block should be linked with the information already available
in the system, namely with the already existing blocks. For this, we create a block
header with a reference to the last block in the system. This reference is nothing
more than a hash of the block header of the previous block. After a block has been
prepared (more on this in Sects. 4.1.1, 4.1.2 and 4.1.3) and the computing task has
been solved, the block, together with the solution, is distributed to all users in the
same way as the other data in the system (information: IP addresses of other users,
transactions). Each user receives the new block, verifies it and adds it to the previous
block (last block). Thus an ordered blockchain is created.
If several users solve the computational task at the same time, this causes the
chain to branch – creating a so-called fork. The probability that more than two
users arrive at a solution at the same time is very low. This means that two new
blocks have the same previous block and are distributed with different delays in the
network. This results in users having different blockchains (copies of the system).
Other reward-motivated users link their new block to the block they received first.
The longest chain is always given preference because it is not worthwhile for users
to continue to “build” a chain that will ultimately not prevail. This economically-
motivated decision represents the consensus. Through the linking of the new block
35 Definition of standards and conventions for a smooth data transmission between computers
[104].
36 In the Bitcoin system, e.g., in the form of transactions transferred values – bitcoins.
37 In the Bitcoin system, for example, 1 MB and in Ethereum approx. 27 kB (as of May 2020).
3.3 Consensus Finding 31
with one of the branched preceding blocks, the user votes for one of the two chains
in the form of computing capacity. This means that the chain with the most votes
(in other words, with the greatest computing capacity) “wins.” In this way, the
decentralized system remains “consistent.”
The competition for the reward in the Bitcoin system has led to an “upgrade”
of hardware among users (miners) involved in consensus building. Many miners
combine to form so-called mining pools so as to bundle their computing capacity.
This has led to a constant increase in energy consumption and of the costs associated
with it. The charge of energy waste is the greatest point of contention in the Proof-
of-Work concept.
In contrast, the consensus concept called Proof-of-Stake (PoS) is not based on
the effort expended in solving a computational task, but on the proportion of digital
coins in a cryptocurrency. A user who have the n percent of the digital coins, may
create n percent of the blocks.
In the Peercoin system38 (uses PoS and PoW – hybrid consensus) the usable
portion of digital coins is based on the “age of the coins.” The number of digital
coins that a block producer owns is multiplied by the number of days in which
the digital coins are kept at the block producer (e.g., if Alice has received 5 coins
from Bob and these have already been kept in her blockchain application (wallet)
for 10 days, the coin age is thus 50 coin days). For successful block generation,
the coin age must be between 30 and 90 days. The block producer addresses these
digital coins in the first transaction to himself when the block is created. After that,
they are first valid for minting (block generation in PoS systems) again in 30 coin
days. Every user of the peercoin system can create a block and annually receive
a reward worth a maximum of one percent of the digital coins held. The reward
consists of newly minted peercoins.
In contrast to the Peercoin and Bitcoin systems, with the cryptocurrency NXT all
digital coins are available from the start (Genesis block). Here, the transaction fees
serve as motivation for the block creators. NXT uses a modified PoS algorithm [5].
With the pure PoS concept, a problem exists called “nothing at stake.” In the
event that the chain branches, minters (block generators in PoS) can build new
blocks in parallel on both branches without significant losses. In this way, the
possibility exists of the “double spending” of digital cryptocoins (double spending
problem). Since in this case loss is not as noticeable, as for example with the PoW
concept (already consumed energy), the motivation for attackers is greater with PoS,
making it more of a vulnerable target [5].
This problem is solved in an expanded form by PoS known as a “delegated Proof-
of-Stake.” Delegates (“trusted persons,” who are users) are selected according to
specific criteria (e.g., based on the number of digital coins in their possession or the
votes cast by other users). They may participate in minting and verify the blocks
created by other delegates. For a new block to be accepted, several delegates must
Bitcoin [18].
32 3 Technical Basics for a Better Understanding of Blockchain Technology
sign it, following successful verification. In order to avoid attacks, the digital coins
of the delegates are blocked in the event of malicious behavior.
A further alternative to PoW and PoS is the Proof-of-Burn concept (PoB). Here,
digital coins are destroyed during mining (figuratively-speaking “burned”). The
more digital coins are destroyed, the higher the chance that the newly created block
will be accepted and entered into the chain. The digital cryptocoins to be destroyed
are sent to an address where they can no longer be used.
Within the Stellar Consensus Protocol (SCP), work continues to be carried out on
solving the problem of the Byzantine generals.39 Stellar is a public finance platform
that makes it easy to send money in different currencies. SCP is based on a new
consensus model that was described for the first time in the SCP white paper.40
It is called the Federated Byzantine Agreement (FBA). In the FBA, users do not
need a full overview of all other users in the system. Every user has a free choice
of trusted membership groups – so-called quorum slices. A quorum is a quantity of
users necessary to reach an agreement. A quorum slice is the subset of a quorum that
can convince a particular user of the agreement. Each user can have multiple slices
that can be chosen based on their reputation or the respective financial arrangement
[23].
The quorums can overlap if they have common users. In order to reach an
agreement, the FBA users coordinate with each other. To facilitate this they use so-
called federated voting. Because of the overlap of quorums, the slices can mutually
influence each other in decision making. New digital coins in the Stellar system,
also known as Lumens (XLM), are awarded weekly to users through such a vote
(one percent annual creation rate).
In decentralized networks, the consistent distribution of resources is an essential
property. This is guaranteed in Blockchain-based systems by a user’s vote for
the longest chain. Since malicious users can manipulate voting (double spending,
Sybil attack), various mechanisms are used to regulate voting. As part of the
Proof-of-Work concept, votes are cast in the form of physical resources (energy
consumption through an outlay of computing power). In order to keep losses as low
as possible and to win the competition for the reward, users must abide by the rules
(build correct blocks). The expensive alternative is to convince other nodes of the
correctness of the blocks by means of the highest computing power (more than 51
percent).
Under these circumstances, the “penalty” for malicious behavior is relatively
high. This is an even greater motivation for individual miners (block creators who
are not involved in any mining pools) to act according to the rules defined in the
system. The probability is very low that in a system with many users, such as
Bitcoin, one of them has more computing power than all other nodes put together
(over 51 percent of the total computing power41).
Concepts such as PoS and PoB solve the problem of the wasteful use of energy by
shifting the focus from the physical to the electronic resources. Yet at the same time,
this increases the likelihood of a branching of the chain and of double spending,
which in turn can be resolved with further restrictions (e.g., with the delegated
Proof-of-Stake concept).
41 There is indeed also the possibility to launch an attack with less computing capacity than 50
percent of the entire network. The success rate is, however, correspondingly low (see Sect. 4.2).
Chapter 4
Where Does the Hype End, and Where
Does the Innovation of Blockchain
Technology Begin?
Abstract Now we are ready to go deeper into the subject matter, and you
have a chance to form a first opinion about blockchain technology – is it an
innovation or only hype? Thereby, we will take a closer look at the architecture of
blockchain technology using well-known examples such as Bitcoin and Ethereum
and addressing challenges including security and scalability.
In the previous chapters, we already revealed part of the blockchain hype and
showed that, as opposed to being a cure-all, blockchain technology is in reality
a successful combination of existing technological approaches from the areas of
cryptography, decentralized networks and consensus-finding models. In this chapter,
we would like to explore the real strengths and challenges of blockchain technology
and provide a technical overview.
The use of a new technology in an existing system must offer specific advantages,
for instance an increase in efficiency or a reduction in costs. This is the same
with the use of blockchain technology. Particular attention must be paid to those
properties in the technology that bring added benefits, when compared to already
established technical solutions. Thereby, attention is focused on the original idea of
a blockchain: namely of providing a secure decentralized public register.
The traceability of all entries in the system and the associated security against
forgery make blockchain technology particularly attractive for logging data. For
example, it offers a basis for various registers, such as a land or a medical register.
Additionally, blockchain technology allows a secure, decentralized and transparent
exchange of values between the numerous involved users – without the need for a
trusted middleman (also called a trusted third party). This means that the data to be
recorded (e.g., possession of a value) can be written into the blockchain by multiple
4.1 Traceability, Forgery Protection, Reliability 37
Virtualchain
Name-, identity- and authentication system
Control
plane
Blockchain
Sequence of blockstack operations
parties and can also be read from the blockchain. The distribution1 of the blockchain
on any number of independent computers provides protection in the event of system
failure or data loss.
In regards to data protection, only cryptographic fingerprints of the data (hash
values) can be stored in the blockchain in a tamper-proof manner, for example. The
actual data can be stored elsewhere.2
For example, the Blockstack identity system uses the advantages of blockchain
technology and only records the Blockstack operations in the blockchain (Fig. 4.2).
The other functionalities, such as the management and storage of data, are regulated
outside of the blockchain (for more information see Sect. 6.2).
In contrast, pure cryptocurrencies have a simpler architecture (see Fig. 3.4):
• Blockchain as the foundation,
• Specific rules for the respective cryptocurrency (among them the consensus
algorithm) and
• A user application in which everything is implemented.
Based on these issues, the individual blockchain applications differ from each
other. Some of them are clearly more complex in their structure than others. How-
ever, what they all have in common is their underlying architecture (a cryptographic
timestamp service/a cryptographic linking of the blocks and a consensus represented
by the longest chain – see Sect. 3.3).
Only when blockchain architecture is fully understood, do properties such as
protection against forgery and traceability become completely clear. In the following
chapters we would like to take as starting point the content/information that is
included in the decentralized blockchain database.
1 Replication.
2 CloudRAID, for instance, provides a suitable infrastructure to do this.
38 4 Where Does the Hype End, and Where Does the Innovation of Blockchain. . .
3 The use of blockchain technology is not only limited to the areas of cryptocurrency or decen-
tralized registers, but the technology is used as a programmable decentralized trust infrastructure
[192], the so-called Blockchain 2.0 (smart contracts).
4 Based on the supply-oriented definition, a product is everything that is offered on the market for
use or consumption and that satisfies a wish or a need. Accordingly, not only physical objects
are referred to as products, but also various services, ideas, etc. fall under the category of products.
This term encompasses all materials and immaterial facets from which customer benefits can result
[40, 163].
5 Therefore blockchain technology is often called a “replicated state machine.”
6 Externally owned account – EOA.
7 Similar to a Bitcoin address – see Sect. 3.1.2.
8 The digital cryptocurrency of the Ethereum system.
4.1 Traceability, Forgery Protection, Reliability 39
and thus allow complex applications. These applications run without any central
“coordinator” on computers of all full nodes and accordingly form a censorship-
resistant, decentralized world computer [38, 74, 130].
The current state of a value or an account is updated using a transaction. In this
way, the transaction represents a bridge, or valid transition between two states – the
previous one and the current one [38]. The transaction format and components differ
depending on the system. Generally-speaking, a transaction consists of specific
data, values, or code (transaction for the creating a smart contract), of one or more
recipient addresses, parameters that are typical for the particular system, and the
digital signature of the sender.
Blockchain projects of the first generation only log the current state of a value
and have a relatively simple transaction structure. This structure has two essential
components: an input and an output. The value to be transferred (which the user
already has) is referenced in the input. The output indicates to which address this
value is to be “overwritten.” In other words, an output of the already valid transaction
is referenced through which the sender received the value at an earlier point in time.
In the case of a cryptocurrency, an input can contain multiple crypto coins, thus in
the output must indicate the number of crypto coins from the given input and the
address to which they are to be issued.
A newly created value, for instance a newly minted digital crypto coin or a new
object for sale on a trading platform, has no prior history. In this case, the transaction
input is empty. The output in this case represents the object or a number of newly
minted crypto coins and indicates the recipient’s address (the owner of this value),
for example the hash value of the public key of the block creator (miner). Only
with the next transaction, when the value is “overwritten” from one user to another,
will the previous output (unspent transaction output – UTXO) be referenced in the
input. This reference to an UTXO consists of a hash value of the transaction that
contains this output as well as an output index, since a transaction can contain
multiple outputs.
In the Bitcoin system, all previous transactions that have been addressed to a
user, but not yet been issued, are listed in the user’s wallet as the current Bitcoin
holdings. These previous transactions are used in new transactions of this user as
inputs. Several outputs are possible if the value to be transferred is divided between
several recipients. If the sender wishes to transfer a smaller amount of money than
that which is available through all inputs put together, the sender has the option of
transferring the remaining amount to himself. If the sender has a leftover amount
in his transaction that he does not transfer back to himself, it is then considered a
transaction fee (Fig. 4.3). Transactions cannot be reversed.
In the Bitcoin system, the output is locked by a mechanism called ScriptPubKey
[44]. ScriptPubKey consists of a series of instructions that describe how the owner
of the respective recipient address can gain access to the value [66]. In addition
to the reference to the value, another mechanism is required in the input. This is
ScriptSig. It unlocks the value, after the conditions set in the previous output are
40 4 Where Does the Hype End, and Where Does the Innovation of Blockchain. . .
e
AlicP BobPair rlie ir
air Cha Pa
Key Key Key
fulfilled, for example if the sender can prove a suitable address and a signature that
corresponds to the address (Fig. 4.4).9
In 2012, in the context of the BIP16,10 in the Bitcoin system, a new functionality
was implemented. It gives Bitcoin recipients a way to define instructions about how
the received bitcoins can be issued later, or, more specifically, how they can be
unlocked. Thus a so-called Pay-to-Script hash address (P2SH address) is defined.
9 As previously described, the address corresponds to the hash of the public key. In this way, the
sender can use the values (or more specifically, the UTXOs) addressed to him only if, in addition
to the public key, he has a matching secret key (private key), which he uses for signing.
10 Bitcoin Improvement Proposal (BIP) is a design document for the introduction of functions or
This is often used for multi-signature transactions, for example. Just as with the pay-
to-public-key hash address (P2PKH address) previously described, a hash value is
specified as the address in the output, or more precisely in the ScriptPubKey. Only
in the case of P2SH is the hash value from a “script”11 (a series of instructions)
and not just one public key. This means in the next transaction that will “spend” the
value, an appropriate unlocking mechanism must be used. In this case, the ScriptSig
does not only provide a signature and a matching public key for verification, but a
script and the necessary data (public keys and signatures).
The transaction structure in the blockchain projects of the second generation is
significantly more complex. In the Ethereum system a distinction is made between
two types of transactions: transactions that are “exchanged” between the accounts
and transactions that are used to create new smart contracts (contract creation
transactions). Transactions that are exchanged between the accounts are in turn
again divided into two types: transactions that are made by external accounts, and
so-called messages that are exchanged between the internal accounts of the smart
contracts. An Ethereum transaction consists of the following:
• Nonce – A value that corresponds to the number of transactions carried out by
the sender,
• gasPrice – A fee charged in the Ethereum system for every step of calculation
in a smart contract. The fees are imposed for security reasons (protection against
denial of service attacks), whereby every user, including attackers, should pay
for every resource that is used (including calculation, bandwidth, and storage).
The fee is measured in units of gas and paid in Ether – Ethereum’s own
cryptocurrency. Thus, in every transaction, the current rate of a unit of gas is
noted in determining the cost to execute the transaction.
• gasLimit – A value corresponding to the maximum amount of gas that is to be
used in executing the transaction. It is paid in advance before any calculation
is made and cannot be increased later. gasLimit is used to avoid accidental or
intentional endless loops or other calculation problems in the code. For this
11 To be more exact: a hash value acquired from the script and the data necessary for it, such as
reason, in every transaction a limit is set on the number of calculation steps that
can be carried out in the code.
• Recipient address (In the case of a contract creation transaction, this field is
empty),
• Value – The amount of Ether that is to be transferred from the sender to the
recipient (in the case of a contract creation transaction, the amount of Ether for
the newly created smart contract account),
• Data that is used for the signing of the transaction and to determine the sender of
the transaction,
• Smart contract code for the contract creation transaction,
• Data for a message (transactions that are exchanged between the smart contracts)
[38, 133].
After a transaction has been created, it is passed on to other users with whom a
connection exists. Transactions and blocks are distributed from user to user in the
system. There is no certain route from one user to another through which the data
(transactions, blocks, IP addresses) are transferred, instead every full node verifies
the received transaction according to defined rules (see Appendix C), stores a copy
in its cache (memory pool) and distributes it to a lot of other users (see Sect. 3.2).
Thus, the current state of a value or an account is logged in the blockchain. This also
means that every user can keep track of who owned a value and when, and what the
state of an account was at a certain time.
Here are four examples used to verify transactions in the Bitcoin system:
• A transaction has been signed,
• A transaction has never been “issued” before,
• I add the transaction to my wallet if it has been addressed to me,
• If the transaction has been added to a valid block, it is deleted from my cache.
A transaction is considered valid (e.g., in the Bitcoin system) if it has been
included in a block that already has at least five successor blocks. This number was
determined based on the assumption that potential attackers do not have enough
computing power – or want to expend it – to recalculate six blocks.
After transactions have been distributed to the full nodes in the blockchain network,
and after being successfully verified and added to the cache, users can summarize
them in a specific list with additional information, for which they receive a reward.
In blockchain technology, such a list is called a “block.” The user only has a chance
to create a valid block and receive a reward if the block has been created based on
the predefined requirements in his system, and if this block has been included in the
longest chain (see Sect. 3.3). In bitcoin-similar projects, Proof-of-Work is necessary
4.1 Traceability, Forgery Protection, Reliability 43
in creating a valid block (see Sect. 3.3). In contrast, developers of the Ethereum
system are planning to switch from Proof-of-Work to Proof-of-Stake in 2020.
Transactions and blocks are the most important components of a blockchain.
Besides containing transactions, blocks include other important information. This
information is recorded in the so-called “block header.”12 This information is
necessary for the correct construction of the blockchain and its verification.
In the Bitcoin system, a block header contains the following information:
• Nonce13 – an important indication of the correct building of the block; it is used
for mining (32 bit),
• A reference to the previous block: a SHA-256 hash14 of the previous block
header,
• An important value for the building of the block that shows a target15 for the
cryptographic computational task (see Sect. 3.3),
• A block time16 [50],
• A reference to all transactions in the block, also known as the root of the Merkle
tree (“Merkle root,” 256 bit),
• The specification of a so-called “block version” (described in the BIP17 and in
one of the Bitcoin core versions18 introduced block version, which complies with
specific features/functions and was introduced as a soft fork19).
The hash of the previous block header, the nonce and the difficulty target for the
cryptographic computation task are relevant information for mining (creation of a
new block) (more of this topic in Sect. 4.1.3).
As shown in the chapter on cryptography, the hash function allows for clear and
simple data identification – practical for a fast and unique referencing. In blockchain
technology, the hash values help to ensure the correct order of the data/information.
They are used as references (the hash value of a transaction or block is the reference
to the transaction or block). A transaction contains, for example, the hash values of
the previous transactions. These are (e.g., in Bitcoin-like systems) the input values of
12 In the Ethereum system in addition to the block header and the transaction information, a list of
other block headers is also provided, so-called “ommers” or in, Ethereum jargon, “uncles” [38].
13 In cryptography, the term nonce (short for “used only once” or “number used once”) is used to
describe a number or letter combination that is only used a single time in the respective context
[200] (more information in Sect. 4.1.3).
14 SHA256SHA256(block header).
15 “Difficulty target”: This value is recalculated every two weeks in the Bitcoin system (more on
Wladimir van der Laan, based on Satoshi Nakamoto’s original reference code [56].
19 See Sect. 4.1.4.
44 4 Where Does the Hype End, and Where Does the Innovation of Blockchain. . .
the transactions (inputs) – specifically, the value holdings/assets (in Bitcoin systems
the monetary holdings). In this way, it is possible to track the entire history of the
transaction or of the value in the blockchain.
The blocks contain two different references. One refers to the previous block
(hash of the block header) and the other refers to all transactions listed in the block.
These references are called “fingerprints.” The reference to the transactions in the
block provides a simple indication of whether a transaction was inserted into the
block at a later time or if it has been changed.
The Merkle Root is the last hash value in the so-called hash tree. A hash tree
(“Merkle tree”) is a tree-like structure (from graph theory) that consists of successive
hash values.20 For example, in Fig. 4.5, we see that in Transaction 1 (TX1) a doubled
hash value dh1 is first created. This is dh1=SHA256(SHA256(TX1)). The same is
done with the transactions TX0, TX2 and TX3. Subsequently, further hash values
are calculated from the first found doubled hash value of the original transactions.
In this case, the root of the tree dh0123 is the Merkle root.
In contrast to the Bitcoin system, the Ethereum system uses an advanced
technology for a cryptographically authenticated data structure, namely the Merkle
Patricia Tree.21 Thus in a Ethereum block header not only is a Merkle Patricia Root
of the transaction list (transactionsRoot) saved,22 but two other roots: one root of
the states23 (stateRoot) and one of the receipts24 (receiptsRoot). In addition to the
three roots, a further twelve entries are stored in an Ethereum block header. For
comparison: a Bitcoin block header consists of six entries [38]. This confirms once
information regarding its execution (for more on this subject see [38, 133]). Each block has its
own receipts tree.
4.1 Traceability, Forgery Protection, Reliability 45
again the higher complexity of the Ethereum system when compared to the Bitcoin
system.
In the Bitcoin system, the block size is limited to 1 MB. A block may therefore
contain between 900 and 2,500 transactions. The Bitcoin community has long
discussed whether the block size should remain at 1 MB or be increased to 2 MB.
On August 1, 2017, the new cryptocurrency Bitcoin Cash (BCH) was created by
splitting from the Bitcoin system. Here, the size of a block is set at 8 MB. In the
Ethereum system, the size of a block is approximately 27 kB (as of May 2020).
One of the requirements for block creation (whether we say “mining” or
“minting” depends on the consensus algorithm used, see Sect. 3.3) is that a new
block must be created within a certain time. In the Bitcoin system this is 10 minutes
(approx. 60 blocks per hour) and with Ethereum a new block is created every
14 seconds (approx. 250 blocks per hour).
In the Bitcoin system, new values (i.e., new bitcoins) are generated when blocks
are created. The block creator (miner) creates a new transaction in the process of
rewarding himself – a so-called coinbase transaction. This transaction is the first
transaction in the block. The input of this transaction is correspondingly empty, as
the bitcoins are newly created and as yet have no history. The output is the reward
size (number of new bitcoins,25 in addition to fees that were paid for the transactions
included in the block) together with the ScriptPubKey. This transaction is formed
into a block with other transactions.26
To be sure that the created transaction is valid, users should wait until the
transaction has been included in a block, which already contains several successor
blocks (at least five in the Bitcoin system).
Because every new block is created within a specified time, the waiting time is
correspondingly long. In the Bitcoin system, the waiting time is between one and
two hours.
Miners receive the transaction fees for all transactions contained in the block.
After a block is created, it is distributed to the users. Each full node verifies the
block it has received according to defined rules and adds it to the chain. In this way,
a chain is created of successive blocks that are linked together by references. The
first block in the chain is also called the genesis block.
Blockchain technology therefore lists all transactions that have ever been carried
out in the respective system and included in blocks. The blocks listed form a
chain, in which each block contains a reference to the previous one. This results
in the creation of an orderly sequence of blocks and is what gave rise to the name
“blockchain.”
As the blockchain system is decentralized, and between users there is no
agreement made as to the priority of the created blocks, it can happen that several
25 Up to 2020 there were 12.5 newly generated bitcoins. After 210,000 blocks, the reward paid to
the miner will be halved (approx. every 4 years; for example, starting in 2020 there will be only
6.25 bitcoins).
26 Transactions of other users that the miner has already stored in its memory pool.
46 4 Where Does the Hype End, and Where Does the Innovation of Blockchain. . .
Header
- Transaction 4b7...
- Transaction b3b...
- Transaction e9b...
- ..............................
Header Header - ..............................
- Transaction bd0...
Genesis - Transaction 0ab... Block n+1
- Transaction 9fe...
Block - ..............................
- .............................. Header
- Transaction 47d...
Block 0 Block n - Transaction f18...
- Transaction 5cb...
- ..............................
- ..............................
Orphan
Block
miners create a new block at the same time. If these blocks comply with all the rules
and refer to the last block, the result can be a branching of the chain. This branching
is also called a “fork.” The solution for this problem is also the most important
rule in the blockchain system: “The longest chain is valid.” (more on this topic in
Sects. 4.1.3 and 3.3). The shortest chain is ignored; its blocks are called “orphan
blocks” (see Fig. 4.6).
The size of the Bitcoin blockchain was approximately 280 GB at the end of May
2020.
The blockchain is updated by combining new transactions into blocks and cryp-
tographically linking the blocks in a specific order. Because a blockchain-based
system is decentralized, it is necessary that a consensus be reached. One of the
biggest challenges here is to agree upon a state of system that is “right for
everybody.” This means in which order the content should be and whether or not
the execution of the content is correct (see Sect. 3.3). Generally-speaking, every full
node can participate in finding a consensus and can update the blockchain. Since
the Nakamoto consensus solution is based on the notion that in a system without
4.1 Traceability, Forgery Protection, Reliability 47
no
Hash value<Target Nonce+1
yes
Distribute created
block to other users
character string, is adjusted continuously until the hash value is less than or equal to
the target (see Fig. 4.7).
The target is a 256 bit long hexadecimal string that all full nodes can calculate.
The smaller the target (i.e., the more zeros at the beginning of the string), the higher
the level of difficulty. If in hash calculation the required number of zeros is generated
at the beginning, the task is solved (more on this subject can be found in the [150]).
The likelihood that a user will find the correct solution is proportional to the
amount of computing power that he expends (his hash rate32 ). After the appropriate
solution is found, the generated block is distributed to all users.
Every full node verifies33 the received block. Depending on the verification
result, the block is accepted (added to the main chain34 or to the side branch35)
or discarded (orphan block).36 If the block is accepted, it will always be sent to the
other users (see Sect. 3.2).
Due to the network delay, the blocks spread at different periods of time. When
multiple miners solve the computational task at the same time and distribute their
blocks simultaneously in the network, after a time only a single chain will finally
prevail. Here is an example: Alice and Bob have simultaneously found a solution
for the cryptographic computational task and spread their newly created blocks a
and b in the network. After successful verification, each user saves the first received
block as part of the main chain (main branch). A user Dave receives the block b
from Bob, after having already received block a from Alice. He then adds it to the
32 The hash rate or computing power refers to how many hashing operation can be performed in a
second.
33 First a check is made as to whether the block is structured correctly and whether the references
in the block header are correct. For a detailed description of block verification see [64].
34 Also called the main branch – the longest chain that has been verified by all users as valid.
35 A side branch is created when a chain branches (fork).
36 Orphan blocks are either blocks that have no preceding block or the blocks from the shorter chain
side branch after verification and waits for the next block. Charlie is also a miner
and received block b first. He builds another block b+1 and distributes it to all users.
The user Dave receives block b+1. After verification, he adds it to his side branch
(where Bob’s block b is stored) and defines it as a main chain, since the longest
chain ultimately becomes a main chain. The blocks from the side branch become
orphan blocks and their valid transactions are moved again to the user’s memory
pools. Since the chain with Bob’s block has prevailed, Bob gets a reward after a
waiting time of 100 blocks. The reward takes the form of newly minted bitcoins and
transaction fees. Alice gets no reward for her block a.
The number of newly created bitcoins is halved every four years (by 2012 it was
50 BTC, and by July 2016 the number was 25 BTC, by 2020 it was 12.5 BTC, etc.).
In order to solve the computational task with the predetermined level of difficulty
as fast as possible, a user needs hardware with an efficient calculating capability, for
example,37 15 million hashes in a second. In the early years of the Bitcoin system,
the level of difficulty of the cryptographic task was considerably lower than now.
It was thus possible for Bitcoin users to mine bitcoins with their computer (on the
CPU38 or the GPU).39 Spurred on by competition for the reward, many Bitcoin users
have upgraded their hardware over time (e.g., ASIC40 mining hardware), which has
led to an increase in the computing power of the entire network and also to the level
of difficulty of the computational task.
In calculating the computational task, the hardware must expend a considerably
higher energy consumption than usual. In December 2017, Bitcoin miners with an
energy efficiency of between 0.29 J/GH41 and 0.098 J/GH and a performance of
between 3.5 TH/s42 and 13.5 TH/s could be found on the market. These consume
approx. 1,200 watts. The hash rate43 of the Bitcoin network was approx. 12,337,091
TH/s [78]. The Bitcoin network thus consumed about 49 GWh in one day. In
comparison, an average household in Germany of four people consumes approx.
4,000 kWh of electricity per year. Thus the electricity that the Bitcoin network
requires in one day could supply about 12,250 households for one year. The
estimation of energy consumption of the Bitcoin network differs widely depending
on the source. For example, in September 2017 according to information from
Digiconomist the figure was around 19 TWh per year, and in a research paper by
Mishra44 (University of Texas at Dallas) it was 5 GWh. In order to successfully
compete today, miners require special hardware and software or must participate in
cloud mining. Many miners band together into so-called mining pools to bundle
Because Bitcoin, Ethereum and many other blockchain projects are open source
projects, systems with different technical parameters are available for duplication
and modification. In this case, the already mentioned term “fork” plays an important
role. Any modification to an existing blockchain system (blockchain protocol) that
leads to changes in defined rules and parameters (e.g. block time, block size, etc.)
is referred to as a fork (e.g. Bitcoin fork). The two resulting branches have the same
first block (genesis block) at the point of branching and the same predecessor blocks.
There are two types of blockchain forking: a hard fork and a soft fork. In the case
of the hard fork, changes in the software must be accepted by all users (for instance,
a change in the architecture of the blockchain: e.g. increasing the block size from
1 to 2 MB). Several hard forks have already been implemented on the Ethereum
blockchain. The first took place on July 20, 2016. This is because a month earlier,
due to an attack, an error was found in The DAO Framework45 and 3.6 million Ether
(65 million euros) were stolen. The Ethereum developers tracked down the error and
decided on a hard fork as a means of regaining the stolen Ether. A soft fork affects
changes in the blockchain, for instance new or updated functionalities that only need
to be accepted by the majority of miners, as well as by the users, who want to use
them. In contrast to a hard fork, a soft fork is backwards compatible.
In this way, many new applications with adapted parameters or new function-
alities are created using, for example, Bitcoin blockchain. The question arises as
to what extent this is still a blockchain. Can we only call the Bitcoin blockchain
with its parameters and goals a blockchain, or does the term only apply to a
cryptographically referenced chain of blocks? The hype surrounding the topic of
blockchain plays a fundamental role here, as numerous technical concepts and
projects, which already existed before blockchain technology and have little to do
Public Private
(read and write
(everyone may
permissions
read and write)
are limited)
Co
Private Blockchain
Public Blockchain
ns
ort
ium
Blo
ckc
ha
in
Permissionless Permissioned
(consensus process for everyone) (consensus process is limited)
with its innovation, experience higher sales when marketed under the blockchain
name.
To find out what added value and what challenges blockchain technology
brings us now – when compared to existing technological concepts – we see that
definition plays a decisive role. For instance, in the next attempt to adapt blockchain
technology to specific needs, namely the private and/or permissioned blockchain.
In doing so, we move away from the original ideas and goals of the Bitcoin and
Ethereum blockchain and return to the limitation of user rights. The blockchain
system consequently no longer remains completely decentralized, but is instead
limited to predetermined users.46 The terminology of so-called “blockchain types”
are no more clearly defined than the term blockchain itself. A combination of the
following use restrictions plays a role:
• Read permission – Who can see the blockchain contents,
• Write permission – Who can create transactions,
• Consensus permission – Who can update the blockchain (combining transactions
into a block and adding the block to the chain) (Fig. 4.8).
These restrictions mean that users have to authenticate and authorize themselves
to use the system [32]. In a private blockchain, also called a private permissioned
blockchain, read and write permissions are limited to a group of users (e.g., in the
area of a company or distributed over several companies). Thereby the transparency
of the blockchain history is lost. The permission to update the blockchain is also
limited to predefined users. In private blockchains, changes to the system are easier
and faster to carry out. This is because the users – who can update and verify the
blockchain – are known. However, the risk of a 51 percent attack still exists, albeit
in a modified form. Users, who are preselected for updating the blockchain and for
participation in consensus finding process, can be manipulated by various attackers.
If the consensus permission is only limited to a group of users and every user
has read permission, one speaks of a consortium blockchain or public permissioned
blockchain. Write permission can either be given to all users or only to a certain
group.
In the Bitcoin or Ethereum system, we speak of a public blockchain or also public
permissionless blockchain (i.e., an original blockchain without restrictions in the
terms of use).
Both the private and the consortium blockchain have their own advantages and
disadvantages. These are reflected to a greater or lesser degree depending on the area
of application. The intention of restricting the terms of use, and thereby centralizing
the system for predetermined users, is intended as a way to make the system
more efficient. The decentralization of the system is in this way secondary. It is
often forgotten that the original goal of the first blockchain projects (e.g., Bitcoin)
was a decentralized and secure electronic payment system, and that there was no
intention of creating a competitor in the area of transaction throughput to the level
of efficiency found in payment systems such as Visa or PayPal.
Therefore, a blockchain-based system in its “original form” (public permission-
less blockchain) makes sense when a system is involved in which numerous users,
who neither know nor trust each other want to interact. Trust in a central authority
or in any kind of middlemen is not a prerequisite. Otherwise, a normal database is
often the better way to go [32].
With the dissolution of the central authority of the trusted third party, the problem of
a lack of trust between users arises. This problem is solved in decentralized systems
using various methods, for example:
• Unambiguous user identification (e.g., a video identification procedure; the
prerequisite is disclosure of one’s own identity),
• Trust networks (prerequisite: mutual trust of at least one user in the system),
4.2 Challenges of Blockchain Technology 53
the attacker can only change the order of transactions in the chain or remove them
from the chain [2].
Lightweight users (lightweight nodes) do not have a complete blockchain and
cannot guarantee a complete verification of the transaction contents. They must
therefore trust the miner and are accordingly not as secure as full nodes [67]. Both
concepts, PoW and PoS, are thus vulnerable to the 51 percent attack.
Such an attack can devour a lot of money in the Bitcoin system. According to
BTCECHO, such an attack could cost the attacker approx. 375.2 million euros per
day [86]. Profit-oriented attackers thus prefer a cheaper alternative.
In the Bitcoin system, mining pools have the largest share of the total computing
capacity (more on this subject can be found in [79]).
In July 2014, the mining pool Ghash.io gained more than 50 percent of the com-
puting capacity of the entire Bitcoin network. The Bitcoin community responded by
introducing certain restrictions. There is currently an agreement between the mining
pools in place not to exceed the 39.99 percent limit. Additionally, a supervisory
committee has been set up to monitor the computing power of the mining pools. It
is made up of representatives of the mining pools and of Bitcoin companies as well
as other specialists from this sector [199].
Nevertheless, the possibility remains that an attack can be carried out with
less computing power than 50 percent of the entire network. The success rate is,
however, correspondingly low [31].
Under no circumstances can an attacker use the 51 percent attack to generate
new values (e.g., bitcoins, through rewards) or redirect values from transactions of
other users to himself. This is only possible if the attacker has access to the private
key of the respective user (the corresponding user address52 ) [2]. With minimal
effort and standard tools, attackers can spy out the private key of a user, if the
user is inadequately protected. For this reason for example, it is recommended that
Bitcoin users not use online services that offer online wallets. Recently, these have
suffered from security vulnerabilities that make it possible for attackers to steal
users’ bitcoins [53].
Applications that are installed locally at the user’s computer promise more
security for storing the private keys. Many of them offer wallet encryption and
regular backups. A two-factor authentication makes the storage of the private
keys more secure. Thereby, the identity of the user is checked by proof of two
components – for example a combination of hardware wallet and PIN or password.
The private keys are stored on an external data medium that needs a PIN or a
password for unlocking and is immune against viruses. The private key never leaves
the storage medium. The transactions are processed within the data carrier. The
transactions are signed using the corresponding private key. After this is done, the
signed transactions are transferred to the application on the user computer [60].
Unlike private keys, public keys are used for generating addresses (“Pay-
to-Public-Key-Hash” or “Pay-to-Script-Hash” addresses – see Sect. 3.1.2). The
addresses which are, for example, generated specifically for each new transaction
in the Bitcoin system, can be linked to the end users, despite the use of the TOR
network. In the scientific work of Biryukov and Pustogarov from 2014 [4], such
a method for the de-anonymization of Bitcoin users was described. The Bitcoin
addresses and the IP addresses of senders were connected. The method also works
if users have a firewall or use the TOR network. Based on this information, changes
have been made in other versions of Bitcoin [27]. While mixing services (see
Sect. 3.2.1) offer more anonymity, they also require trust in the provider of such
services.
It is important to note that the IP addresses of many full nodes are public, which
makes the assigning of completed transaction to the user easier. An attacker can take
advantage of another attack option with the public IP address of a full node – namely,
DoS53 attacks. Here, a targeted overload of a network node (e.g., a full node) is
carried out. Afterwards, the user can no longer provide his service as intended.
Overloading can occur when a huge number of messages are sent to the victim.
In this way, so many resources are tied up that the victim becomes overloaded and
can no longer carry out the actual work at hand.
To ward off such attacks, Bitcoin implements a reputation-based rule: every user
who sends a faulty or manipulated message receives penalty points. If the number
of these points reaches 100, the IP address is blocked for 24 hours [4]. Because the
attack can originate from multiple IP addresses (e.g., from a botnet), Bitcoin sets
further rules to protect against DoS attacks. Among these rule are:
• Do not forward orphan transactions and blocks to other users,
• Do not forward transactions whose content (bitcoins) has already been used up
(double-spend transactions),
• A message that has already been sent to a user (transaction, block, address of
another user) may not be sent twice,
• The block size may not exceed 1 MB.
Another rule protects the Bitcoin system against spam transactions or so-called
flood attacks. In this case, the attacker creates several transactions addressed to
himself. This is done with the aim of filling a new block with his own transactions
and delaying the addition of transactions from other users. The attacker does not
charge any transaction fees. However, the Bitcoin system only allows five percent
of free transaction in blocks. This means that an attack is then only possible when
the attacker is prepared to waste his bitcoins to carry it out [67].
The intention of developing new blockchain systems and designing them for
new uses leads to ever more changes and adaptations of the original Bitcoin code.
This can result in security gaps as well as other potential attacks. For example,
smart contracts present autonomous programs that users can design and run on their
computers. These can, for example, exhibit security vulnerabilities due to program
errors (more on this subject can be found in the article [21]). In 2016, scientists at the
53 Denial of Service.
56 4 Where Does the Hype End, and Where Does the Innovation of Blockchain. . .
4.2.2 Scalability
transactions. Because the lightweight users do not have any block contents (transactions), they
have to trust the full nodes that the blocks and transactions are created in accordance with the rules
and do not contain any doubled spending.
57 The few full nodes could also possibly agree, for example, to manipulate the system by double-
spending.
4.2 Challenges of Blockchain Technology 57
1,600,000
1,400,000
1,200,000
Transacons per Day
1,000,000
800,000
600,000
400,000
200,000
0
Jan-16 Jul-16 Jan-17 Jul-17 Jan-18 Jul-18 Jan-19 Jul-19 Jan-20
420,000
380,000
340,000
Transacons per Day
300,000
260,000
220,000
180,000
140,000
100,000
Jan-16 Jul-16 Jan-17 Jul-17 Jan-18 Jul-18 Jan-19 Jul-19 Jan-20
Scalability Security
58 Hyperledger is an open source consortium founded in December 2015 by the Linux Foundation
If the block time is reduced in order to raise the system’s productivity,62 or, more
precisely, the transaction throughput, the security of the system becomes vulnerable.
Generally-speaking, a shorter block time means a higher fork rate, which in turn
means that a higher number of confirmations is required (in the Bitcoin system,
a transaction is only considered confirmed after 6 blocks). A higher fork rate also
means that more work is wasted [17, 32]. Ethereum solves the problem of the shorter
block time (between 12 and 15 seconds) using the modified GHOST protocol [33,
127], in which orphan blocks63 are included into the calculation of the “longest
chain” and the miners of these blocks rewarded.
The block size presents a further limitation. Besides determining the block time
and transaction throughput, it also ensures the security in a public permissionless
blockchain system. In the Bitcoin system the block size is 1 MB. To raise the block
size would mean blocks having longer propagation and confirmation times, which
in turn could lead to an increased fork rate and double-spending attacks [127].
Therefore, as with Ethereum, the block size must be correspondingly smaller to
allow a secure and fast distribution of blocks within 15 seconds [32]. In contrast
to Bitcoin, the Ethereum block size is not defined and is based on the complexity
of smart contracts. This is known as gasLimit (see Sect. 4.1.1) per transaction.
The gasLimits of the transactions included in a block are added and their total
constitutes the gasLimit for the respective block. The maximum gasLimit for a
block is determined by an algorithm64 and by a consensus of the miners [128].
Miners are allowed to change the maximum gasLimit for a block by 0.0975 percent
of the gasLimit of the previous block [128]. Therefore, the maximum block size in
Ethereum can vary slightly from block to block [74]. In May 2020, the block size in
the Ethereum system was approximately 27 kB [112].
The Bitcoin community has long discussed whether the block size should remain
at 1 MB or be increased to 2 MB. Such fundamental changes in the protocol, for
example block size or block time, require a hard fork. Because a hard fork must be
accepted by all miners and all users, those who do not accept these changes and do
not update them are “split off” from the system. Neither the Bitcoin developers nor
the miners can force users to accept new changes that violate existing system rules,
this is due to the design of the system. This means that developers can only hope
that the new changes will be accepted by many miners and users [190].
A new cryptocurrency called Bitcoin Cash (BCH) was created through such a
split on August 1, 2017. It introduced 8 MB blocks and split the Bitcoin system.
Another group in the Bitcoin community chose to take a different path in solving
the block size problem. On August 24 of the same year, through a soft fork as part of
62 The term scalability is often associated with productivity. If productivity is maintained when the
Fig. 4.12 General format of a Bitcoin transaction before BIP141 and after
the BIP 14165 [125], a number of innovations for better scalability under the name
“Segregated Witness,” SegWit for short, was introduced in the Bitcoin system. The
advantage over the hard fork is that users can be updated at any time, after the miners
have accepted the changes. This means that the miners and the users, who have not
yet updated the new functionalities, continue to belong to the same system as the
updated users. They only see one “extra text” they do not understand, however this
does not pose a problem as it does not mean any changes to the fundamental rules
[188–190].
The focus of BIP 141 is on a new data structure called Witness. A part of the
transaction is “moved,” therein, namely the signature, which otherwise makes up to
70 percent of a transaction.
At this point, let us look back at the technical foundation described above
and recall the “structure” of the Bitcoin transaction (see Sect. 4.1.1). A Bitcoin
transaction consists of one or more inputs and outputs. In the input we have a
Bitcoin value (the hash of a previous transaction, also called the transaction ID,
and a corresponding output index) and its unlocking mechanism (ScriptSig). The
output includes:
• what part of the value is to be transmitted as well as
• a locking mechanism with a series of instructions describing how the owner of
the respective recipient address can gain access to the value (ScriptPubKey).
Thus “Witness” still remains part of the transaction (see Fig. 4.12), but is not
hashed in the transaction ID. Therefore, users66 who have not yet implemented
SegWit think that SegWit transactions do not have a signature (in the ScriptSig)
and do not require one (in the ScriptPubKey). The updated users understand
the instructions in the ScriptPubKey and know that the necessary signature is in
the “Witness area.” Because both updated and non-updated users see the same
transaction ID, they agree to the structure and format of the transaction. For greater
65 Bitcoin Improvement Proposal (BIP) is a design document for the introduction of functions or
security, the miners, who have implemented the SegWit, add a Merkle root67 of the
“Witness signatures” to the input of the coinbase transaction68 [188].
The question might arise as to what extent a SegWit update solves the scalability
problem of the Bitcoin system and, specifically, how the size of the transaction
is decreased if “Witness” still remains a part of the transaction. The block size
limit in the Bitcoin system remains unchanged after the SegWit update at 1 MB.
Block size is replaced by “block weight,” and the block can have a “weight” of
between 2 and 4 MB. This means, the current full nodes need more time than
before to verify a block. This correspondingly increases the block’s spread time
in the system. SegWit supporters consider the additional verification time and the
associated longer propagation time for a block of individual nodes (full nodes) as
low, and that it lies within the limits of what the network can currently handle [190].
The debate about the “efficient” block size therefore continues. Other experts within
the Bitcoin community are of the opinion that the 2 to 4 MB size blocks are still not
sufficient to reach the desired transaction throughput and to make the Bitcoin system
competitive, when compared to centralized solutions.
On the other hand, SegWit is paving the way for new opportunities that could
improve the flexibility, security and scalability of the Bitcoin system in the near
future. Only a few of these are Version bytes, Merkelized Abstract Syntax Trees
(MAST), the Schnorr cryptographic signature algorithm, and Lightning Network.
A so-called version byte encodes the unlocking mechanism type (“ScriptSig
type”).69 In the Witness area we find the following:
• Pay to Witness Public Key Hash (P2WPKH):70 Signature and matching public
key,
• Pay to Witness Script Hash (P2WSH):71 Script and the necessary data for
implementation (public keys and signatures) (Figs. 4.13 and 4.14).
Let’s imagine that Alice wants to “transfer” two bitcoins to Bob. Bob plans that
these bitcoins only be spent by his children when they reach the age of 18. Bob
creates two private keys, of which, with the help of ECDSA (Elliptic Curve Digital
Signature Algorithm, see Sect. 3.1.2.) he receives a public key for each. Bob creates
a script which states that his daughter Bea (first public key) will be allowed to use
half of the bitcoins starting in 2025.72 It also states that his son Bill (second public
key) gets the second half starting in 2030. Finally, Bob takes the script with the
public keys used there and creates a hash value. Since both Bob and Alice have
either from a public key and is 20 bytes long (Pay to Witness Public Key Hash address) or from a
script and is 32 bytes long (Pay to Witness Script Hash address).
70 Version byte is 0 and 20 bytes hash.
71 Version byte is 0 and 32 bytes hash.
72 Assuming that in 2025 she will be 18 years old.
62 4 Where Does the Hype End, and Where Does the Innovation of Blockchain. . .
scriptSig: (empty)
scriptPubKey: 0 <20-byte-key-hash>
Fig. 4.13 Pay to Witness Public Key Hash – BIP141 [59, 125]
scriptSig: (empty)
scriptPubKey: 0 <32-byte-hash>
already implemented SegWit updates, Alice uses Bob’s P2WSH address. This is a
32-byte hash value, which Bob generated, and a version byte 0 at the beginning.
This information appears in the ScriptPubKey in the output of Alice’s transaction.
Bea can thus use her private key (the private key that corresponds to her public key)
to “spend” her bitcoin starting in 2025. To do this, she would create a transaction
whose ScriptSig is empty, and contains the following information in the Witness
area: version byte 0, her signature (generated by means of her private key) and the
script with the public key used there.
In the future, bitcoins can be blocked by various scripts, which developers can
design in desired fashion and that can be introduced at any time as a soft fork. For
example, a P2WSH address version byte 1 with a subsequent 32-byte hash value
would mean that the bitcoins to be “transferred” are “locked out” by a mechanism
called the Merkelized Abstract Syntax Tree (MAST for short). Two approaches that
we are already familiar with: the Pay-to-Script hash and the Merkle Tree, are put
together using an abstract syntax tree technology. An abstract syntax tree, as the
name implies, allows a script to be composed in the form of a tree. The individual
instructions and the data of the script represent the “leaves” of the tree. These are
hashed together to form a Merkle root (see Sect. 4.1.2). The Merkle root is then used
in the form of a 32-byte hash as the P2WSH address.
In the case of a P2SH or a P2WSH address, a script is usually listed in full in the
ScriptSig or Witness area. If we think back to our example with Alice and Bob, this
means that in 2030 Bill must list the complete script in his Witness area besides
his signature (even when Bea has already spend her bitcoin, therefore already
listed the script in her transaction). If Bob had used the MAST concept, instead
of simply hashing the script, Bill would only have to use his part of the script and
a hash of Bea’s script. This would have several advantages, such as data protection
and improved scalability. The information from Bea’s script is, for example, not
revealed in the bill transaction. Because it is only one hash value, the transaction is
correspondingly smaller.
4.2 Challenges of Blockchain Technology 63
73 Ethereum client settings: Geth full or Parity no-warp (for more on this topic see [121]).
74 Statetree pruning.
75 By 2022. For more information on this subject, see the Ethereum Roadmap Appendix F.
76 Co-founder of Ethereum.
77 Sharding is a scaling method used in the area of databases. Data in a database is thereby split up
The entire architecture of the Ethereum system is thereby “rebuilt” and can be
displayed in several layers. The shards represent the two lowest layers of this new
architecture: the data and execution layers (see Fig. 4.15). The transactions and
smart contracts are executed and saved for each shard. The next layer is used to
coordinate and validate the data produced in the shards. This layer consists of a new
blockchain – a so-called beacon chain, which uses a PoS algorithm (in Ethereum
Casper protocol). Miners are replaced by validators, which using the PoS algorithm
have the possibility to create a block in a shard that has been randomly assigned
to them. For each shard, a group made up of 10078 randomly selected validators,
authenticate the new block by signing (attesting). The block header is included in
the beacon chain block with at least 67 signatures as references to the shard block
[108, 116, 117, 168].
The current Ethereum blockchain remains available, uses PoW and represents a
top layer. Any Ethereum user who stores 32 Ether in the form of a smart contract in
the Ethereum blockchain (top layer) can be a validator.
Ethereum 2.0 is an attempt to solve the scalability trilemma. In this way, the
scalability of the Ethereum system should be greatly improved without sacrificing
security and decentralization.
Up to now, we have looked at possible scaling solutions that make the existing
blockchain system more efficient through the adaptation of existing parameters and
the addition of new functionalities. A further scaling option intended to relieve the
78 Because Ethereum 2.0 is still under development at the time of this writing, some implementation
details given here may differ from those expressed at a later date.
4.2 Challenges of Blockchain Technology 65
system takes the form of so-called off-chain transactions. As the name suggests, the
transactions are carried out outside of the blockchain and thus not registered in the
blockchain. Here, we are again reminded of the scalability trilemma. Indeed, the
security of the system can be compromised because the transactions are no longer
verified in the network. Both Bitcoin and Ethereum are working on possible secure
off-chain solutions:
• Micropayment channels (or payment channels),
• State channels,
• Child chains,
• Side chains.
We have previously touched on the problem of long transaction confirmation
times and rising transaction fees in the Bitcoin system. A Bitcoin transaction is first
then considered valid when it is included in a block that already has at least five
successor blocks. As every new block is created in ten minutes, the waiting time
is at least one hour. Since miners receive the transaction fees of all transactions
included in the block, they prefer transactions with higher fees. This means that the
higher the transaction fee, the faster the transaction will be included in a new block.
Thus, a small payment with bitcoins can be subject to a relatively long waiting
time – a disadvantage that can be remedied by off-chain transactions. Temporary
micropayment channels are created between the users. As long as the channel is
open, users can exchange transactions in large numbers and do so at high speed.
After expiration of the agreed time, these transactions (or a sum total transaction)
are released for the blockchain. Micropayment channels are already in use in the
Bitcoin system. A slightly adapted example of this procedure from Bitcon.org offers
further insight on the subject [51].
Imagine that Bob is a digital nomad and operates a website with helpful
tips for budget backpacking trips. His website includes an online forum that
needs to be maintained around the clock. Bob has hired Alice to take care
of the forum. Every time someone writes something in Bob’s forum, Alice
is notified and can check the post to make sure it doesn’t violate forum
policy guidelines. Bob wants to pay Alice immediately after each verified
post and uses Bitcoin’s micropayment option to do this. Bob asks Alice for
her public key and then creates two transactions. In the first transaction, Bob
pays 90 millibitcoins to the P2SH address. The script at this address requires
signatures from Alice and Bob to unlock the bitcoins. There is a transaction
fee of 10 millibitcoins. This transaction is called a bond transaction. If Bob
were to immediately send the transaction to the blockchain network, Alice
could choose not to do any work and not to sign the next transaction79 that
unlocks the bitcoins. Consequently, Bob could also not do anything with
these bitcoins, and he therefore initially keeps the transaction. In the second
(continued)
66 4 Where Does the Hype End, and Where Does the Innovation of Blockchain. . .
The idea of micropayment channels was further pursued by Joseph Poon and
Thaddeus Dryja in their 2016 work, “The Bitcoin Lightning Network: Scalable
Off-Chain Instant Payments.” This work describes a concept for a network of
micropayment channels for the Bitcoin system. The concept allows for scalable and
4.2 Challenges of Blockchain Technology 67
A chess game between Alice and Bob provides an example of this situation.
Instead of sending a new transaction with the state update to the Ethereum
network after every chess move, the states are updated in a state channel.
Only the last transaction is sent to the network [118].
82 Recalling our online forum example, in this case the bond transaction can be “financed” by Alice
and Bob’s and either of them can close the channel by transferring the latest version of the update
transaction to the blockchain.
83 In the Lightning Network, a secure transaction exchange is also possible between two users who
do not have an open micropayment channel between them. A path across several network nodes
(users) is found (similar to routing on the Internet through multiple hops). The technology that
allows this is called Hashed Timelock Contracts (HTLC). For example, Alice has an open channel
with Charlie, and Charlie in turn with Bob. Alice and Bob want to exchange off-chain transactions.
Then Alice requests a hash from Bob and counts the nodes (users) between both. Depending on
the number of nodes (there is only one node between Alice and Bob – Charlie), it sets an HTLC
expiration time of two days. Charlie sets the HTLC expiration time with Bob to 1 day. Bob shares
the hash value with Charlie and in this way both agree to exchange small transactions. Charlie and
Alice go through the same process (see Fig. 4.16) [30].
84 The fees in the Lightning Network are very small and are paid between the two users
In 2016 and 2017, as the hype surrounding blockchain technology reached its
peak, numerous companies took part in a “blockchain experiment” – an experiment
because it involved a new technology, the definition of which is still being discussed
today.1 Numerous companies have attempted to make their processes more efficient
through blockchain or by offering other companies an effective blockchain solution
– each with its own idea of what the blockchain is. But contrary to expectations, this
new, “ultimate” technology could not solve all the problems in the world, and the
first doubts started to slowly surface as to whether blockchain could keep any of its
promises at all. A sober consideration of a new technology is the cornerstone of its
success, and this can only be carried out in the course of proper implementation.
We will therefore focus on the innovation of blockchain technology and consider
the advantages that this technology offers compared to existing solutions, such as
distributed databases. Imagine a random application with numerous users and/or
parties that want to interact together but do not trust each other. Which of the
following solutions would you consider for your application?
• A robust and highly efficient solution with limited user permissions (scalable and
secure)2 or
• a robust solution without intermediaries and a central authority (decentralized
and secure).3
The first solution describes a private permissioned blockchain. Such a solution
can often also be made possible by a distributed database system. The second
solution uses a public permissionless blockchain.
When the central issue is the trust to be placed in a third party, we speak of a
centralized system. For example, in an identity management system today we need
one or more trustworthy verifiers who can verify and confirm the statement (claim)
we make. Such a statement can be an address or the ownership of a driver’s license.
This can be done with the help of the public key infrastructure (PKI), which has
been widely used for many years. In other cases, where trust is necessary, solutions
such as the Web of Trust4 or Proof-of-Authority5 can be applied.
Let’s assume you have decided on a robust solution without intermediaries and
a central authority. The next step is to define additional criteria. These include
the cost-benefit ratio (size of the system,6 the existence of a separate IT team,
transaction fees or gas costs7 for existing public blockchain providers). Based on
this, the decision is made whether you want to use an existing solution or if you
want to develop your own. The next question concerns the actual objective, or more
specifically the “content” of your application, namely: Which interactions are to
take place between the users? Is the focus of your application on the fact that the
state (or more precisely the possession of a value) must be securely recorded and
logged? For example, in the case of the ownership of securities, an art object, a
product8 or the logging of copyrights. The ownership can additionally be linked
to simple conditions, such as permission for a limited period of time.9 For such
purposes, a simple UTXO-based blockchain 1.0 is sufficient since the state of the
values recorded means that they are either “unspent” or “spent.”
he doesn’t [6]. Such a network of trust enables a user to form an opinion about another user without
having interacted with him before [14]. Various algorithms exist to implement such a system.
5 PoA – a group of trustworthy validators secures the system. More information on the subject of
Sect. 4.1.1).
8 For instance, a prescription drug whose path from the manufacturer via the pharmacist to the
Every company who wants to jump on the blockchain bandwagon should take a
closer look at the cost-benefit ratio before deciding on an implementation. There
are numerous projects and providers on the market that support companies in
introducing blockchain. A company has to ultimately decide whether to pursue
the development of its own blockchain or to use an existing one (e.g. Bitcoin or
Ethereum).
Bitcoin and Ethereum have established themselves as standards on the
blockchain scene and currently serve as the basis for many other applications.
iceKe
y
Avl ate
i
ta Pr
Metada
ment A
- Apart
e n ta l period
-R to y
from x
Apartment A Apartment A
Fig. 5.1 Colored coins method based on the Bitcoin blockchain with a new value (apartment for
rent)
acquire a different semantic/use. For example, they can represent a new value such
as a certificate, a share of a stock, a movie ticket, a rental apartment or a digital key
for a house or a car (see Fig. 5.1) [126].
The users who exchange colored coins use a colored coins application and know
what value or what property the coins have. However, the blockchain miners cannot
recognize the “color” of the digital coins and see all incoming transactions as
standard transactions. For this reason, the added information (metadata) must be
verified by those who use colored coins.
The largest US stock exchange platform, NASDAQ11 used colored coins in their
LINQ platform in December 2015. The colored coins were exchanged between
private investors and/or banks and linked to securities. LINQ offers a service for
secure private transactions and through blockchain technology allows an overview
of all previous owners.
After the development of the ERC-20 token standards12 in November 2015,
several colored coin projects on the basis of Bitcoin have either been discontinued
or migrated to the Ethereum system (ERC-20 tokens).
With the Segwit update, the Bitcoin system has gained flexibility and is thus able
to offer a good basis for future projects in the area of colored coins.
The so-called RGB project is based on the idea of colored coins in conjunction
with the Bitcoin Lightning Network and a client-side validation model [98]. This
allows a decentralized value transfer with a minimal verification time, a high
transaction rate per second and low fees.
The limited and inflexible scripting language of the Bitcoin system motivated
developers to create the Ethereum system in 2014. Originally, the Ethereum system
was planned as an improved version of a cryptocurrency. It should provide an
alternative to the Bitcoin colored coins method13 and offer a flexible scripting
language for the simple development of new functionalities based on an existing
blockchain. Ultimately, the Ethereum protocol goes far beyond being a pure
currency and offers a blockchain system with a built-in programming language.
This makes it possible for everyone to create smart contracts and decentralized
applications (dApps) based on their own arbitrary rules for ownership as well as
transaction and state transition formats [127].
Ethereum smart contract are far more than mere cryptographic “boxes” with
specific values that can only be unlocked if certain conditions are met. They can
better be described as “autonomous agents” that exist within the Ethereum system.
They have “accounts” as users do and “account numbers” – more specifically
addresses. These “autonomous agents” have control over their own contents,14 for
example over the values they contain, conditions, and the Ether balance that can be
used for system-dependent fees. Smart contracts always execute a certain part of
their source code if they are “triggered” by a special message from another smart
contract or a user through a transaction. These “autonomous agents” are executed
at the computer of every Ethereum user in a specially created environment: the
Ethereum Virtual Machine (EVM) [127].
As a simple example, if a potential tenant has paid the fee for a rental apartment
and the day to start the rental has arrived, the smart contract enables a digital key to
be sent to the tenant to unlock the apartment [81]. A further well-known example
for the use of the smart contract is renting a car or buying one on credit. Based on
the general conditions described in the smart contract, the car can be made available
to the renter or buyer. If the buyer does not pay a loan installment on time or if the
rental period of the car has expired, the car can be blocked for the user.
A connection to information outside the blockchain is enabled for smart contracts
through so-called oracles. Oracles function as a bridge to the real world [80]. For
example, to convert from US dollars to BTC, an oracle is inserted into the smart
contract for the exact conversion at the current exchange rate [127]. The London-
based company Provable (formerly Oraclize) offers such a service for connecting
blockhain-based DApps (Ethereum, Rootstock, R3 Corda, Hyperledger Fabric and
Fig. 5.2 Provable (formerly Oraclize) – Data messenger for decentralized applications [164]
EOS) with any external interfaces of various web applications (Fig. 5.2). One of the
Provable projects was Proof-of-Identity [160]. An Ethereum address was thereby
linked to an Estonian digital identification number (Digi-ID).
The concept of smart contracts existed long before the development of
blockchain technology. Already in 1997, Nick Szabo coined the term “smart
contract” in his work “Formalizing and Securing Relationships on Public Networks”
[34]. He describes smart contracts as a way to make relationships/ interactions
executed via public networks, such as the Internet, secure and legally binding.
Smart contracts, according to Szabo, use protocols and user interfaces to facilitate
all steps of the contractual process and to reduce costs, when compared to paper-
based procedures. Unfortunately, there was no secure replicated database system
corresponding to the idea at the time, and thus Nick Szabo’s protocol was never put
into practice [127].
The challenges of today’s smart contracts lie in their legally binding nature as
well as in issues of liability and data protection. Who bears the responsibility if an
error has crept into the code of a smart contract? Or, how can the legally binding
nature of a smart contract be proven in the real world?
The Ethereum hard fork of July 20, 2016 presents an example of what can
go wrong. A month earlier 3.6 million Ether (65 million euros) were stolen by
an attacker who found a bug in the framework of The DAO. “The DAO” is an
application that was implemented as a smart contract on the Ethereum blockchain
[178]. The application had no central management institution and was based on
rules laid out in the code – for all intents and purposes, a company without its
5.1 The Application of an Existing Blockchain Solution 75
own employees. “The DAO” was, broadly speaking, an investment company that
operated crowdfunding through a voting process. After the attack, the Ethereum
developers tracked down the bug and decided on a hard fork update in order to get
back the stolen Ether. “The DAO” was discontinued after this incident.
In summary, while an account-based solution such as Ethereum offers more
flexibility in the creation of new applications by using smart contracts, due to its
complexity it is not as robust as the UTXO-based Bitcoin system.
15 A separate and independent blockchain that is not built on an already existing blockchain (e.g.,
18 SPV – Simplified Payment Verification Proof; this gives users the possibility to verify transac-
tions without downloading the entire blockchain (e.g. using block headers).
19 Parent blockchain.
20 Confirmation period: 1-2 days.
5.1 The Application of an Existing Blockchain Solution 77
Transaction Transaction
e2f2581b... 006e5c0b...
Inputs Inputs
Index 0 Index 0
TXa2c...(1 BTC from David) TXe2f...(2 BTC from
+ScriptSigAlice Locking address)
Wait for +ScriptSigAlice
Index 1 contest period
TXsk4...(1 BTC from Amy) Outputs
+ScriptSigAlice Index 0
Outputs 1000.000.000 UCC,
ScriptPubKeyAliceSC
Index 0
2 BTC,
ScriptPubKeyLocking address Wait for
confirmation period
The authors of the sidechain article founded the Blockstream company in the
year of the article’s publication. Their objective was to advance the technology and
develop sidechains for various projects.
A project began in 2015 called Rootstock21 uses the sidechain technology and
thereby offers a platform for smart contracts. The Rootstock sidechain has a two-
way peg connection to the Bitcoin parent chain, it has no cryptocurrency of its
own, and passes on the transaction fees for merged mining22 to Bitcoin miners.
The blocks on the Rootstock sidechain are created every ten seconds.
If after an analysis of your needs you decide on your own blockchain, there are
many implementation options available. In recent years numerous consortia and
projects have emerged that offer “Blockchain-as-a-Service.”23 They support other
companies in developing, testing, and providing applications. Multiple application
areas have already been conquered by blockchain technology and more and more
companies offer ready-made solutions that are tailored to specific areas.
The development of a new blockchain offers greater flexibility and freedom in
the composition of the desired functionalities and rules, however, at the expense of
the development time and security, since changes to the existing solutions can lead
to security gaps and defects. These can be used, for example, in so-called 51 percent
attacks, in which a miner or a mining pool has accessibility to more than half of the
entire computing capacity (hash rate) in the network and can therefore create new
blocks and manipulate them. How vulnerability in the code can be exploited is also
seen in the attacks on the decentralized autonomous network “The DAO,” which in
the meantime has ceased to exist.
As the source code of many blockchain-based systems is public, one can freely
use it for their own blockchain applications and adapt it accordingly. Bitcoin,
Ethereum, and Hyperledger systems have to a large extent asserted themselves on
the blockchain scene. Their source code currently serves as the foundation for many
other solutions. A separate and independent blockchain that is not built on an already
existing blockchain (e.g., Bitcoin) is called an alternative chain, or alt chain for
short.
For a better ideas of which applications are possible based on blockchain
technology, or which areas could benefit from this technology, we will take a closer
look in the next chapter at existing blockchain projects.
Abstract For a better idea of which applications are possible based on blockchain
technology, or which areas can profit from this technology, we will look at
already existing blockchain projects. We ask you to note that the projects or
companies mentioned in this chapter serve only to illustrate ideas and possible
implementations.
It’s amazing how fast blockchain technology has spread in a decade. Through
numerous projects and intensive research, blockchain technology has undergone
rapid development from the original application area of a cryptocurrency, or a
decentralized register, to a programmable decentralized trust infrastructure. Cur-
rently, there is hardly any area of application with a decentralized infrastructure in
which the introduction of blockchain has not been attempted. Science, medicine
(for more on the subject of blockchain and medicine, see the book by E. Boettinger
and J. zu Putlitz “Die Zukunft der Medizin”(The Future of Medicine), the chap-
ter “Die Zukunftspotenziale der Blockchain-Technologie” (The Future Potential
of Blockchain Technology) [24]), identity management, cloud computing, cloud
storage, the Internet of Things, finance, insurance, logistics, retail, energy supply
– these and other sectors are the beneficiaries of blockchain. Numerous startups
were founded that offer blockchain as the total solution or as part of the solution.
They either use an existing blockchain (e.g., Bitcoin or Ethereum) or develop their
own. Also companies with a developed infrastructure and established products and
services, such as IBM, Microsoft, Samsung, SAP, Intel and many others, have been
working with this technology for a long time and are starting new projects in this
area.
Naturally, we must also remember that not every new blockchain project has
been crowned with success. We’ve chosen not to provide any figures here since
statistics often include pseudo-blockchain projects. Therefore the hype surrounding
blockchain technology is not only a driver of development, but, at the same time, the
main reason for numerous failures. The planning and development phases of many
projects that depend on trend technologies are often extremely accelerated. This is
done with the intention of getting the product on the market as quickly as possible
and benefiting from the hype. With such an approach, negligence in understanding
the technology and the essential role of security often have a pivotal effect on the
outcome. It is therefore advisable to either address the problem and look for an
appropriate technology or at least to first deal with the technology and be able to
take advantage of its strengths.
Whether we use an UTXO or an account-based model does not initially depend
on the area of application of the blockchain technology but on the specific problem.
It is thereby necessary to take into account the focal points and characteristics of the
respective model in relation to your concept.
By looking at the following use cases, We can summarize the advantages of a
system made up of numerous participants who trust neither the other participants
nor the other intermediaries and want to interact with the system:
• Tracking possession of a value.
For example, when buying and selling paintings at auctions it is easy to prove
the origin, previous owner and current owner (when, where, by whom?).
• Joint control over specific values (Multi-Signature).
• Voting.
FollowMyVote offers in collaboration with BitShares a voting platform based
on blockchain. The system protects votes by ensuring that they will not be altered
by third parties, as well as offering transparency and flexibility.
• Automated contracts.
For booking and renting private accommodations as well as cars and bicycles,
among other things.
• Games, including gambling.
• Identity and reputation systems.
Since more and more health data is being generated through new technology,
(for example, wearable devices like fitness wristbands or smart watches) the need
for this data to be stored securely and digitally cannot be underestimated – also
with limited access granted to specific data. In healthcare, a smart profile can
also give patients the ability to decide for themselves about whether to share their
own data. Furthermore, it is possible using the blockchain, for example, to share
this anonymized data with researchers (Public Research Repository), learn more
about one’s own illness, communicate with others who share the illness, carry out
fundraising or crowdfunding, and keep track of digital prescriptions and invoices
[95]. At the blockchain technology conference “Consensus 2017,” in New York
in May 2017, the Los Angeles-based startup company “Gem” presented the first
blockchain product for health data management (Fig. 6.1) [124].
• Decentralized markets.
For example, OpenBazaar uses blockchain technology for P2P online trading.
Users can act as buyers or sellers and pay for purchased goods in bitcoins, Bitcoin
Cash, Litecoin or Zcash. The sale and purchase are secured by a 2-of-3 multi-
signature smart contract. When the buyer and seller agree on the product and
price, the buyer sends the money to the smart contract address. If the deal is
successful, and the buyer and seller are both satisfied, the buyer releases the
Pharmacy
Family
Medical
Records Doctor
Treatment Provider
Plan Nurse
Payer
Patient Healthcare
6 Projects and Application Areas of Blockchain Technology
Claims
Visits Payments
money to the seller (both sign the payout transaction of the multi-signature
address). If one of the two business partners is dissatisfied (e.g., the goods are
not delivered or the buyer did not pay for them), a moderator intervenes in the
communication. The moderator has the third private key for the multi-signature
address [158, 159].
• Decentralized data storage or data processing.
One reader or another would likely argue that this area mainly involves
efficiency, and that providers with centrally managed solutions are far superior
to blockchain solutions with their current limitations in scalability. In fact, today
there exists a huge amount of cloud solutions (cloud storage and cloud com-
puting), with market leaders “giants” like Amazon, Microsoft, IBM and Google
[110]. Users often pay for such solutions with their data. A P2P cloud solution
thus arose that is independent of a central instance, and in which the users of
the system make their resources (storage or computing resources) available to
other users and are rewarded for this. Many providers have already partially
implemented this idea. For example, with the cloud storage solutions, the files to
be stored are first encrypted, and then split into smaller fragments, and first then
are these fragments distributed to the users who have made their storage resources
available. The information where, for example, the individual fragments (so-
called metadata) are saved is often centrally stored.1 Some providers also strive
to offer a decentralized solution for the metadata and leave the decision up to the
users whether they store their metadata locally or externally at a cloud storage
provider of their choice (Storj is an example of this [180, 181]). The blockchain
technology, specifically Blockchain 2.0, offers numerous advantages with such a
solution. For example, the administrative layer (where and how the fragments of
the files are to be stored and who and to what extent is to be rewarded, etc.) can
be decentralized with the help of such solutions.
• Decentralized autonomous organizations.
As we have already seen, so-called decentralized autonomous organizations
(DAOs) are possible through blockchain technology. This means that the organi-
zation has neither a business manager, nor any other central leadership instance or
company headquarters, but instead has a decentralized structure with automated
decision-making according to defined rules. These rules are determined by the
majority decisions of the involved participants and continuously developed [101].
DAOs buy products and services in compliance with their smart contracts from
third parties, who are so-called contractors. Payment is made in cryptocurrency.
Based on the specifications, the contractors produce their products and services,
which are in turn are used or marketed by the DAO. Through the marketing
of these products and services the DAO earns money that is reinvested or can
1 A good example of this is the Bdrive solution [48] from the Bundesdruckerei, with the difference
that the encrypted and authenticated data fragments are not distributed to users, but are distributed
to independent cloud storage services that are ISO-certified and whose data centers are operated in
Germany [49].
6 Projects and Application Areas of Blockchain Technology 83
the financial system. The Federal Government will publish a bill to regulate
the public offering of certain crypto-tokens. Before the publication of the offer,
the crypto-token providers must first provide an information sheet created by
the Federal Financial Supervisory Authority (BaFin) in accordance with the
legal requirements, which must then be published. At the same time, those
who offer custody services for cryptocurrency or any services in connection
with special crypto values are also subject to money laundering regulations.
Service providers in Germany who offer the exchange of cryptocurrencies into
other cryptocurrencies and cryptocurrencies into fiat currencies already require
permission from the BaFin. They also obligated to comply with the money
laundering laws. The Federal Government also wants to ensure the stability of
the financial system by avoiding the so-called stablecoins.2 It seeks to work at
the European and international level to ensure that these coins do not become an
alternative to federal currencies [89].
• Bringing innovation to maturity. To this end, projects and living labs from
specific application areas are promoted: namely, energy, law, logistics, produc-
tion, verification of higher education certification, and consumer protection. A
concrete measure in the energy sector is the piloting of a blockchain-based
energy systems connection by the Federal Government. In the legal sector,
the Federal Government supports an “Industry 4.0 – Legal Testbed.” A test
environment for the development of secure digital business processes is being
established for this. The focus is on legal questions about smart contracts in
machine-to-machine communication. The test environment is initially planned
for logistics and production. With another funding measure, “Industry 4.0 –
Collaboration in Dynamic Value-Added Networks,” the Federal Government
seeks to research if and how the use of blockchain technology can contribute to
transparency in supply and value chains. Here, emphasis is placed on company
cooperations (smart contracts) and process data transmission. The employment of
blockchain solutions for verifying the proof of competency (certificates, ECTS)
initially in the areas of international student mobility and vocational diplomas
and continuing education certificates will be checked and in specific cases funded
by the Federal Government. The Federal Government also plans to use properties
of blockchain technology, such as transparency and decentralization, in the area
of consumer protection. With this in mind, the Federal Government will develop
and promote blockchain applications that contribute to consumer protection, for
example, in the food chain [89].
• Enabling investments. The Federal Government seeks to offer companies and
organizations sufficient investment security for the use of blockchain technology
by setting up clear framework conditions (development of standards, possibility
of certification and compliance with IT security requirements). The Federal
2 Stablecoins, as the name suggests, are cryptocurrencies with low volatility, i.e., stable prices,
measured in fiat currency. This is achieved by coupling the cryptocurrency with a good that has a
stable value (e.g., gold or a fiat currency such as the euro) [68].
6 Projects and Application Areas of Blockchain Technology 85
3 How data from a blockchain can be sent to courts of law or any verification authorities [89].
4 Forexample, for complex works with many contributors, such as those in the film or music
industries [89].
86 6 Projects and Application Areas of Blockchain Technology
e-police keyless
system e-notary mobile-id signature
infrastructure
company
i-voting e-justice registration e-health e-prescriptions
portal system
blockchain has been introduced in many registers in Estonia, such as in health care,
and in parliamentary, judicial and security sectors. Estonia uses a KSI blockchain
that was developed by the Estonian company Guardtime [107, 136]. This technology
is also used by NATO, the US Department of defense, and the EU Information
System for Cybersecurity [106]. It can be argued whether the blockchain definition
in the context of the KSI blockchain is a private permissioned blockchain or a
technology that uses cryptographic hash functions to link data/information with each
other (linked timestamping) [136].
Among other, Sweden has also expressed interest in blockchain technology.
A blockchain-based5 register has existed there since 2017 [85]. The Netherlands
welcomes the opportunity to play a leading role internationally in the blockchain
technology sector. In March 2017, the national coalition of blockchain technology
in the Netherlands (Dutch Blockchain Coalition6) presented a comprehensive action
plan to the Dutch Ministry of Economic Affairs [94, 105]. After numerous studies
on the possibilities of blockchain technology in 2019/2020, with the pre-selected
application cases (“Self-Sovereign Identities”,7 logistics, academic certificates and
diplomas, etc.), the DBC aims to become involved in practical application [105].
A detailed overview of the blockchain projects in Europe is provided by the
“European Union Blockchain Observatory and Forum.” This is an initiative of the
European Commission [122].
In the following, some of the applications and projects in which blockchain
technology is already being used are explained in greater detail.
The financial sector is the very first area where blockchain technology has found
growing application. While a large number of cryptocurrencies have been intro-
duced since the inception of Bitcoin, not all of them have prevailed. The currently
5 PrivateBlockchain.
6 DBC is a Dutch joint venture between partners from government, science and industry [105].
7 More on the subject of “Self-Sovereign Identity” in Sect. 6.2.
88 6 Projects and Application Areas of Blockchain Technology
8 May 2020.
9 May 2020.
10 May 2020.
11 May 2020.
12 May 2020.
13 Private blockchain.
14 Fiat currency or fiat money is money that is not covered by assets. It is used as a medium
of exchange but has no intrinsic value. Today’s currency systems are usually not covered by a
commodity. For example, money issued by a central bank such as the euro or dollar is called fiat
money.
15 NASDAQ – National Association of Securities Dealers Automated Quotations.
16 ASX is the Australian securities exchange located in Sydney.
17 Know Your Customer.
6.2 Identity Management 89
The topic of identity management18 is undoubtedly one that most of us have already
encountered privately and/or professionally, as are the challenges that go along with
it. We are asked again and again to disclose our personal data (name, address,
telephone number, credit card number, etc.), to make it available upon logging in to
every new online service, and to trust that it will be stored safely. In addition, there
are huge amounts of login data that we must keep and manage ourselves securely.
From the user’s point of view, it would make much more sense to assign different
services partial authorization for certain digital identity data than to create a new
identity for each new service.
Of course there are also many solutions on the market for this problem. In addi-
tion to being user-friendly, they must be able to guarantee a secure infrastructure.
Solutions that lay the foundation for a so-called user-centric identity,19 such as
the OpenID method or OpenID Connect, allow users to log in (authenticate and
authorize) to various online services, as long as they are supported [43].
Having an interoperable digital identity, whose release for other services requires
the consent of the user, still does not mean that the user has complete control over his
personal date. A so-called self-sovereign identity (SSI) goes beyond the user-centric
identity and allows the user to remain in control of his own data, to decide who is
allowed to have access to what personal data, for how long, with whom the data
can be shared, etc. This precedes the creation of a decentralized trust infrastructure,
which allows the user to make identity statements (regarding his address, ownership
of a valid driver’s license, credit standing, membership in a chess club, a degree
certificate, retirement, etc.) that are certified and verified – so-called claims (see
Fig. 6.3) [43].
The ideas and principles of a self-sovereign identity (SSI) are well-defined
and described in the work of Christopher Allen, “The Path to Self-Sovereign
18 Digital identities, also called electronic identities, include all operations in which people, objects
and processes authenticate themselves online via certain attributes to prove their own identity. A
digital identity can be clearly assigned to the person, the object or the process in question. Digital
identities come in a great variety of forms: the simplest way to authenticate oneself in an online
account is to log in with the user name and password. Companies often use employee ID cards
to allow their employees access to the company premises or to provide them access to special
information [88].
19 The user-centered design turned centralized identities into interoperable federated identities with
centralized control, while maintaining a certain level of user consent as to how and with whom the
user’s digital identity is shared [43].
90 6 Projects and Application Areas of Blockchain Technology
Issuer Verifier
Online
trading User/ Buyer
Identity
Polizei
Driving Traffic
licence office police officer
Identity.” At this time, several standards for the implementation of SSIs have been
developed. The two best known foundations for a SSI that have become standards
are DID (Decentralized Identifier20) and “verifiable credentials” from W3C.21 Other
standards are DID Auth and DKMS (Decentralized Key Management System
[198]). This allows thousands of DIDs to be created for an SSI, each of which can
establish a life-long, encrypted, trusted channel with another person, an organization
or object. DIDs as well as SSI make central registries obsolete and are based on a
decentralized infrastructure [43, 177]. Numerous SSI projects use public or private
blockchains for this. Others see more potential for a self-sovereign identity in the
so-called Distributed Ledger Technology (DLT).
Various online service providers adapt the DID standard for their own solution
and develop their own DID methods22 (see Fig. 6.4). These are published and
summarized in a W3C register [195].
20 DIDs are URLs that link a DID subject to a DID document. DIDs documents are simple
documents that describe how the DID can be used, for example what verification methods must be
implemented [193].
21 W3C – World Wide Web Consortium is an international community that is involved with the
Already various SSI providers have entered their own methods in the register,
such as Sovrin [175], SelfKey [169], uPort [187] and Jolocom [145]. Blockstack
has also published its DID method in the register. Currently, the blockchain identity
provider Blockstack offers a decentralized computing platform for the development
of secure applications that gives back to users control over their data and identity
[82, 83].
On November 15, 2018, the Federal Blockchain Association (the Blockchain
Bundesverband) also published a comprehensive statement on the subject of self-
sovereign identity. This serves as a call to action in business and politics and
contributes to a global, universal identity framework [75, 76].
In addition to people, objects and processes also have digital identities. In the area of
the Internet of Things – IoT – every device has its own digital image that identifies it
uniquely in a network, thereby enabling interaction with other devices and people.
The IoT devices are as a rule miniaturized computers that have diverse sensors,
low storage and computing resources as well as a limited energy supply. They are
usually connected to a powerful IoT hub, also called a gateway. The gateway enables
the IoT device to then be connected to the cloud, from which they are controlled.
“Smart” devices thus lacks autonomy. Additionally, the individual IoT systems use
different cloud infrastructures, which makes comprehensive P2P communication
difficult [182].
Blockchain technology makes autonomy and interoperability for P2P commu-
nication possible without intermediaries and a central authority. IoT devices can,
for example, have their own Ethereum accounts controlled by smart contracts or
they can generate smart contracts themselves. A challenge is created by the limited
resources of IoT devices. It is already problematic for most devices to run an
application for lightweight users (lightweight nodes, as described in Sect. 3.2).
The German company Slock.it offers a solution for this situation in the form
of a net service client. The net service client is a part of the so-called INCUBED
network.23 This solution enables the connection of low performance IoT devices
24 Chain-agnostic: A single Incubed client can connect to multiple blockchains at the same time
[173].
25 The focus here is on a simple and secure payment method for charging electric cars.
26 Here, a simplified process for tracing and supplying renewable energy to end users is the focal
point.
27 This application involves a project with Siemens, whereby Siemens employees can vote on social
initiatives.
28 Bosch, Cisco, Gemalto, Foxconn, Ambisafe, BitSE, Chronicled, ConsenSys, Distributed, Fila-
6.4 Energy
Since local producers of renewable energy are also affected as soon as conventional
networks fail [137], microgrids29 are necessary to operate local energy trade. A
microgrid in conjunction with blockchain and IoT technology makes it is possible
to trade locally produced renewable energy in a local marketplace. For example,
one can sell surplus energy generated by roof solar panels (an energy unit becomes
a blockchain token) to a neighbor (using smart contracts) without having to rely on
a middleman.
The first project to make this idea a reality was Brooklyn Microgrid (BMG),
developed and implemented by the company LO3 Energy. The system connects
households in the New York district of Brooklyn that own solar energy systems
(“prosumer”) with households that want to buy local solar energy (“consumers”)
[84].
The Brooklyn project has provided inspiration for another project in Germany:
the Landau Microgrid Project (LAMP). This is a pilot and research project from the
Karlsruhe Institute of Technology (KIT) in collaboration with the energy producer
Energie Südwest AG and the company LO3 Energy. Blockchain technology is also
used in the context of the project for the local trading of electricity products.
Twenty households have access to a blockchain-based trading platform. There,
locally produced “green” energy can be traded between households. Via an app,
participants have access to their own electricity consumption and production data
and can specify their price expectations for locally generated energy from renewable
sources [148].
Accordingly, approximately 60 percent of all blockchain projects and DLT
projects in the energy sector focus on the topic of the P2P microgrid network
[97]. Other blockchain solutions also concentrate on energy production trade but
in the B2C context (Business-to-Consumer). For example, the solution mentioned
in the last chapter from the company Slock.it: an app that enables users to find
charging stations for electric cars in their area and to pay easily and securely via the
blockchain.
Other blockchain solutions in the energy sector concentrate on the tracking and
management of data connected with energy production and use. For example, the
project ElectriCChain from the consortium “Chain of Things.” The goal of this
project is to connect the currently ten million solar energy systems worldwide and
to send the real-time data to the blockchain or to a distributed ledger [109]. This
should, for example, give scientists the possibility to get an overview of the solar
energy generation data and thus to analyze it. The project supports the development
of open standards and tools for writing and reading the energy generation data in
and from the blockchain or a distributed ledger.
29 A microgrid is an energy network that unites energy producers and consumers in a network or
6.5 Logistics
Regarding IoT technology, there are several possible use cases in logistics. Highly
sensitive goods can, for example, be equipped with IoT devices with the necessary
sensors and thus send the information collected to the blockchain. The company
Modum.io offers a solution for tracking information pertaining to the storage
conditions of medicine (temperature, humidity) along the entire supply chain.
Logistics affects several business areas of a company and generates huge
amounts of information that is exchanged between the parties involved in the flow
of goods. Today, supply chains are very complex and include numerous participants
from all over the world. These participants have varying rights of access to the
information and tasks. Thus, a blockchain-based supply chain management can
provide the following advantages to a company (see Fig. 6.5):
• Cyptographic verification replaces trust – thus, the possibility of simple access
authorization and user management.
• Secure logging of data and transparency of content to guarantee a fail-safe
performance, counterfeit protection, and data traceability.
• A decentralized participant network, smart contracts and oracles can replace
numerous middlemen. When passing specific destinations in the supply chain,
the conditions stored in the smart contracts can be checked and additional
tasks/functions activated (for example, the service can be paid for in full if all
of the conditions are met).
On August 9, 2018, IBM and Maersk30 presented their blockchain-based31
solution for the shipping and logistics industry. It allows an exchange of events
and documents in real-time along the entire supply chain with the help of a digital
infrastructure. Sustainable transport is supported through the transparency of all
processes involved, as well as the provision of secure access to certain data for
certain users [142, 185].
Foxconn, one of the world’s largest producers of electronics and computer parts
developed a blockchain-based supply chain financial platform with the Chinese
online lending platform Dianrong. The project will initially focus on the automotive,
electronics, and clothing industries. In this way, payments and transactions in
the supply chain should become more transparent, manageable, and easier to
authenticate. With blockchain technology, efficiency will be increased in the entire
supply chain and costs cut with the elimination of third party providers. Not only
will the financial flow be processed on the basis of blockchain technology, but the
entire supply chain as well. If all the transactions of the supply chain become easier
to validate, the efficiency of the entire ecosystem will increase [167].
- Uploads data on - Gets information - Is informed - Structures data - Has full - Scans QR code
anti-bacterial on cow and about O&D of by proof of transparency on via app
fodder designated beef beef products origin, BBD etc. delivery time
products, - Gets insights
- Cow is tagged w/ cuts and prepares - Reviews - Adds potential - Can adapt into beef origin,
RFID chip, meat accordingly instructions on recipes and wine orders, promos ageing duration
proving free how to store suggestions to etc. accordingly etc. and appro-
range - Adds QR code to the products the data record priate recipes &
packaging wines
- Provides app for
end-customer - Earns points in
cross-company
loyalty program
Abstract The time has now come to draw conclusions and summarize what has
been discussed in previous chapters. We hope we have succeeded in helping you to
form your own opinion about blockchain technology. In combining the information
provided here with your own experience, it is our hopeful intention that you will be
in a better place to decide what is truly innovative about blockchain technology –
and what is little more than hype.
We live in an age of digitization, the benefits of which can be found in all areas
of life. Business processes as well as those in daily life have become leaner, faster,
more efficient, and more convenient. Today we acknowledge new inventions and
innovations without hardly batting an eye. The image of the entrepreneur who keeps
business information on a large hard drive and carries it everywhere, or stores it on
a laptop and locks it in a company safe, seems absurd and outdated. Data should be
quickly and easily accessible from everywhere and stored in such a way as to protect
its confidentiality. To do this, we can either use our own hardware and software
infrastructure or that of a service provider. The market is full of solutions. On the
provider’s side we encounter near monopolies: Amazon, Google, Microsoft, Apple,
SAP and Facebook divide up the digital market among themselves. For the most
part, customers accept this, grateful these tech giants offer interoperable solutions1
that are readily accepted and widely used in society. Work is continually being done
on these solutions, which adds to our sense of security. We thus place our trust and
data in centralized solutions and accept the dependency that goes along with it.
In his Bitcoin paper,2 Satoshi Nakamoto wrote that commerce on the Internet
is almost exclusively dependent on financial institutions who act as trusted third
parties for the processing of electronic payment transactions. Further, there is no
mechanism that allows for payment processing via a communications channel and
without a trusted entity. It was just this situation that created the demand for an
electronic payment system that could replace trust with cryptographic proof and
1 In the context of the respective provider, such as the interoperability of solutions from Apple.
2 Bitcoin: A Peer-to-Peer Electronic Cash System [26].
allow users to interact directly with each other without a trusted third party. The idea
and desire for decentralization – sparked when the Internet first came into being –
was rekindled.
In this book we have already described several challenges of decentralized
systems in contrast to centralized models. Processes, such as the administration
of resources and systems, are distributed to all users in the system. This creates
the first challenge: reaching agreement on a state of the system that is “right for
everyone.”3 This agreement, or so-called consensus, is made more difficult by the
fact that individual system users do not know or trust each other (see Sect. 3.3).
In addition, there is the possibility that one or more users could have malicious
intentions and try to manipulate the system (see Sect. 4.2).
Historically-speaking, consensus solutions for decentralized systems have been
dependent on a number of conditions (permissioned systems). For instance, the
number of system users and/or their identities must be known. Solutions such
as the Byzantine Agreement (BA) algorithm, or Paxos or Raft are intended for
decentralized systems with a limited or static number of users. A majority decision is
thereby reached among pre-selected users (so-called master nodes). The robustness
of such a system is based on the number of malicious users it can tolerate under
real conditions. Despite these conditions, the threat of a Sybil attack remains. In this
scenario, the attacker creates many false “identities” in a decentralized system with
the intent of manipulating or disturbing the system’s communication [70].
The state of the system in blockchain technology as “right/true for everybody”
is determined by the “longest chain”4 (see Sect. 3.3). In other words, the order
and execution of contents (transactions, see Sect. 4.1.1) in the longest chain are
correct/true based on user votes. Since users vote on the “longest chain” with their
computing power (Proof-of-Work – PoW), this also means that ultimately the chain
with the most votes contains the most work. The Nakamoto consensus mechanism,
which is anchored in blockchain technology, relies on the fact that the majority
of computing power in a system without participation conditions (permissionless
system) is in the hands of the honest users, and not that the majority of the users are
honest. Users are free to join the network or to leave it.
Users are rewarded for their voting effort. They must follow the rules in order to
keep losses at a minimum (energy consumption due to an expenditure of computing
power) and win the competition to gain the reward. In the Bitcoin system, the
competition for the reward has led to hardware “upgrading” by users (miners)
who are involved in consensus building. Many miners band together into so-called
mining pools to bundle their computing capacity. This results in an ever-increasing
rise in energy consumption and the associated costs. The greatest point of criticism
in the Proof-of-Work concept is in fact the excessive use of electrical energy.
3 Which order and execution of contents are correct and which are not.
4 The contents are cryptographically linked to one another in a specific form (see Sects. 4.1.1
and 4.1.2).
7 Summary 99
• Voting,
• Automated contracts,
• Games, including gambling,
• Identity and reputation systems,
• Decentralized markets,
• Decentralized data storage or data processing,
• Decentralized autonomous organizations.
Thanks to broad practical use and intensive research, blockchain technology has
undergone rapid development from the original use area of cryptocurrency (or a
decentralized register) to that of a programmable decentralized trust infrastructure.
During this time, blockchain technology has also provided impetus for further P2P
solutions and served to promote the development of a user-controlled and long-lived
twentyfirst century identity – and perhaps even advanced the missing identity layer
of the Internet [43, 176].
With this book, we hope we have succeeded in helping you to answer your own
questions about blockchain technology and its use, and that we have assisted you
in reaching your own conclusions. We will have achieved our goal if you found the
necessary information here to determine, what is truly innovative about blockchain
technology, within the realm of your own experience, and what is little more than
hype.
Appendix A
Byzantine Agreement Algorithm
Starting with Tor version 0.2.7.1 it is possible, through Tor’s control socket API,
to create and destroy “ephemeral” hidden services programmatically. Bitcoin Core
has been updated to make use of this. This means that if Tor is running (and proper
authorization is available), Bitcoin Core automatically creates a hidden service to
listen on, without manual configuration. Bitcoin Core will also use Tor automatically
to connect to other .onion nodes if the control socket can be successfully opened.
This will positively affect the number of available .onion nodes and their usage.
This new feature is enabled by default if Bitcoin Core is listening, and a
connection to Tor can be made. It can be configured with the -listenonion,
-torcontrol and -torpassword settings. To show verbose debugging infor-
mation, pass -debug= tor [54].
We imagine that several divisions of the Byzantine army are camped outside
an enemy city, each division commanded by its own general. The generals can
communicate with one another only by messenger. After observing the enemy, they
must decide upon a common plan of action. However, some of the generals may be
traitors, trying to prevent the loyal generals from reaching agreement. The generals
must have an algorithm to guarantee that
1. all loyal generals decide upon the same plan of action. The loyal generals will
all do what the algorithm says they should, but the traitors may do anything they
wish. The algorithm must guarantee condition A regardless of what the traitors
do. The loyal generals should not only reach agreement, but should agree upon a
reasonable plan. We therefore also want to insure that
2. a small number of traitors cannot cause the loyal generals to adopt a bad plan
[19].
A and B are two Nodes, that hold Units (coins) on different blockchains.
A picks a random number x
A creates TX1: “Pay w BTC to <B’s public key> if (x for H(x) known and signed
by B) or (signed by A & B)”
A creates TX2: “Pay w BTC from TX1 to <A’s public key>, locked 48 hours in the
future”
A sends TX2 to B
B signs TX2 and returns to A
1. A submits TX1 to the network
B creates TX3: “Pay v alt-coins to <A-public-key> if (x for H(x) known and
signed by A) or (signed by A & B)”
B creates TX4: “Pay v alt-coins from TX3 to <B’s public key>, locked 24 hours
in the future”
B sends TX4 to A
A signs TX4 and sends back to B
2. B submits TX3 to the network
3. A spends TX3 giving x
4. B spends TX1 using x
This is atomic (with timeout). If the process is halted, it can be reversed no matter
when it is stopped.
Before 1: Nothing public has been broadcast, so nothing happens
Between 1 & 2: A can use refund transaction after 48 hours to get his money back
Between 2 & 3: B can get refund after 24 hours. A has 24 more hours to get his
refund
After 3: Transaction is completed by 2
• A must spend his new coin within 24 hours or B can claim the refund and keep
his coins
• B must spend his new coin within 48 hours or A can claim the refund and keep
his coins
For safety, both should complete the process with lots of time until the deadlines
[71].
Appendix F
Ethereum Roadmap
16. A. Kerckhoffs, La cryptographie militaire. Journal des sciences militaires 9, 161–191 (1883)
17. S. Kim, Y. Kwon, S. Cho, A survey of scalability solutions on blockchain, in International
Conference on Information and Communication Technology Convergence (ICTC) (IEEE,
2018), pp. 1204–1207
18. S. King, S. Nadal, Ppcoin: Peer-to-peer crypto-currency with Proof-of-Stake (self-published
paper, 2012)
19. L. Lamport, R. Shostak, M. Pease, The Byzantine generals problem. ACM Trans. Program.
Lang. Syst. 4.3, 382–401 (1982)
20. S.D. Lerner, Rootstock – Bitcoin powered Smart Contracts (the-blockchain.com, 2015)
21. X. Li, P. Jiang, T. Chen, X. Luo, Q. Wen, A Survey on the Security of Blockchain Systems
(Future Generation Computer Systems, Elsevier, 2017)
22. L. Luu, D. Chu, H. Olickel, P. Saxena, A. Hobor, Making smart contracts smarter, in
Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications
Security, 2016, pp. 254–269
23. D. Mazières, The Stellar Consensus Protocol: A Federated Model for Internet-level Consen-
sus (2016)
24. C. Meinel, T. Gayvoronskaya, A. Mühle, Die Zukunftspotenziale der Blockchain-Technologie,
published by E. Böttinger, J. Zu Putlitz. Die Zukunft der Medizin, vol. 1 (Medizinisch
Wissenschaftliche Verlagsgesellschaft, Berlin, 2019), pp. 259–268
25. C. Meinel, T. Gayvoronskaya, M. Schnjakin, Blockchain: Hype or Innovation, vol. 124
(Universitätsverlag Potsdam, Potsdam, 2018)
26. S. Nakamoto, Bitcoin: A peer-to-peer electronic cash system (2008)
27. G. Pappalardo, T. Di Matteo, G. Caldarelli, T. Aste, Blockchain inefficiency in the Bitcoin
peers network. EPJ Data Sci. 7, 1–13 (2018)
28. R. Pass, L. Seeman, A. Shelat, Analysis of the blockchain protocol in asynchronous networks,
in Annual International Conference on the Theory and Applications of Cryptographic
Techniques (Springer, Cham, 2017), pp. 643–673
29. P. Pesch, R. Böhme, Datenschutz trotz öffentlicher Blockchain, vol. 41 (Datenschutz und
Datensicherheit-DuD, Springer, 2017), pp. 93–98
30. J. Poon, T. Dryja, The bitcoin lightning network: Scalable off-chain instant payments,
(Technical Report (draft). https://lightning.network, 2015)
31. M. Rosenfeld, Analysis of hashrate-based double spending (arXiv preprint arXiv:1402.2009,
2014)
32. M. Scherer, Performance and Scalability of Blockchain Networks and Smart Contracts (Umea
University, Umea, 2017)
33. Y. Sompolinsky, A. Zohar, Secure high-rate transaction processing in bitcoin, in International
Conference on Financial Cryptography and Data Security (Springer, 2015), pp. 507–527
34. N. Szabo, Formalizing and securing relationships on public networks. First Monday 2(9)
(1997), https://doi.org/10.5210/fm.v2i9.548
35. D.M. Toth, The Byzantine Agreement Protocol Applied to Security (Worcester Polytechnic
Institute, 2004)
36. M. Walker et al., Gartner Inc. – Gartner “Hype Cycle for Emerging Technologies, 2016” (19
July 2016)
37. M. Walker, Gartner Inc. – Gartner “Hype Cycle for Emerging Technologies, 2017” (21 July
2017)
38. G. Wood, Ethereum: a secure decentralised generalised transaction ledger (EIP-150 Revi-
sion, 2014)
39. 3sat – Bitcoin, der Wert der digitalen Währung schwankt extrem, http://www.3sat.de/page/?
source=/nano/glossar/bitcoin.html. Visited on 14 Sept 2017
40. Academic – Produkt (Wirtschaft), https://deacademic.com/dic.nsf/dewiki/1133058#
Angebotsorientierte_Definition. Visited on 01 May 2019
41. Adobe Blog – Wie Estland zum Digital Government-Vorreiter in Europa wurde, https://blogs.
adobe.com/digitaleurope/de/governmental-affairs/wie-estland-zum-digital-government-
vorreiter-in-europa-wurde/. Visited on 01 Dec 2019
References 117
151. Ledger SAS – Image of Ledger Nano X, (With friendly permission of © Ledger SAS. All
rights reserved)
152. Let’s Talk Payments – Know more about Blockchain: Overview, Technology, Application
Areas and Use Cases, https://letstalkpayments.com/an-overview-of-blockchain-technology/.
Visited on 01 Dec 2019
153. K. Li in Hackernoon – Ethereum’s ERC-20 Tokens Explained, Simply, October 2019, https://
hackernoon.com/ethereums-erc-20-tokens-explained-simply-88f5f8a7ae90. Visited on 20
Oct 2019
154. Lightning Network Community Blog – Alpha Release of the Lightning Network Daemon,
https://lightning.community/release/software/lnd/lightning/2017/01/10/lightning-network-
daemon-alpha-release/. Visited on am 22 Aug 2019
155. Logistik Heute – Blockchain: Pilotprojekt zur Containerlogistik, https://logistik-heute.de/
news/blockchain-pilotprojekt-zur-containerlogistik-15175.html. Visited on 1 Dec 2019
156. Mining Champ – Hashrate of Graphics Cards, https://miningchamp.com/. Visited on 09 May
2019
157. Modum.io, https://modum.io/. Visited on 01 Dec 2019
158. OpenBazaar – Buy and Sell Freely, https://openbazaar.org/. Visited on 15 Oct 2019
159. OpenBazaar – Escrow Smart Contract, Specification in OpenBazaar, https://openbazaar.org/
blog/Escrow-Smart-Contract-Specification-in-OpenBazaar/. Visited on 15 Oct 2019
160. Oraclize.it – Ethereum Proof of Identity, http://dapps.oraclize.it/proof-of-identity/. Visited on
14 Oct 2017
161. Parity Technologies – Wiki – Proof-of-Authority Chains, https://wiki.parity.io/Proof-of-
Authority-Chains. Visited on 06 Oct 2019
162. Port of Rotterdam – First blockchain container shipped to Rotterdam, https://www.
portofrotterdam.com/en/news-and-press-releases/first-blockchain-container-shipped-to-
rotterdam. Visited on 1 Dec 2019
163. Posttip.de – Lexikon – Produkt, http://www.posttip.de/lexikon/produkt/. Visited on 01 May
2019
164. Provable Things – Oraclize (With friendly permission of Provable Things Limited. © All
rights reserved)
165. R3 – Who we are, https://www.r3.com/about/. Visited on 26 Nov 2019
166. Raiden Network – What is the Raiden Network, https://raiden.network/101.html. Visited on
25 Aug 2019
167. SCF Briefing – Foxconn uses blockchain for new SCF platform after 6,5 million dollar pilot,
http://www.scfbriefing.com/foxconn-launches-scf-blockchain-platform/. Visited on 01 Dec
2019
168. K. Schiller in Ethereum 2.0 erscheint am 03.01.2020 – Was ist Serenity, Blockchainwelt,
https://blockchainwelt.de/ethereum-2-0-consensys-roadmap-serenity/. Visited on 20 Aug
2019
169. SelfKey – Financial Services Signup made easy, https://selfkey.org/. Visited on 1 Dec 2019
170. Silicon – Neue Initiative will IoT mit Blockchain sicherer machen, http://www.
silicon.de/41639843/neue-initiative-will-iot-mit-blockchain-sicherer-machen/?inf_by=
59799667671db810758b4634. Visited on 01 Dec 2019
171. Slock.it – Concept, https://in3.readthedocs.io/en/develop/intro.html. Visited on 1 Dec 2019
172. Slock.it – In3, https://github.com/slockit/in3. Visited on 1 Dec 2019
173. Slock.it – Incubed Client, https://slock.it/incubed/. Visited on 1 Dec 2019
174. Slock.it – Use cases, https://slock.it/use-cases/. Visited on 1 Dec 2019
175. Sovrin – Control Your Digital Identity, https://sovrin.org/. Visited on 1 Dec 2019
176. Sovrin – The Inevitable Rise of Self-Sovereign Identity, https://sovrin.org/wp-content/uploads/
2018/03/The-Inevitable-Rise-of-Self-Sovereign-Identity.pdf. Visited on 1 Dec 2019
122 References
177. SSI Meetup – Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-
Sovereign Identity (SSI), https://www.slideshare.net/SSIMeetup/decentralized-identifiers-
dids-the-fundamental-building-block-of-selfsovereign-identity-ssi. Visited on 1 Dec 2019
178. StackExchange – What is the difference between a smart contract and a DAO, http://ethereum.
stackexchange.com/questions/3336/what-is-the-difference-between-a-smart-contract-and-
a-dao/4240. Visited on 01 Dec 2019
179. Steem – An incentivized, blockchain-based, public content platform, https://steem.com/steem-
whitepaper.pdf. Visited on 15 Oct 2019
180. Storj.io – Storj, https://storj.io/. Visited on 26 Nov 2019
181. Storj.io – Storj: A Decentralized Cloud Storage Network, https://storj.io/storjv3.pdf. Visited
on 26 Nov 2019
182. TechCrunch – Decentralizing IoT networks through blockchain, https://techcrunch.com/2016/
06/28/decentralizing-iot-networks-through-blockchain/. Visited on 01 Dec 2019
183. Tor Project – TOR, https://www.torproject.org. Visited on 20 May 2019
184. Tor Project – Tor: Hidden Service Protocol, https://www.torproject.org/docs/hidden-services.
html.en. Visited on 20 May 2019
185. TradeLens – Solution Architecture, https://docs.tradelens.com/learn/solution_architecture/.
Visited on 1 Dec 2019
186. SatoshiLabs – Image of Trezor One, (With friendly permission of SatoshiLabs s.r.o. © All
rights reserved)
187. uPort – We build trust, so you can grow business, ecosystems, customers, communities, https://
www.uport.me/. Visited on 1 Dec 2019
188. A. Van Wirdum, in Bitcoin Magazine – Segregated Witness, Part 1: How a Clever Hack
Could Significantly Increase Bitcoin’s Potential, Dec 2015, https://bitcoinmagazine.com/
articles/segregated-witness-part-how-a-clever-hack-could-significantly-increase-bitcoin-s-
potential-1450553618. Visited on 15 Aug 2019
189. A. Van Wirdum in Bitcoin Magazine – Segregated Witness, Part 2: Why You Should
Care About a Nitty-Gritty Technical Trick, Dec 2015, https://bitcoinmagazine.com/
articles/segregated-witness-part-why-you-should-care-about-a-nitty-gritty-technical-trick-
1450827675. Visited on 15 Aug 2019
190. A. Van Wirdum, in Bitcoin Magazine – Segregated Witness, Part 3: How a Soft Fork
Might Establish a Block-Size Truce (or Not), Dec 2015, https://bitcoinmagazine.com/
articles/segregated-witness-part-how-a-soft-fork-might-establish-a-block-size-truce-or-
not-1451423607. Visited on 15 Aug 2019
191. A. Van Wirdum, in Bitcoin Magazine – The Power of Schnorr: The Signature Algorithm
to Increase Bitcoin’s Scale and Privacy, Apr 2016, https://bitcoinmagazine.com/articles/
the-power-of-schnorr-the-signature-algorithm-to-increase-bitcoin-s-scale-and-privacy-
1460642496. Visited on 15 Aug 2019
192. M. von Haller Gronbaek, in Blockchain 2.0, smart contracts and challenges, Bird
& Bird. (2016), https://www.twobirds.com/en/news/articles/2016/uk/blockchain-2-0--smart-
contracts-and-challenges. Visited on 28 Oct 2017
193. W3C – Decentralized Identifiers (DIDs) v1.0, https://w3c.github.io/did-core/. Visited on 1
Dec 2019
194. W3C – Leading the web to its full potential, https://www.w3.org/. Visited on 1 Dec 2019
195. W3C Credentials Community Group – DID Method Registry, https://github.com/w3c-ccg/
did-method-registry. Visited on 1 Dec 2019
196. W3C Credentials Community Group – Sovrin DID Method Specification, https://sovrin-
foundation.github.io/sovrin/spec/did-method-spec-template.html. Visited on 1 Dec 2019
197. W3C Credentials Community Group – DID Syntax, https://w3c.github.io/did-core/#did-
syntax. Visited on 1 Dec 2019
198. Web of Trust Info – Decentralized Key Management System, https://github.com/
WebOfTrustInfo/rwot4-paris/blob/master/topics-and-advance-readings/dkms-decentralized-
key-mgmt-system.md. Visited on 1 Dec 2019
199. Wikipedia – Ghash.io, https://en.wikipedia.org/wiki/Ghash.io. Visited on 01 Dec 2019
References 123
Symbols D
51 percent attack, 52, 54 Decentralized autonomous organization
(DAO), 82
Decentralized network, 2
A Delegated Proof-of-Stake, 31
ASIC, 49 Difficulty, 47, 58
Atomic swap, 75 Difficulty target, 43, 47
Distributed ledger technology (DLT), 51, 90
B
Bidirectional payment channels, 66 E
Bitcoin, 10 Elliptic Curve Digital Signature Algorithm
Block, 43, 45 (ECDSA), 19, 63
Blockchain, 30, 45 Ether, 41
Blockchain consortium, 88 Ethereum, 38, 41, 45, 56, 63
BTC, 10, 74
Byzantine Agreement (BA), 32
F
Federated Byzantine Agreement (FBA), 32
Fork, 8, 30, 50
C
Cloud, 82
Colored coins, 71 H
Confirmation period, 76 Hard fork, 50, 75
Consensus, 8, 28, 98 Hash, 16, 19
Consensus algorithm, 37, 45 Hashrate, 48
Consensus finding, 28
Contest period, 76
Cross blockchain, 75 I
Cryptocurrency, 10, 28, 84, 88, 99 Identity management, 89
Cryptography, 15, 36, 44 Internet of Things (IoT), 91