Mechanising Blockchain Consensus
George Pîrlea and Ilya Sergey
Monday, 8 January 2018 CPP2018 1
Mechanising Blockchain Consensus George Prlea and Ilya Sergey - - PowerPoint PPT Presentation
Mechanising Blockchain Consensus George Prlea and Ilya Sergey Monday, 8 January 2018 CPP2018 1 Context Hundreds of deployed public blockchains $600 625 675 735 755 780 820 billion total market cap (7 day progression since Jan 1 st )
George Pîrlea and Ilya Sergey
Monday, 8 January 2018 CPP2018 1
blockchains
billion total market cap (7 day progression since Jan 1st)
Monday, 8 January 2018 CPP2018 2
Monday, 8 January 2018 CPP2018 3
Monday, 8 January 2018 CPP2018 4
Future work
Monday, 8 January 2018 CPP2018 5
blockchain consensus protocol
transactions into a globally-agreed sequence
server” (Nakamoto2008)
Monday, 8 January 2018 CPP2018 6
transactions can be anything
Monday, 8 January 2018 CPP2018 7
Monday, 8 January 2018 CPP2018 8
GB = genesis block
Monday, 8 January 2018 CPP2018 9
Monday, 8 January 2018 CPP2018 10
Monday, 8 January 2018 CPP2018 11
what everyone eventually agrees on view of all participants’ state
Monday, 8 January 2018 CPP2018 12
Monday, 8 January 2018 CPP2018 13
Monday, 8 January 2018 CPP2018 14
a network
be issued and propagated concurrently
Monday, 8 January 2018 CPP2018 15
a network
without full knowledge of all transactions
Monday, 8 January 2018 CPP2018 16
but nodes don’t know
Monday, 8 January 2018 CPP2018 17
Monday, 8 January 2018 CPP2018 18
propagate, nodes become aware of the fork
Monday, 8 January 2018 CPP2018 19
Monday, 8 January 2018 CPP2018 20
Monday, 8 January 2018 CPP2018 21
Monday, 8 January 2018 CPP2018 22
Monday, 8 January 2018 CPP2018 23
Monday, 8 January 2018 CPP2018 24
network
all block messages have been delivered, everyone agrees
Monday, 8 January 2018 CPP2018 25
Monday, 8 January 2018 CPP2018 26
everyone agrees
Monday, 8 January 2018 CPP2018 27
Monday, 8 January 2018 CPP2018 28
links blocks together proof that this block was minted in accordance to the rules of the protocol proof-of-work proof-of-stake
Monday, 8 January 2018 CPP2018 29
try to generate a proof = “ask the protocol for permission” to mint validate a proof = ensure protocol rules were followed
Monday, 8 January 2018 CPP2018 30
Monday, 8 January 2018 CPP2018 31
Monday, 8 January 2018 CPP2018 32
global system step
Monday, 8 January 2018 CPP2018 32
global system step
state 1 state 2 state 3 state 4 state 5
Monday, 8 January 2018 CPP2018 34
system step invariant holds invariant holds system step invariant holds system step invariant holds system step invariant holds
➢consensus
Monday, 8 January 2018 CPP2018 35
Monday, 8 January 2018 CPP2018 36
Monday, 8 January 2018 CPP2018 37
Monday, 8 January 2018 CPP2018 38