BLOCKCHAIN OVERVIEW
Overview of Blockchain
Blockchain and Its Importance
BLOCKCHAIN
• Blockchain is a decentralized ledger of all transactions
across peer-to-peer network.
• It is a technology that enables Bitcoin and is also applied
to many business processes.
• It not only performs transactions but also ensures
anonymity and security of the users.
CURRENT BANKING SYSTEM
John Bank Kat
Sends $10 to Kat Acts like a third party Receives $9
through a bank and takes
commission of $1
ISSUES IN BANKING SYSTEM
There were few issues in the previous banking system that lead to the rise of Blockchain technology.
Account Hacking Net Frauds
Issues
Financial Crisis High Transaction Cost
BLOCKCHAIN SOLUTION TO THE ISSUES
Blockchain tackled the issues in the previous system with some of its features mentioned below:
Distributed Ledger Decentralized System
Incentives of Features
Validation
Consensus Algorithm Cryptography Algorithm
BLOCKCHAIN TRANSACTION PROCESS
Transaction is validated by
Transaction is broadcasted the miner
Transaction is
requested
Transaction becomes a part
of the new block created
Transaction is now New block is added to the
completed Blockchain
STEPS OF BLOCKCHAIN TRANSACTION
Blockchain transaction works implementing one of the following features in each step:
Cryptography Decentralized Consensus Distributed
Algorithm Network Algorithm Ledger
FEATURES OF BLOCKCHAIN
Cryptography Decentralized Consensus Distributed
Algorithm Network Algorithm Ledger
It ensures authentication and integrity of the transaction.
ASYMMETRIC KEY CRYPTOGRAPHY
Encrypts message Decrypts message
using public key using private key
SYMMETRIC KEY CRYPTOGRAPHY
Encrypts message Decrypts message
using secret key using same secret
key
DIGITAL SIGNATURE
Digital Signature
Public Key Private Key
A digital signature provides authentication and validation as normal signatures do.
It ensures the security and integrity of data recorded on the Blockchain.
It uses asymmetric cryptography in which information can be shared using a public key.
Primary keys are linked to users providing digital signatures a quality of nonrepudiation .
DIGITAL SIGNATURE CREATION
Blockchain Workflow
Hash
1100111001 Encryption
Algorithm 1100111001
Hash
Digitally
Private Signed
Key Document
Signer
Network
Hash Signature is
1100111001
Algorithm valid when
Hash hash values
1100111001 are equal
Decryption 1100111001
Digitally Signed Hash Verifier
Document
Public Key
DURATION: 5
Assisted Practice MINS
Generation of a Public/Private Key Pair and a Digital Signature
Problem Statement: You are given a task to generate a public key and a digital signature
containing a message.
.
ASSISTED PRACTICE: STEPS
Step 01 Visit https://anders.com/blockchain/public-private-keys/keys.html
Step 02 Click on the random button to generate public and private key
Step 03 Visit https://anders.com/blockchain/public-private-keys/signatures.html
Step 04 Enter a message, and click on sign button to generate a digital signature
Step 05 Click on verify tab to verify the digital signature created
FEATURES OF BLOCKCHAIN
Cryptography Decentralized Consensus Distributed
Algorithm Network Algorithm Ledger
It is a system where miners play an important role in the validation of transaction taking place.
TYPES OF NETWORK
Centralized Network
Decentralized Network
TYPES OF NETWORK
Centralized Network
Decentralized Network
FEATURES OF BLOCKCHAIN
Cryptography Decentralized Consensus Distributed
Algorithm Network Algorithm Ledger
Miners will validate the transaction using mathematical puzzles.
CONSENSUS PROTOCOL
It is a fault-tolerant protocol that is used to achieve the necessary agreement on a single data value or a
single state of network.
It is a set of rules that decides on the contribution of the various participants of the Blockchain.
It ensures that all transactions occurring on the network are genuine and all participants agree on the
consensus of the ledger.
BLOCKCHAIN PROTOCOLS
FEATURES OF CONSENSUS PROTOCOL
Efficient Secure
Real-time Reliable Functional
ROLE OF MINER
Validates and processes
transaction
Requests transaction Transaction processed
Miner
Node 1 Node 2
PROOF OF WORK
PROOF OF WORK
Nonce
Hash
Transaction
NONCE
A random number whose value is set so that the hash of the block will contain a run of leading zeros.
Block #248
Prev Block Hash: New Block
#65A… Prev Block Hash:
Transaction: #78E…
Txn 673… Txn a63… Transaction:
Random number (guess) : Txn 725…
2435681 Txn 434…
#78E… Random number (guess) :
6873838
ASSISTED PRACTICE: STEPS
Step 01 Visit https://anders.com/blockchain/block.html
Step 02 Enter some data in the data field, and click Mine
Step 03 Observe the generation of new nonce value
HASH CODE
• The code generated by taking an input and converting it to cryptographic output using
mathematical algorithm is hash code.
• H(x) is the hash of x.
Unique Value Fast Production
Data
Security
with Hash
Unpredictable High Transaction Cost
DURATION: 5
Assisted Practice MINS
Generation of a Hash Code
Problem Statement: You are given a task to generate a hash code.
ASSISTED PRACTICE: STEPS
Step 01 Visit https://anders.com/blockchain/hash.html
Step 02 Enter some data in the data field
Step 03 Observe the generation of hash value for the date
HASH POINTER
• Hash pointer is a pointer to the location where information or hash of that information is
stored
• If we retrieve information that the pointer points at, we can get hash of the information and
confirm it to be unchanged
• It requires information of previous hash
H( )
prev: H( ) prev: H( ) prev: H( )
data data
data
PROOF OF STAKE
A low cost, low energy consuming
algorithm which states that a
person can mine and validate
transaction
based on how many coins he or she
holds.
PROOF OF ELAPSED TIME
Consensus algorithm prevents high energy consumption and resource utilization following a lottery
system.
Each participant in the network is required to wait. One who completes the
waiting time is the winner.
Winner
BLOCKCHAIN BLOCK STRUCTURE
BLOCKCHAIN IDENTIFIERS: BLOCK HEADER
Primary identifier of a block
Digital fingerprint, twice the size of block header
Unique identification of a block
32-byte hash
BLOCKCHAIN IDENTIFIERS: BLOCK HEIGHT
Position of the block in Blockchain
The first block is of height 0
Each node dynamically identifies a block
BLOCKCHAIN MERKLE TREE
Data structure used for summarizing and verifying the integrity of large sets of data. It is also known
as Binary Hash Tree.
Merkle Root
HABCD
Hash(HAB + HCD)
HAB Hash(HA + HB) HCD Hash(HC + HD)
HA HA HC HD
Hash(TxA) Hash(TxB) Hash(TxC) Hash(TxD)
ADVANTAGES OF MERKLE TREE
Less memory required Integrity
Proofs are computed quickly
and easily Advantages
Provides validation of data Less information required
FEATURES OF BLOCKCHAIN
Cryptography Decentralized Consensus Distributed
Algorithm Network Algorithm Ledger
Blockchain stores records of each transaction in the distributed ledger.
EVOLUTION OF DISTRIBUTED LEDGERS
DISTRIBUTED LEDGER
Ledgers store the copy of transactions that have happened. Every single person of the network has a
copy of the ledger.
John Kat
John = 3 BTC John = 3 BTC
John -> Kat 3 BTC John gives 3 BTC to Kat John -> Kat 3 BTC
Kat -> Peter 2 BTC Kat -> Peter 2 BTC
Peter -> Susan 1 BTC Peter -> Susan 1 BTC
Kat gives 2 BTC to Peter
John = 3 BTC John = 3 BTC
John -> Kat 3 BTC Peter gives 1 BTC to Susan John -> Kat 3 BTC
Kat -> Peter 2 BTC Kat -> Peter 2 BTC
Peter -> Susan 1 BTC Peter -> Susan 1 BTC
Susan Peter
Overview of Blockchain
Types of Blockchain
TYPES OF BLOCKCHAIN
Public
Bitcoin Ethereum Dash Factom
Private
Ledgers are publicly available to verify or add blocks to the Blockchain
Consortium
TYPES OF BLOCKCHAIN
Public
Private
Only authorized users can add or verify the blocks, but anyone can view it
Consortium
TYPES OF BLOCKCHAIN
Public
Hyperledger 1.0 R3 Ripple
Private
Semi-centralized Blockchain in which only predefined set of nodes has
permission to write the block
Consortium
BLOCKCHAIN PLATFORMS
Based on Proof of Work Pluggable frameworks
Federated consensus
Cross-border payments mechanism
BLOCKCHAIN PLATFORMS
More than 185 collaborating
Backs nano payments
companies
High degree of authority Majority voting consensus
mechanism
BLOCKCHAIN APPLICATION COMPONENTS
Node Application
Shared Ledger
Each node has to install A ledger is managed inside
and run a computer Components
the node application
application definitive to whose contents can be
the ecosystem. viewed once the
01 02
application is running.
04 03
Virtual Machine
Consensus Algorithm
An abstraction of
instruction-operated It provides the rule for how
machine implemented the ecosystem will arrive at
as a part of node a single view in a ledger,
application. and how it will be
implemented as a part of
node application.
KEY TAKEAWAYS
You are now able to:
Describe the Blockchain transaction process
Generate a public key and a digital signature
Generate a nonce, a hash code, and a Blockchain block
Work with a distributed system and perform Blockchain transaction
Knowledge
Check
In which algorithm is the peer-to-peer message directed with minimal latency?
1
a. Proof of Work
b. Proof of Stake
c. Practical Byzantine Fault Tolerance
d. Proof of Elapsed Time
Knowledge
Check
In which algorithm is the peer-to-peer message directed with minimal latency?
1
a. Proof of Work
b. Proof of Stake
c. Practical Byzantine Fault Tolerance
d. Proof of Elapsed Time
The correct answer is c
PBFT improves the robustness and performance by directing peer-to-peer messages with minimal
latency.
Knowledge
Check What is the code generated by taking an input and converting it to
2 cryptographic output using mathematical algorithm?
a. Pseudo code
b. Hash code
c. ASCII code
d. Binary code
Knowledge
Check What is the code generated by taking an input and converting it to
2 cryptographic output using mathematical algorithm?
a. Pseudo code
b. Hash code
c. ASCII code
d. Binary code
The correct answer is b
Blockchain uses Hash code for mathematical algorithms such as Proof of Work.
Knowledge
Check
What is a miner?
3
a. An algorithm that predicts the next part of the chain
b. A type of Blockchain
c. An application that processes and validates Blockchain transactions
d. A person doing calculations to verify a transaction
Knowledge
Check
What is a miner?
3
a. An algorithm that predicts the next part of the chain
b. A type of Blockchain
c. An application that processes and validates Blockchain transactions
d. A person doing calculations to verify a transaction
The correct answer is c
Miner is an application that performs the validation of the transaction using consensus
algorithm.
Knowledge
Check
Which algorithm prevents resource utilization following a lottery system?
4
a. Proof of Work
b. Proof of Stake
c. Proof of Elapsed Time
d. Practical Byzantine Fault Tolerance
Knowledge
Check
Which algorithm prevents resource utilization following a lottery system?
4
a. Proof of Work
b. Proof of Stake
c. Proof of Elapsed Time
d. Practical Byzantine Fault Tolerance
The correct answer is c
Proof of Elapsed Time increases the efficiency of the process by preventing resource utilization.
Knowledge
Check What is the random number called whose value is set so that the hash of the block
5 will contain a run of leading zeros?
a. Hash code
b. Hash pointer
c. Binary code
d. Nonce
Knowledge
Check What is the random number called whose value is set so that the hash of the block
5 will contain a run of leading zeros?
a. Hash code
b. Hash pointer
c. Binary code
d. Nonce
The correct answer is d
Nonce is used to hash the block so that it will contain a run of leading zeros.