Blockchain Consensus
Blockchain Consensus
Public
Types of Private
Blockchain
Semi private
Permissioned ledger
Shared ledger
Types of
Blockchain
Distributed ledger
Sidechains
Fully private and
proprietary blockchain
Types of Tokenized blockchain
Blockchain
Tokenless blockchain
Consensus Distributed or decentralized
system
Mechanism
ay Mo
nd nday
Mo
ay Mo
Mond nday
Mon nd ay
day Mo
Mon sd ay
day Tu e
EASY AND TRIVIAL TO REACH BROADCAST THE PERSONAL
IN A CONSENSUS, if no CHOICE
Distributed FAILURE
consensus
100
10
0
10
50
0
10
10
10 50
50
Crash Fault
Distributed
Consensus Network/ Partitioned fault
Faults
Byzantine fault
Faults in
Distributed
Consensus
•Crash
•Partition
•Byzantine
Termination
Validity
Distributed
consensus
properties Integrity
Agreement
Termination: Every correct individual decides some
value at the end of the consensus protocol
Validity: If all the individuals proposes the same
value, then all correct individuals decide on that
value
SYNCHRONOUS ASYNCHRONOUS
Correctness of Distributed Consensus Algorithm
Safety Liveliness
Correctness Safety: Correct
individuals must not Nothing bad
of agree on an incorrect
value
happened
Distributed
Consensus Liveliness (or Liveness):
Every correct value
Something
good
eventually
must be accepted
Algorithm eventually
happens
Open network
Consensus in
Bitcoin Malicious nodes
Network
Malicious transactions
Consensus in Bitcoin
Consensus in Bitcoin
Step 1:
Any valid block is accepted (Even proposed by one
user)
Consensus in Bitcoin
Step 2:
Broadcast the accepted block and collect next set
of transactions
Consensus in Bitcoin
Solution:
Everyone individually solve a problem;
Accept the one by the miner who is able to prove
first that problem is solved
Consensus in Bitcoin
Consensus in Bitcoin
Proof of •To prevent service abuses
•Required the requester to
Work do some work
•Dwork and Naor in 1992
(PoW) for preventing junk mails
Proof of Work (PoW)
Assymetric
Moderately hard
Hashcash
PoW – to Brute force method to find
hashcash
prevent Email
attacks
1:10:2008051225:[email protected]:data:de40a9b55b75b09c:a5
Hashcash
PoW Components
E mail address
Hashcash
PoW -
Receiver Random String
Compute Hash
PoW in Blockchain
PoW in Bitcoin