BlockChain All Unit 1-5
BlockChain All Unit 1-5
by
Mohit Kumar Saxena
Contents
1 Introduction to Blockchain 5
1.1 Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Centralized Network Systems . . . . . . . . . . . . . . 5
1.1.2 Decentralized Network System . . . . . . . . . . . . . . 6
1.1.3 Distributed Network Systems . . . . . . . . . . . . . . 6
1.2 Introduction to Blockchain . . . . . . . . . . . . . . . . . . . . 7
1.3 Digital Money . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Types of Digital Money . . . . . . . . . . . . . . . . . 8
1.3.2 Advantages of Digital Money . . . . . . . . . . . . . . 8
1.4 Distributed Ledgers . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Types of Distributed Ledger Technology . . . . . . . . 9
1.5 Design Primitives of a Blockchain . . . . . . . . . . . . . . . . 9
1.5.1 Design Primitives of Blockchain (Protocols) . . . . . . 10
1.5.1.1 Hyperledger . . . . . . . . . . . . . . . . . . . 10
1.5.1.2 Multichain . . . . . . . . . . . . . . . . . . . 11
1.5.1.3 Enterprise Ethereum . . . . . . . . . . . . . . 12
1.5.1.4 Corda . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1.5 Quorum . . . . . . . . . . . . . . . . . . . . . 13
1.5.2 Design Primitives of Blockchain (Security ) . . . . . . . 13
1.5.3 Design Primitives of Blockchain (Consensus) . . . . . . 14
1.5.4 Design Primitives of Blockchain (Permissions) . . . . . 16
1.5.5 Design Primitives of Blockchain (Privacy) . . . . . . . 16
1.6 Blockchain Architecture and Design . . . . . . . . . . . . . . . 16
1.6.1 Types of Blockchain Architectures . . . . . . . . . . . . 16
1.6.1.1 Public blockchain networks . . . . . . . . . . 17
1.6.1.2 Private blockchain networks . . . . . . . . . . 18
1.6.1.3 Hybrid blockchain networks . . . . . . . . . . 19
1.6.1.4 Consortium blockchain networks . . . . . . . 20
1.6.2 How Does Blockchain Work . . . . . . . . . . . . . . . 21
1.6.2.1 Authentication . . . . . . . . . . . . . . . . . 22
1
1.6.2.2 Authorisation . . . . . . . . . . . . . . . . . . 22
1.6.3 Terms Related to Blockchain . . . . . . . . . . . . . . . 23
1.6.4 Key Characteristics of Blockchain . . . . . . . . . . . . 23
1.7 Basic Crypto Primitives . . . . . . . . . . . . . . . . . . . . . 24
1.7.1 One-Way Hash Function . . . . . . . . . . . . . . . . . 25
1.7.1.1 Properties of Cryptographic Hash Functions . 25
1.7.1.2 Types of Cryptographic Hash Functions . . . 26
1.7.1.3 Uses of Hash Functions in Blockchain . . . . . 27
1.7.2 Digital signatures . . . . . . . . . . . . . . . . . . . . . 28
1.7.2.1 The Role of Digital Signatures in Blockchain . 28
1.7.2.2 How Digital Signatures Work . . . . . . . . . 28
1.7.2.3 Electronic Signatures Vs. Digital Signatures: . 30
1.7.2.4 Use Cases . . . . . . . . . . . . . . . . . . . . 30
1.8 Hashchain to Blockchain . . . . . . . . . . . . . . . . . . . . . 31
1.9 Basic Consensus Mechanisms . . . . . . . . . . . . . . . . . . 32
1.9.1 How Does Consensus Work? . . . . . . . . . . . . . . . 32
2 Consensus 33
2.1 Requirements for the Consensus Protocols . . . . . . . . . . . 33
2.1.1 Types of Consensus Mechanisms . . . . . . . . . . . . . 34
2.1.1.1 Proof of Work . . . . . . . . . . . . . . . . . . 34
2.1.1.2 Proof of Stake . . . . . . . . . . . . . . . . . 34
2.1.1.3 Delegated Proof of Stake . . . . . . . . . . . . 35
2.1.1.4 Proof of Capacity . . . . . . . . . . . . . . . . 35
2.1.1.5 Proof of Elapsed Time . . . . . . . . . . . . . 35
2.1.1.6 Proof of Identity . . . . . . . . . . . . . . . . 35
2.1.1.7 Proof of Authority . . . . . . . . . . . . . . . 36
2.1.1.8 Proof of Activity . . . . . . . . . . . . . . . . 36
2.1.1.9 Byzantine Fault Tolerance (BFT) . . . . . . . 36
2.2 Scalability Aspects of Blockchain Consensus Protocols . . . . . 36
2.2.1 Factors Influencing Performance of Blockchain . . . . . 37
2.2.2 Scalable Consensus Mechanisms . . . . . . . . . . . . . 38
2.3 Permissioned Blockchains . . . . . . . . . . . . . . . . . . . . 39
2.3.1 Design Goals . . . . . . . . . . . . . . . . . . . . . . . 39
2.4 Consensus Protocols for Permissioned Blockchains . . . . . . . 40
2.4.1 The Right Consensus Protocol for PermissionedBlockchain 42
2.4.2 Advantages of Permissioned Blockchain . . . . . . . . . 43
2.4.3 Disadvantages of Permissioned Blockchain . . . . . . . 44
2.5 Why Permissioned Blockchains are Ideal . . . . . . . . . . . . 44
2.5.1 Use Case Examples . . . . . . . . . . . . . . . . . . . . 45
2
3 Hyperledger Fabric 46
3.1 Hypeledger . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.1.1 Hypeledger Architecture . . . . . . . . . . . . . . . . . 47
3.1.1.1 Hypeledger Framework . . . . . . . . . . . . . 47
3.1.1.2 Hypeledger Tools . . . . . . . . . . . . . . . . 48
3.1.1.3 Objectives of the Hyperledger Project . . . . 48
3.2 Hyperledger Fabric . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2.1 Hyperledger Fabric Transaction Flow . . . . . . . . . . 49
3.3 Consensus in Hyperledger Fabric . . . . . . . . . . . . . . . . 50
3.3.1 Solo Consensus Algorithm in Hyperledger Fabric . . . . 52
3.3.2 Kafka Consensus Algorithm in Hyperledger Fabric . . . 53
3.3.3 Consensus Properties . . . . . . . . . . . . . . . . . . . 53
3.4 Hyperledger Fabric - Components Overview . . . . . . . . . . 53
3.4.1 Peer Node . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.2 Orderer . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.3 Membership service provider (MSP) . . . . . . . . . . . 55
3.4.4 Ledger . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4.5 Chaincode . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.6 Consensus Algorithm . . . . . . . . . . . . . . . . . . . 57
3.4.7 Channels . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.5 Beyond Chaincode: fabric SDK . . . . . . . . . . . . . . . . . 59
3.5.1 Hyperledger Fabric SDK . . . . . . . . . . . . . . . . . 59
3.5.2 Hyperledger Fabric SDK for Java . . . . . . . . . . . . 60
3.6 Hyperledger Composer . . . . . . . . . . . . . . . . . . . . . . 61
3.6.1 Key Concepts in Hyperledger Composer . . . . . . . . 62
3.6.2 Architecture of Hyperledger Composer . . . . . . . . . 64
4 Use case 1 66
4.1 Blockchain in Financial Software and Systems (FSS) . . . . . 66
4.1.1 Settlements . . . . . . . . . . . . . . . . . . . . . . . . 68
4.1.2 KYC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.1.2.1 KYC Blockchain Implementation . . . . . . . 68
4.1.2.2 Blockchain and KYC: Current Challenges . . 70
4.1.3 Capital Markets . . . . . . . . . . . . . . . . . . . . . . 71
4.1.4 Blockchain in Insurance . . . . . . . . . . . . . . . . . 73
4.2 Blockchain in Trade/Supply Chain . . . . . . . . . . . . . . . 74
4.2.1 Efficiency . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.2.2 Transparency . . . . . . . . . . . . . . . . . . . . . . . 75
4.2.3 Blockchain in supply chain use cases . . . . . . . . . . 75
4.2.4 Provenance of Goods . . . . . . . . . . . . . . . . . . . 76
4.2.5 Blockchain in Supply Chain Finance . . . . . . . . . . 77
3
4.2.6 Invoice Management Discounting . . . . . . . . . . . . 77
4.2.6.1 Invoice Discounting on Blockchain . . . . . . 77
4.2.6.2 Benefits of Blockchain in Invoice Discounting 78
5 Use case 3 79
5.1 Blockchain for Government . . . . . . . . . . . . . . . . . . . . 79
5.1.1 Digital Identity . . . . . . . . . . . . . . . . . . . . . . 79
5.1.2 Application of Blockchain Technology in Land Records 81
5.1.2.1 Concept of Smart Contracts . . . . . . . . . . 81
5.1.3 Public Distribution System Social Welfare Systems . . 84
5.1.3.1 Role of Blockchain . . . . . . . . . . . . . . . 85
5.2 Cryptography in Blockchain . . . . . . . . . . . . . . . . . . . 85
5.2.1 Symmetric-key cryptography . . . . . . . . . . . . . . . 86
5.2.2 Asymmetric-key Encryption . . . . . . . . . . . . . . . 87
4
Chapter 1
Introduction to Blockchain
1.1 Network
A network can be described as a group of two or more computer systems that
are connected and communicate through sharing files or other resources.
If any nodes want to gain access to any other resources, they get it via the
central system.
5
Figure 1.2: Decentralized Network System
6
1.2 Introduction to Blockchain
Blockchain technology is an advanced database mechanism that allows trans-
parent information sharing. A blockchain is a distributed database that
maintains a continuously growing list of ordered records called blocks. These
blocks are linked using cryptography. Each block contains a cryptographic
hash of the previous block, a timestamp, and transaction data. Blockchain is
a distributed digital ledger of immutable records. The meaning of immutable
is that the data cannot be altered once it is recorded. Blockchain is com-
posed of cryptographically linked blocks like a linked list of a data structure
and hash as a pointer. That is, there is a chain of blocks in blockchain in
chronological order. The term blockchain was first described back in 1991. A
group of researchers wanted to create a tool to timestamp digital documents
so that they could not be backdated or changed. Further, the technique was
adapted and reinvented by Satoshi Nakamoto. In 2008, Nakamoto created
the first cryptocurrency, the blockchain-based project called Bitcoin.Satoshi
Nakamoto or a group of people with alias who developed bitcoin. He/they
authored a bitcoin white paper titled ‘Bitcoin: A Peer-to-Peer Electronic
Cash System’.
7
transactions. A blockchain allows a person to safely send money to another
person without going through a bank or financial services provider.
8
1.4.1 Types of Distributed Ledger Technology
• Permissioned DLT: Nodes have to take permission from a central
authority to access or make any changes in the network. Mostly these
types of permissions include identity verification.
• protocols,
• security,
9
• consensus,
• permissions,
• privacy.
system, and they establish safeguards to prevent malicious users from causing
damage. Five major protocols are most significant:
1.5.1.1 Hyperledger
Hyperledger is an open-source collaborative effort created to advance cross-
industry blockchain technologies. It is not a single protocol, but rather a
collection of blockchain protocols and tools developed by the Linux Foun-
dation. The goal of Hyperledger is to create modular, flexible, and scalable
10
blockchain technologies that can be used for a wide range of applications
across various industries. Hyperledger protocols are designed to be highly
configurable and customizable to meet the needs of different use cases. They
also prioritize security, privacy, and interoperability, making them suitable
for enterprise applications. Some of the most well-known Hyperledger pro-
tocols include:
• Hyperledger Fabric: A permissioned blockchain framework that al-
lows multiple parties to transact on a shared ledger without the need
for a central authority.
• Hyperledger Sawtooth: A modular blockchain platform that sup-
ports various consensus mechanisms and allows for the creation of cus-
tom transaction families.
• Hyperledger Besu: An Ethereum-compatible client for building enterprise-
grade blockchain applications.
• Hyperledger Indy: A decentralized identity management system
that allows individuals to control their own digital identities.
• Hyperledger Burrow: A smart contract engine that supports the
Ethereum Virtual Machine (EVM) and allows for the execution of
Ethereum-based smart contracts on a permissioned blockchain network.
Hyperledger protocols and tools are used by businesses and organizations
around the world to build blockchain solutions for a wide range of use cases,
including supply chain management, identity verification, and financial trans-
actions.
1.5.1.2 Multichain
MultiChain is an open-source blockchain platform that enables the creation
and deployment of private, permissioned blockchain networks. It was first
released in 2015 by Coin Sciences Ltd. Unlike public blockchains like Bitcoin
and Ethereum, which are open to anyone, permissioned blockchains require
permission to access and participate. This makes them more suitable for use
cases where privacy, scalability, and governance are important, such as supply
chain management, asset tracking, and financial transactions. MultiChain is
designed to be easy to use and customize, with a simple command-line inter-
face and a flexible API. It also supports a wide range of features, including:
• Custom assets: MultiChain allows users to create and manage their
own digital assets, such as tokens, stocks, and bonds, on the blockchain.
11
• Permissions: MultiChain enables users to control who can access and
participate in the blockchain network, allowing for greater privacy and
security.
12
• Consensus mechanisms: Enterprise Ethereum supports a range of
consensus mechanisms, including proof-of-work (PoW), proof-of-stake
(PoS), and Byzantine fault tolerance (BFT).
1.5.1.4 Corda
Corda is a competitor of Multichain that offers a protocol designed for enter-
prises. Most applications that have been developed with Corda have been in
the finance and banking field. However, a wide range of custom Blockchain
solutions can make use of Corda’s technology. Corda is accredited by the R3
banking consortium.
1.5.1.5 Quorum
As with many of the leading protocols, Quorum aims to help businesses in the
finance sector. Quorum is significant because it has strong backing from the
financial community. For instance, J.P. Morgan Chase is a primary financial
backer of the protocol, and it has received additional resources from other
leading banks. However, Quorum has managed to remain as an open-source
project that can be utilized by anyone. Quorum is also strongly associated
with Ethereum since the project started by modifying the Ethereum code.
13
consistency model means that all nodes have the same ledger at the same
time.
Tamper-Resistance: Tamper-resistance of blockchain means that any trans-
action information stored in the blockchain cannot be tampered with during
and after the process of block generation.
14
• Proof of Stake (PoS): In a PoS consensus mechanism, validators
are selected based on the number of tokens they hold, and they are
responsible for validating transactions and creating new blocks in the
blockchain. This mechanism is used in Ethereum and other cryptocur-
rencies.
15
1.5.4 Design Primitives of Blockchain (Permissions)
The blockchain needs permission to participate in network and interact with
it. In public blockchain anyone can participate as open source clients and at-
tach to the network. Once the necessary synchronization done with rest of the
network then it gives the copy of ledgers. The permissioned blockchain works
differently where participant needs permission to join the network. This per-
mission is granted by the rest of the participants of network where they com-
pare the signer’s identity against permissioning policy. This permissioning
policy applies on both peer to peer networking. It is used to propagate trans-
actions as well as blocks with other functional messages. The permissioning
policy can be locally maintained by each of the operator or administrator.
The administrator will decide who will interact with the network.
16
1.6.1.1 Public blockchain networks
These blockchains are completely open to following the idea of decentral-
ization. They don’t have any restrictions, anyone having a computer and
internet can participate in the network. Examples of public blockchain are
Bitcoin, Ethereum.
• Anyone having internet and a computer with good hardware can par-
ticipate in this public blockchain.
• All the computers in the network hold the copy of other nodes or block
present in the network
Advantages:
Disdvantages:
• Processing: The rate of the transaction process is very slow, due to its
large size. Verification of each node is a very time-consuming process.
17
1.6.1.2 Private blockchain networks
A single organization controls private blockchains, also called managed blockchains.
The authority determines who can be a member and what rights they have
in the network. Private blockchains are only partially decentralized because
they have access restrictions. Therefore companies use them for internal au-
diting, voting, and asset management. An example of private blockchains is
Hyperledger, Corda. Ripple, a digital currency exchange network for busi-
nesses, is an example of a private blockchain.
Advantages:
• Speed: The rate of the transaction is high, due to its small size. Ver-
ification of each node is less time-consuming.
18
• Balanced: It is more balanced as only some user has the access to the
transaction which improves the performance of the network.
Disdvantages:
• Count- Since there are few nodes if nodes go offline the entire system
of blockchain can be endangered.
• Cost: Transactions are cheap as only a few nodes verify the transac-
tion. All the nodes don’t carry the verification hence less computational
cost. Architecture: It is highly customizable and still maintains in-
tegrity,
Disdvantages:
19
• Transparency: There is a possibility that someone can hide informa-
tion from the user. If someone wants to get access through a hybrid
blockchain it depends on the organization whether they will give or
not.
• Ecosystem: Due to its closed ecosystem this blockchain lacks the
incentives for network participation.
20
Figure 1.10: Comparisons between Private, Public and Consortium
Blockchain
• Miners verify the block. Upon successful verification, the miners get
incentives.
21
Figure 1.11: How Does Blockchain Work
1.6.2.1 Authentication
The original blockchain was designed to operate without a central authority
(i.e. with no bank or regulator controlling who transacts), but transactions
still have to be authenticated. This is done using cryptographic keys, a
string of data (like a password) that identifies a user and gives access to their
“account” or “wallet” of value on the system. Each user has their own private
key and a public key that everyone can see. Using them both creates a secure
digital identity to authenticate the user via digital signatures and to ‘unlock’
the transaction they want to perform.
1.6.2.2 Authorisation
Once the transaction is agreed upon between the users, it needs to be ap-
proved or authorised before it is added to a block in the chain. For a public
blockchain, the decision to add a transaction to the chain is made by consen-
sus. This means that the majority of “nodes” (or computers in the network)
must agree that the transaction is valid. The people who own the computers
in the network are incentivised to verify transactions through rewards. This
process is known as ‘proof of work’.
Whereas public blockchains tend to be decentralized, private blockchains
are typically controlled by one entity, like an enterprise. Decentralized blockchains
using a mining consensus system like proof of work may lose their decentral-
22
ization if one miner (or group of miners) becomes more powerful than all the
others, leading to the threat of a 51% attack.
• Node: Nodes are devices in which blocks are stored. The nodes also
have a database that stores the history of transactions and is connected.
23
Figure 1.12: Terms Related to Blockchain
24
met. Since Blockchain is highly decentralized in nature, the security of data
is of utmost importance. For example: Suppose two users want to exchange
information on a public Blockchain. In Public Blockchain, everybody can
see the transaction process. To secure the data, encryption algorithms are
used. For decrypting, the data decryption algorithms are used. These cryp-
tographic primitives are used to develop these high-level secured algorithms.
There are many cryptographic primitives, but we will discuss the most com-
monly used ones which are Hash and Signature.
25
• Deterministic: Cryptographic hash functions are deterministic. It
always generates the same hash for the same input data.
• Avalanche Effect: This means for a small change in the input, the
output will change significantly.
• Puzzle Friendliness: This means even if one gets to know the first
200 bytes, one cannot guess or determine the next 56 bytes.
26
• It removes the addition of constants to message words.
• It simplifies padding and reduces the number of rounds from 16 to
12.
• BLAKE3: It was announced on January 9, 2020. BLAKE3 is a cryp-
tographic function based on Bao and BLAKE2. It is a few times faster
than BLAKE2. This algorithm provides many features like parallelism,
XOF, KDF, etc.
• Whirlpool: It is a cryptographic hash function, first described in
2000. It is a modified version of the Advanced Encryption Standard
(AES). Whirlpool produces a hash of 512 bits.
• Secure Hashing Algorithm: The family of SHA comprises four SHA
algorithms: SHA-0, SHA-1, SHA-2, and SHA-3. SHA-0 is a 160-bit
hash function that was published by the National Institute of Standards
and Technology in 1993. SHA-1 was designed in 1995 to correct the
weaknesses of SHA-0. In 2005, a method was found to uncover collisions
in the SHA-1 algorithm due to which long-term employability became
doubtful. SHA-2 has the following SHA variants, SHA-224, SHA-256,
SHA-384, SHA-512, SHA-512/224, and SHA-512/256. It is a stronger
hash function and it still follows the design of SHA-1. In 2012, the
Keccak algorithm was chosen as the new SHA-3 standard. SHA-256 is
the most famous of all cryptographic hash functions because it’s used
extensively in blockchain technology. The SHA-256 Hashing algorithm
was developed by the National Security Agency (NSA) in 2001.
27
• The chain of blocks: Each block header in a block in the blockchain
contains the hash of the previous block header. This ensures that it is
not possible to change even a single block in a blockchain without being
detected. As modifying one block requires generating new versions of
every following block, thus increasing the difficulty.
28
“digital signature”. It is this “digital signature” that proves to the Bitcoin
network that you are the true owner of the bitcoins that you wish to send.
In the context of cryptocurrencies, a digital signature system
often consists of three basic steps: hashing, signing, and verifying.
Hashing The Data: The first step is to hash the message or digital data.
This is done by submitting the data through a hashing algorithm so that a
hash value is generated (i.e., the message digest). As mentioned, the messages
can vary significantly in size, but when they are hashed, all their hash values
have the same length. This is the most basic property of a hash function.
However, hashing the data is not a must for producing a digital signature
because one can use a private key to sign a message that wasn’t hashed at
all. But for cryptocurrencies, the data is always hashed because dealing with
fixed-length digests facilitates the whole process.
Signing: After the information is hashed, the sender of the message needs
to sign it. This is the moment where public-key cryptography comes into play.
Essentially, the hashed message will be signed with a private key, and the
receiver of the message can then check its validity by using the corresponding
public key (provided by the signer). If the private key is not included when
the signature is generated, the receiver of the message won’t be able to use the
corresponding public key to verify its validity. Both public and private keys
are generated by the sender of the message, but only the public key is shared
with the receiver. It’s worth noting that digital signatures are directly related
to the content of each message. So unlike handwritten signatures, which tend
to be the same regardless of the message, each digitally signed message will
have a different digital signature.
Verifying: When Alice sends a document to Bob, she will follow certain
steps to digitally sign the document, these steps are as follows:
• Encrypt the message digest with Alice’s private key, append the en-
crypted message digest to the original document, and send the com-
bined message out.
• Once Bob receives the combined message from Alice, he will separate
the encrypted message digest from the document itself. Bob will use
Alice’s public key to decrypt the encrypted message digest.
• At the same time, Bob will calculate the message digest of the received
document and compare the resulting message digest with the decrypted
29
Figure 1.14: Digital Signatures
30
Figure 1.15: Electronic Signatures Vs. Digital Signatures
31
many one-time keys from a single key or password. For non-repudiation a
hash function can be applied successively to additional pieces of data in order
to record the chronology of data’s existence. A hash chain is a successive
application of a cryptographic hash function to a string x.
For example, h(h(h(h(x)))), gives a hash chain of length 4, often denoted
h (x). A hash chain is a sequence of hashes of blocks. Each block consists
4
of the hash of the previous block, and (optionally) some data. These can be
seen a special case of a Merkle Tree, that is one with only a single branch. A
blockchain is a Merkle Tree with a consensus algorithm to determine which
branch is the "correct" one. Typically other branches get discarded, but not
always.
32
Chapter 2
Consensus
• Equal Rights: The vote of each group member will have the same
value. This means that every person’s vote is important.
33
• Activity: Each blockchain participant must remain equally active. No
one in the network will be given more responsibility than the other.
34
maintaining the blockchain network. Proof of Stake is more energy efficient
compared to other blockchain consensus mechanisms like Proof of Work.
35
Any identified user from a blockchain network can create a block of data
that can be presented to anyone in the network. Proof of Identity ensures
integrity and authenticity of created data. Additionally, smart cities can use
blockchain consensus mechanisms like Proof of Identity to verify the identity
of their citizens.
36
does not scale effectively or has low scalability with a huge amount of data.
Blockchain lacks sufficient efforts to alter the system to cope with the increas-
ing workload, data and resources (e.g., computing power, servers, or band-
width). Scalability has been identified as the most significant barrier to es-
tablishing public blockchains in many real-world commercial situations. The
scalability issue with Blockchain emerges mostly when the number of nodes
and transactions increases. This problem exists in major public blockchain
systems (Bitcoin and Ethereum) since each node must store and execute
a computational activity to validate each transaction. As a result, public
blockchains constantly need immense processing power, high-speed internet
connectivity, and vast storage space. Transaction throughput and latency
are the two commonly debated blockchain performance measures, and both
have yet to achieve a sufficient Quality-of-Service (QoS) level in many notable
recent public blockchains.
37
the communication overhead and allow nodes to rely on validation his-
tory of a leader node and/or other peer nodes are being introduced to
alleviate this problem.
• Delegated Proof-of-Stake;
• Proof-of-Authority;
38
2.3 Permissioned Blockchains
Permissioned blockchains are blockchains that are closed (i.e., not publicly
accessible) or have an access control layer. This additional layer of security
means that the blockchain can only be accessed by users with permission.
Permissioned users are only able to perform blockchain operations within
the strict confines of roles assigned to them by the ledger administrators
and require that they authenticate themselves through certificates or digital
identifier methods. In addition, the roles would dictate what information a
user would be able to access.
39
rules and regulations set by its participants. Governance has very dif-
ferent semantics between permissionless and permissioned blockchains.
In the permissioned world, governance is largely decided and agreed
upon by the members of the blockchain business network. Economic
incentives, code quality, code changes, and power allocation among
peers are based on the business dynamics and the common purpose for
which the network has been designed and built. This allows companies
to move quickly and in ways that best fit their business needs.
40
In this model, each node exists in an internal state, which means that
it will maintain an ongoing specific information or status). Each time a
node receives a message, they use the message with respect to their in-
ternal state to perform a computation or operation. Consequently, this
computation will send messages to other nodes to ask if the transaction
is valid. After receiving verification from all of the other nodes, the first
node will broadcast that decision with all the other participants in the
network. A consensus decision is achieved based on the total confir-
mations submitted by all the nodes. PBFT can be very beneficial for
low latency storage systems, This type of model is often used in digital
assets backed platforms that don’t need a great amount of capacity, but
carry out a large number of transactions. PBFT makes sure that the
transaction records within the network are accurate. A few examples
of permissioned blockchains that use this model are Hyperledger and
Chain.
41
time allocated for that round. Each round is longer than the previous
round followed by a small fixed increase of time. This allows the net-
work to eventually achieve consensus in a limited concurrent network.
Round robin consensus process doesn’t rely on a single participant for
the block validation process. In this model, several nodes play a major
role in validating and signing transactions. which makes this process
more secure when compared to other consensus processes. There are
also lower chances of double spend attacks due to the voting power
distribution among trusted nodes. Round robin consensus mechanism
is ideal for the trade, finance and supply chain industries. Some well
known permissioned blockchains that use the Round Robin consensus
method include Multichain and Tendermint
• The speed in which your blocks will need to be written into the blockchain?
Consensus formation can take time. If consensus is faster, the trust
guarantees will be much lower (and vice versa).
• How many miners, writers, or validators do you think you will need?
These special blockchain nodes are the ones which will select blocks to
write to the chain.
• How “final” does a block need to be? Banks and other financial institu-
tions most often expect any transactions to be immediately final (that
42
is, they cannot be rolled back). Some consensus protocols treat block
decisions to be conditional on future actions. In others, blocks may
eventually be final but are not immediately so.
• To what degree do you put your trust in the nodes/operators? Are you
trying to protect your blockchain from nodes that might crash, nodes
that might actively attempt to hack the blockchain, or both?
43
with knowledge of every user and their actions on the network, a verifiable
chain of custody can be established for every transaction.
Lastly, these types of blockchains are both scalable and highly performant
due to the limited number of nodes needed to manage transaction verifica-
tions.
44
• Networks need to be permissioned
45
Chapter 3
Hyperledger Fabric
3.1 Hypeledger
Hyperledger is an open source project created to support the development
of blockchain-based distributed ledgers. Hyperledger consists of a collabo-
rative effort to create the needed frameworks, standards, tools and libraries
to build blockchains and related applications. Since Hyperledger’s creation
by the Linux Foundation in 2016, the project has had contributions from
organizations such as IBM and Intel, Samsung, Microsoft, Visa, American
Express and blockchain startups such as Blockforce. In all, the collaboration
includes banking, supply chain management, internet of things (IoT), manu-
facturing and production-based fields. Hyperledger acts as a hub for different
distributed ledger frameworks and libraries. With this, a business could use
one of Hyperledger’s frameworks. Hyperledger works by providing the needed
infrastructure and standards for developing blockchain systems and applica-
tions. Developers use Hyperledger Greenhouse (the frameworks and tools
that makeup Hyperledger) to develop business blockchain projects. Network
participants know each other and can participate in consensus-making pro-
cesses. All Hyperledger projects follow a design philosophy that includes a
modular extensible approach, interoperability, an emphasis on highly secure
solutions, a token-agnostic approach with no native cryptocurrency, and the
development of a rich and easy-touse Application Programming Interface
(API). The Hyperledger Architecture has distinguished the following busi-
ness blockchain components:
• Consensus Layer - Responsible for generating an agreement on the
order and confirming the correctness of the set of transactions that
constitute a block.
• Smart Contract Layer - Responsible for processing transaction re-
46
quests and determining if transactions are valid by executing business
logic.
• Iroha
• Sawtooth
• Burrow
47
• Indy
The most famous in this, is fabric and the other one is from intel- Sawtooth.
Often people are confused with Hyperledger and Fabric termi-
nologies. The fabric is one of the protocols under the hyperledger
project and Hyperledger is the name of the project itself, not a
technology.
• Hyperledger composer
• Hyperledger cello
• Hyperledger quilt
• Hyperledger explorer
48
3.2 Hyperledger Fabric
Hyperledger Fabric is a blockchain framework implementation initially devel-
oped by Digital Asset and IBM and now hosted by Linux Foundation under
the hyperledger project. Fabric joined the hyperledger project for incuba-
tion in the early 2016 and after 1 year of incubation, it became the first
project get into the ‘active’ state. On July 11, 2017, the hyperledger Tech-
nical Steering Committee announced their first production-ready distributed
ledger codebase, Hyperledger Fabric V1.0.
The fabric is a Private and Permissioned system which delivers a high
degree of confidentiality, resilience, flexibility, and scalability. It adopted a
modular architecture and supports pluggable implementations of different
components like consensus, membership services etc. Like other blockchain
technologies, Fabric has a ledger and smart contracts. The smart contract
in the fabric is known as chaincode and it is in the chaincode the business
logic is embedded. In a Fabric network, the “peer nodes” execute chaincode
(smart contracts), access ledger data, endorse transactions, and interface
with applications, whereas the “orderer nodes” handle the consistency of the
Blockchain and deliver the approved transactions to the peers of the network.
Unlike an open, permissionless system that allows unknown participants
to enter the network, Hyperledger Fabric enrolls members via a trusted mem-
bership service provider. Fabric is private blockchain and it has this
feature of getting subnets and we call them as channels. Since this
is a private network, to be a member of the network we need to
enroll through MSP (Membership Service Provider). A node can be
connected to multiple networks, so they will have multiple ledger [L1, L2].
Hyperledger Fabric’s ledger subsystem comprises of two components:
49
• The peers verify the submitting client’s identity and authority to sub-
mit the transaction. Next, they simulate the outcome of the proposed
transaction and if it matches what was expected, it sends an endorse-
ment signature back to the client.
• The client collects endorsements from peers, and once it receives the
proper number of endorsements defined in the endorsement policy, it
sends the transaction to the ordering service.
• Lastly, the ordering service checks to see if the transaction has the
proper number of endorsements to satisfy the endorsement policy. It
then chronologically orders and packages the approved transactions into
blocks, and sends these blocks to peer nodes in each organization. Peer
nodes receive new blocks of transactions from the ordering service, and
then do a final validation for transactions in that block. Once this is
complete, the new block is added to the ledger and the state of the
ledger is updated. The new transactions are now committed.
50
• Agrees on order and correctness and hence on results of an execution
(implies agreement on the global state).
The consensus layer uses the communication layer for communicating with
the client and other peers on the network.
Transaction Flow Representation of Consensus is given in Fig:(5.6), the
steps are given below:
51
Figure 3.2: Transaction Flow for a Visual Representation of Consensus
• The application verifies the signature and compares the proposal re-
sponses to be the same.
• Ordering peers prepare the block and transmit it to all the peers.
• Each peer appends the block to the chain, and for each valid transac-
tion, the write sets are committed to the database.
52
3.3.2 Kafka Consensus Algorithm in Hyperledger Fab-
ric
In Kafka, only the leader does the ordering and only the in-sync replicas
can be voted as a leader. This provides crash fault-tolerance and finality
happens in a matter of seconds. While Kafka is crash fault-tolerant, it is
not Byzantine fault-tolerant, which prevents the system from reaching an
agreement in the case of malicious or faulty nodes.
53
Figure 3.3: Transaction Flow for a Visual Representation of Consensus
• Mining node: A mining node is a peer node that uses its computing
power to solve complex mathematical problems and compete with other
nodes to add new blocks to the blockchain.
54
3.4.2 Orderer
In Hyperledger Fabric, an orderer is a component that is responsible for en-
suring the delivery of transactions to the appropriate peer nodes for validation
and endorsement. The orderer maintains an ordered log of all transactions
that have occurred on the network and provides a communication channel
for the peer nodes to reach a consensus on the order in which transactions
should be processed. The orderer does not validate or endorse transactions
but rather acts as a mediator to facilitate communication between the dif-
ferent peer nodes. There are 5 types of Orderer:
• SNS orderer: An SNS orderer is a cluster of orderer nodes that use the
Amazon Simple Notification Service (SNS) to order transactions and
maintain the ledger. This type of orderer is typically used in networks
that are hosted on Amazon Web Services (AWS).
55
role in ensuring the security and integrity of the Hyperledger Fabric network
by ensuring that only authorized entities are able to access the network and
participate in transactions. There are several types of membership service
providers (MSPs) in Hyperledger, including:
• Local MSP: This type of MSP is designed for development and test-
ing purposes and is used to manage the identities of local users and
applications.
• File-based MSP: This type of MSP uses a file system to store the iden-
tity information of users and applications.
3.4.4 Ledger
In Hyperledger Fabric, the ledger is a distributed database that records all
of the transactions that occur on the network. Each peer node maintains a
copy of the ledger, and the ledger is updated whenever a new transaction is
endorsed and committed to the network. The ledger is composed of two parts:
the world state, which stores the current state of all assets on the network,
and the transaction log, which stores a record of all transactions that have
occurred on the network. The ledger is used to provide an immutable record
of all transactions and to ensure the consistency and integrity of the data on
the network. There are several types of ledgers in Hyperledger, including:
56
• Iroha: This is a simple and easy-to-use blockchain platform that is
designed for the rapid development and deployment of applications.
3.4.5 Chaincode
n Hyperledger Fabric, chaincode is the term used to refer to smart contracts.
Chaincode is written in Go and defines the business logic of a Hyperledger
Fabric network. It specifies the rules for updating the ledger and determines
which transactions are valid. When a transaction is submitted to the net-
work, it is sent to the appropriate peer nodes for endorsement. The chaincode
is then executed on the endorsing peer nodes, and the endorsed transaction is
sent back to the client for ordering and finally commit to the ledger. Chain-
code is an important part of the Hyperledger Fabric architecture, as it allows
users to define the specific rules and functionality of their blockchain net-
work. In Hyperledger, chaincode refers to the smart contract code that is
written in a programming language, such as Go or Java, and deployed on the
blockchain network. There are two types of chaincode in Hyperledger Fabric:
57
view of the state of the network. Hyperledger Fabric supports several differ-
ent consensus algorithms, including the Practical Byzantine Fault Tolerance
(PBFT) algorithm and the Kafka-based consensus algorithm. The specific
consensus algorithm used by a Hyperledger Fabric network can be configured
and customized to meet the needs of the specific application. The main Con-
sensus Algorithm are Proof of Work (PoW), Proof of Stake (PoS), Practical
Byzantine Fault Tolerance (PBFT), Federated Byzantine Agreement (FBA),
Delegated Proof of Stake (DPoS).
3.4.7 Channels
In Hyperledger Fabric, a channel is a private “subnet” within a Hyperledger
Fabric network that allows a group of participants to execute transactions
and share data in a confidential manner. Each channel has its own separate
ledger, and the participants on a channel can only see the transactions that
are submitted to that channel. This allows different groups of participants
within a Hyperledger Fabric network to have their own private, confidential
interactions without revealing sensitive information to the other participants
on the network. Channels provide an additional layer of security and privacy
within a Hyperledger Fabric network. In Hyperledger Fabric, there are three
types of channels:
58
3.5 Beyond Chaincode: fabric SDK
Hyperledger Fabric is a container-based blockchain framework used for de-
veloping decentralized applications using plug-and-play components aimed
at making it modular. The Hyperledger Fabric SDK allows applications to
interact with a Fabric blockchain network. It provides a simple API to sub-
mit transactions to a ledger or query the contents of a ledger with minimal
code. Hyperledger Fabric offers a number of SDKs for a wide variety of pro-
gramming languages. The first three delivered are the Node.js, Java, and Go
SDKs.
59
• APIs: The Hyperledger Fabric SDK provides a set of APIs that allow
developers to interact with a Hyperledger Fabric network. This in-
cludes functions for submitting transactions, querying the blockchain,
and managing network membership.
• Java: You will need to have a recent version of the Java Development
Kit (JDK) installed on your machine. Maven: Maven is a build tool
for Java that is used to manage dependencies and build projects. You
will need to have Maven installed to use the Hyperledger Fabric SDK
for Java.
Approach: Once you have these prerequisites installed, you can start using
the Hyperledger Fabric SDK for Java by following these steps:
60
• Create a new project: Create a new Maven project in your preferred
Java development environment. In this example am using NetBeans.
Go to Create Project -> Java Application -> Project Name -> Finish.
• Import the Hyperledger Fabric classes: In your Java code, import the
necessary Hyperledger Fabric classes and interfaces to use in your ap-
plication.
Overall, using the Hyperledger Fabric SDK for Java involves setting up a
project, importing the necessary dependencies, and using the API to inter-
act with a Hyperledger Fabric network. There are many resources available
online, including documentation and tutorials, that can help you get started
with the Hyperledger Fabric SDK for Java.
61
• The platform focuses on allowing users to create business networks by
means of making use of pre-built components.
• It’s designed for supporting blockchain applications in order to make
them compatible with other Hyperledger tools
• It’s developing and maintainable by different stakeholders at the same
time, not just a single entity.
• The platform’s development team aims to make the platform read-
ily available to developers, organizations, businesses, and associations
which are looking to utilize blockchain technologies like Hyperledger
Composer in order to conduct business operations.
• The platform focuses on cross-project code management for all stake-
holders involved in the development and deployment of their projects.
• Hyperledger Composer is a modular architecture that facilitates the
creation of components that can be incorporated and reused in order
to reduce complexity.
Hyperledger Composer focus on the creation of components that can be in-
corporated and reused in order to reduce complexity while ensuring secure
transactions. It’s also designed to support blockchain applications and is
capable of making them compatible with other Hyperledger tools. It’s devel-
oped and maintained by different stakeholders at the same time, not just a
single entity. It’s an open-source tool that facilitates the creation of business
networks through its modular architecture.
62
• Assets: Assets are tangible or intangible goods, services, or property,
and are stored in registries. Assets can represent almost anything in
a business network, for example, a house for sale, the sale listing, the
land registry certificate for that house, and the insurance documents for
that house may all be assets in one or more business networks. Assets
must have a unique identifier, but other than that, they can contain
whatever properties you define. Assets may be related to other assets
or participants.
• Queries: Queries are used to return data about the blockchain world-
state. Queries are defined within a business network, and can include
variable parameters for simple customization. By using queries, data
can be easily extracted from your blockchain network. Queries are sent
by using the Hyperledger Composer API.
63
• Events: Events are defined in the business network definition in the
same way as assets or participants. Once events have been defined, they
can be emitted by transaction processor functions to indicate to exter-
nal systems that something of importance has happened to the ledger.
Applications can subscribe to emitted events through the composer-
client API.
64
Figure 3.4: Architecture of Hyperledger Composer
65
Chapter 4
Use case 1
• Trust: Its transparent and immutable ledger makes it easy for different
66
Figure 4.1: challenges faced by the finance industry
67
4.1.1 Settlements
Settlement means that the operation can no longer be reversed. In cryp-
tocurrency transactions, the settlement is done when the block with the
transaction data is added to the blockchain.
4.1.2 KYC
KYC is a process by which banks obtain information about the identity
and address of the purchasers. It’s a regulator governed process of perform-
ing due diligence for verifying the identity of clients. This process helps to
make sure that banks’ services aren’t misused. The banks are responsible
for completing the KYC procedure while opening accounts. Banks also are
required to periodically update their customers’ KYC details. KYC may
be a manual, time-consuming, and redundant across institutions. Sharing
KYC information on Blockchain would enable financial institutions to de-
liver better compliance outcomes, increase efficiency, and improve customer
experience.
Key Problem Areas and Solution Benefits
• Redundancy: Most large files use similar data and processes to verify
an equivalent client. The solution benefit is to eliminate the redundancy
documentations that got to be verified only once before the approval
information is shared.
68
and unchanging database that does not need a third party to verify the au-
thenticity of the knowledge. It makes it possible to form a system where
the user will only need to undergo the KYC procedure once to verify his/her
identity. The process is as follows:
• The bank is responsible for entering the data about the user into the
blockchain platform, to which other banks, organizations and state
structures have access. All parties can control and regulate the KYC
process. The system will monitor changes and updating of the user
69
Figure 4.3: Blockchain KYC Process
data, and if someone breaks the rules, it will become known to all
parties.
• When a user wants to use the services of another bank, this second
bank accesses the system and thus confirms the user’s identity.
• The access to user data will be based solely on its consent. The user
must log in with cryptocurrency transactions i.e. use the private key
to initiate the information exchange operation.
70
4.1.3 Capital Markets
there are four categories of market participants in capital markets for whom
blockchain-based solutions offer clear benefits:
71
explosion of financial products, most of these assets will share specific
programmed standards, thereby simplifying the structuring of new fi-
nancial products or instruments. The ability to issue digital assets and
fractionalize existing assets will create a broader investor pool, espe-
cially as newer investors are more comfortable with the idea of owning
a portfolio of digital assets.
72
Figure 4.4: Blockchain in Capital Markets
73
Figure 4.5: Blockchain in Insurance Markets
pany fulfills the loss suffered by the insured in the first place and reclaims the
loss from the third party (fault-party). These claims are difficult to validate
due to the fear of fraud. With a powerful technology such as blockchain,
fraudulent claims can be reduced to the minimum, and it will be also easier
to know whether the insurer of the faulty party has a ‘waiver of subrogation’.
Waiver means the insurance company may not be able to seek reimburse-
ment; in that case, the company may refuse to compensate the insured. The
insured and the insurance company may be benefitted as the blockchain reg-
istry holds transparency and a better auditability in all aspects.
Mutual trust between both parties is what makes the insurance company
sells its policies in the market. If blockchain can boost trust and faith in
the insurance company, it may create a plan in devising the technology in
its various lines of business and products. And take the lead in creating
more transparency in its operations resulting in increased numbers of people
enrolling in the policy
74
4.2.1 Efficiency
Blockchain makes global supply chains more efficient by allowing companies
to complete transactions directly and without third parties. It also facilitates
increased integration of financial and logistics services, enabling greater data
collaboration between stakeholders. Integrated payment solutions reduce the
time between ordering and payment processing, ensuring the proper, timely
movement of products. In addition, blockchain and smart contracts help
companies enhance compliance, reduce legal fees and fines for late payment
of taxes, and curb counterfeiting and fraud.
4.2.2 Transparency
As records on the blockchain can’t be erased, it makes for a transparent
supply chain. Also, each step in the supply chain is logged securely, which
means that logistics issues can be easily tracked to their source. The same
goes for sourcing components or raw materials, which can be traced back
to their origin, increasing accountability and transparency, and mitigating
illegal activity.18
One study estimates that blockchain’s ability to help prove product prove-
nance could boost global GDP by $962 billion.19 Providing more information
about a product’s manufacturer, origin, transfer, and use can establish trust
and confidence in the supply chain.
75
digital tokens in real-time and resulting in a 28 percent increase in
efficiency
• South African paper company Sappi and Indian fabric producer Birla
Cellulose partnered to create GreenTrack, which tracks fabric products
from sustainable forests through to production. The platform has been
adopted by more than 250 supply chain partners, including Walmart
and Marks & Spencer
76
4.2.5 Blockchain in Supply Chain Finance
Buyer, supplier, lender have sight of each block in the chain. Here’s a sim-
plified example:
• Global Retail places an order for cardboard boxes with ABC Cartons
– a box manufacturer.
• The order is inserted into a blockchain established to manage the trans-
action.
• ABC asks their bank to fund the cost of raw materials to produce the
boxes. The bank agrees and they enter a new block in the chain. The
action is also visible to Global.
• ABC receives the funds and makes the boxes. They ship them to Global
along with the invoice. The bank has sight of the shipping and billing,
which are new blocks in the chain.
• Global receives the boxes and pays ABC. Two more blocks are added
to the digital ledger. ABC and the bank see these actions.
• ABC repays the bank, and the bank closes the loan record. (Two more
blocks).
• Global closes the chain. (Final block).
77
4.2.6.2 Benefits of Blockchain in Invoice Discounting
• Automated documentation – Blockchain eliminates the manual labor
involved in the invoice discounting process and the transaction becomes
paperless.
• Distributed ledger technology means that all parties have access to real-
time and share the transaction view. However, they can be limited to
seeing the parts they need to make their contribution.
78
Chapter 5
Use case 3
79
systems, the user’s identity is managed by each Service Provider. In a de-
centralised identity framework, the user receives credentials proving their
identity from multiple Issuers (e.g., Government, Employer, University etc.)
and stores them in a digital wallet. The user (aka Holder) can then present
proofs of their identity to any company that requests it (Verifiers), and these
companies can verify that the proofs are true via a Blockchain-based ledger.
Rather than a central authority managing the user’s identity, a blockchain-
based distributed ledger acts as the source of truth. The identity information
itself is not held on the ledger but within a wallet managed by the user.
80
Figure 5.2: Blockchain based ID
81
confident for land bought, that it is original without any duplicity, and the
seller is the lawful owner of the land, which abandons the probabilities for
any disputes later. The use of smart contracts gears up the procedure of land
titling by updating the record automatically. If the parties that are indulged
in the purchase of the property have all the correct data at the required time,
then decisions could be made faster, hence making the whole process smooth
and transparent. With the use of Blockchain and smart contract, the cer-
tainty about the ownership of property is assured. This technology built the
trust between parties, as transactions is in the form of transparent contract.
It makes the business faster and more organized [16]. It improves data secu-
rity and ensures the originality of the land records. Figure 4 clearly explains
the role of Blockchain Technology in land Records. The main merit of using
82
public blockchain technology is the impossibility of making any changes in
the blockchain. Thus, it helps in providing a level of trust to the buyers and
the sellers. In the hybrid land registration block chain process, only a lim-
ited number of entities are part of the blockchain. When the current Land
Registry system would be replaced by using a hybrid blockchain, used by the
current stakeholders in the chain of real estate transfer, there could be a role
for both the Registrar and the Notaries, bailiffs and other parties, who are
sending official documents to be recorded in the Land Register. Benefits
• The farmers will be assured that their land ownership cannot be changed
by spurious persons.
83
• The farmers can obtain loans quickly. The updation of the details
related to liabilityin the Record of Rights can be done as soon as the
farmer repays the loan. This is facilitate the farmer to avail other
benefits / services.
• Citizens can verify the ownership details & complete history of the
property before going in for purchase of the property
84
5.1.3.1 Role of Blockchain
Use of blockchain can remove at least delay in payment to the farmers based
on procurement done by the miller. Since miller is responsible for the col-
lection and stock initially unless the transaction is approved by the farmer,
miller cannot register the quantity collected. This makes each transaction
Non-repudiation.
Since calculation and payment must happen based on this initial data,
data provenance (recording history of data) can be sealed using blockchain
technology. The decentralized distributed ledger makes all the stake holders
refer to their local copy of the ledger to make decisions and act accordingly.
Certain activities such as payment to farmers can be done without waiting
for the miller to hull them. Since the procurement season is defined for each
commodity, payment can start immediately without waiting for the other
actors to complete their process.
This makes each transaction as non-time critical and thus eligible to be
part of blockchain technology. Since farmer only interacts with the gov-
ernment identified millers it needs not be part of a public chain where in
transporter is participating in the network.
A social welfare system offers assistance to individuals and families
in need, with such programs as health care assistance, food stamps, and
unemployment compensation. Lesser known parts of a social welfare system
include disaster relief and educational assistance. By creating a transparent
record of these transactions, blockchain can help to reduce fraud and ensure
that assistance goes to those who need it most. Additionally, this data can
be used to measure the overall effectiveness of social welfare programs.
85
process the transaction.
86
Figure 5.5: Symmetric-key cryptography
87
Figure 5.6: Asymmetric-key cryptography
88