4. Overview: Distributed - Peer to Peer Approach
App
App
App
App
App
App
No Single
Custodian
or Trustee
Heloc
Mortgage
ReFi
Auto Loan
Heloc
Mortgage
ReFi
Auto Loan
Trusted Actors
Malicious Actors
Distributed
Ledger
The objective is to ensure that the transactions are faithfully and
consistently recorded by all data nodes. The accuracy and validity of
the transactions themselves is not at question.
Heloc
Mortgage
ReFi
Auto Loan
Heloc
Mortgage
ReFi
Auto Loan
Heloc
Mortgage
ReFi
Auto Loan
Heloc
Mortgage
ReFi
Auto Loan
Heloc
Mortgage
ReFi
Auto Loan
6. Use Cases : AML KYC Customer Hub
Chase
Address
Update
BMO Harris
Name
Update
BofA
Marital Status
Update
HSBC
DOB
Correction
DMV
Address
Change
BMO Harris
New
Mortgage
7. Use Cases : Title Ownership
Chase
New
Mortgage
Coldwell
Banker
Sale
WellsFargo
Bankruptcy
Dupage
County
New Parcel
Dupage
County
Destroy
Parcel
BofA
Lien Hold
8. Use Cases : Driving Record
AllState
Claim Open
DMV
Purge
Naperville
Police
Traffic Stop
Lisle Police
Car Accident
Geico
Claim
Denied
Warreville
Police
Car Theft
9. Use Cases : Books without Borders Library
Naperville
Issued
Lisle
Returned
Downers
Grove
Extended
Warrenville
Late (Fee)
Lemont
Reissued(1)
Chicago
Hold
10. Use Cases : Mobile Telephone Registry
TMobile
Assign
Verizon
PortOut
Cricket
PortIn
AT&T
Reclaim
Xfinity
Hold
Sprint
Release
12. Consensus Algorithm : Byzantine Generals Problem
General
Loyal
Traitors
Enemy
General
General
General
Y – ATTACK
N- STAY PUT
Problem Statement: The enemy can be defeated
only if ALL loyal generals ATTACK.
Even if 1 loyal General STAYS PUT the enemy will
not be defeated.
So the objective is to make sure that all loyal
generals either ATTACK (Victory) or STAY PUT
(No loss).
The protocol used to achieve the above
agreement is called Consensus Algorithm.
This Consensus Algorithm works iff the # (Traitor Generals) < 1/3 (Total
Generals)
13. Consensus Algorithm : Byzantine Generals Problem
General
Loyal
Traitors
Enemy
General
General
General
Y – ATTACK
N- STAY PUT
Problem Statement: The enemy can be defeated
only if ALL loyal generals ATTACK.
Even if 1 loyal General STAYS PUT the enemy will
not be defeated.
So the objective is to make sure that all loyal
generals either ATTACK (Victory) or STAY PUT
(No loss).
The protocol used to achieve the above
agreement is called Consensus Algorithm.
Y
Y
Y
Y,Y,Y
N,Y,Y
N,Y,Y
This Consensus Algorithm works iff the # (Traitor Generals) < 1/3 (Total
Generals)
14. Key Components of Implementing BlockChain
Consensus Algorithms Cryptographic Hashing
Consensus Algorithms are
how the Peers on BlockChain
agree on the next node being
added to the chain.
There are several methods for
achieving consensus across a
cluster of nodes.
Proof of Work – Hard
Problem
Proof of Stake
Proof of Weight
Hashing refers to the process
of obfuscating data and
generating a unique string of
a predefined length
15. Hard Problem Concept (Spamming use-case)
Chat4 Chat6
Trusted Actors
Malicious Actors
Chat5
Chat1 Chat3Chat2
Chat Server
Hard Problem - 5ms Hard Problem - 5ms Hard Problem - 5ms
Hard Problem - 5ms Hard Problem - 5ms Hard Problem - 5ms
Have every client
solve a hard
problem (that
takes 5ms) before
posting to the
server.
This approach
disincentives
spammers as there
is per message
cost of using
energy resources
to solve the
problem.
16. Refresher on Binary & Hexadecimal Numbers
Binary Numbers : 0,1
Each binary digit is called a bit
1 byte is made up of 8 bits e.g.
00001111
1 hexadecimal (hex for short
is made up of 4 bits) e.g. 0011
Hexadecimal Code 4 bit binary number
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111
17. SHA256: Is a one-way hash function that takes a text of any length
and converts it into a 256 bit code (64 digit hex code)
Deterministic: The same 64 digit hex code is generated for the
same text
Unique: The probability that two different texts will share the
same 64 digit hex code is very very very low. So it generates a
unique signature for a given text.
Random: There is no way to predict the output of a given string.
(i.e. SHA(x) and SHA(k|x) looks entirely different for k chosen
from a high entropy set)
Universally Available: The implementation of this algorithm is
widely & publicly available
Consensus Algorithm : SHA Hash Function
18. The idea is to find a problem that is hard to solve but can be easily &
independently verified by others.
Problem statement: Given a string “XXXX” find a substring “YY” to append
such that the SHA hash code generated is less than 16^N for a given N.
For e.g. for 64 digit SHA function:
SHA64(XXXXYY) < 0000,FFFF,FFFF,FFFF (16^12) for N = 12 (smaller the N
the more difficult the problem becomes to ensure the desired number of
prepended zeros. For 4 zeros probability is: (1/16)^4 x (15/16)^12 == 8.132 *
10^-19)
Given that “XXXX” & N are known, once “YY” is provided, it can be easily &
independently verified by others that it solves the problem
In Proof of Work parlance: N is called the target and “YY” is called the nonce.
Consensus Algorithm : Hard Problem
19. Consensus Algorithm : Proof of Work
App App App
__
____
TX0-1
TX0-2
TX0-3
TX0-4
Trusted Actors
Malicious Actors
Node : 0
SHA16=XoXoXoXo
YoYo
XoXoXoXo
TX1-1
TX1-2
TX1-3
TX1-4
Node : 1
SHA16=X1X1X1X1
Nonce=YoYo
Y1Y1
X1X1X1X1
TX2-1
TX2-2
TX2-3
TX2-4
Node : 2
SHA16=X2X2X2X2
Nonce=Y1Y1
Y2Y2
X2X2X2X2
TX3-1
TX3-2
TX3-3
TX3-4
Node : 3
SHA16=X3X3X3X3
Nonce=Y2Y2
App App App App
Y3Y3
X3X3X3X3
TX4-1
TX4-2
TX4-3
TX4-4
Node : 4
SHA16=X4X4X4X
4
Nonce=Y3Y3
X = Previous Node Hash
Y = nonce
TX = Transactions
App App
Hard Problem:
SHA16(XXXXYY) < 0ABC (N=3)
Node1 : SHA16(X0X10X0X0,TX1s):YoYo
Node2 : SHA16(SHA16(X0X10X0X0+TX1s,YoYo),TX2s) :Y1Y1
Node3 : SHA16(SHA16(SHA16(X0X10X0X0+TX1s,YoYo),TX2s,Y1Y1),TX3s):Y2Y2
Node4: SHA16(SHA16(SHA16(SHA16(X0X10X0X0+TX1s,YoYo),TX2s,Y1Y1),TX3s),Y2Y2, TX4s) :Y3Y332
Block
Chain
App
Energy consumed
by BitCoin
BlockChain is
comparable to
the Energy
Consumption of
Denmark. We are
talking about
machines with
PetaBytes (10^12)
/Sec computing
power.