SLIDE 1 Thunderella: Blockchains with Optimistic Instant Confirmation
Rafael Pass and Elaine Shi
Cornell Tech & Cornell University
SLIDE 2 State-machine replication
(a.k.a. linearly ordered log, consensus, blockchain)
SLIDE 3 State-machine replication
(a.k.a. linearly ordered log, consensus, blockchain)
Consistency:
honest nodes agree on log
Liveness:
TXs are incorporated soon
SLIDE 4 Classical
(e.g. PBFT, Paxos)
Blockchains
SLIDE 5 Classical
(e.g. PBFT, Paxos)
Fast (most of the time) Complex Asynch
Blockchains
SLIDE 6 Classical
(e.g. PBFT, Paxos)
Fast (most of the time) Complex Asynch
Blockchains
(PoW and non-PoW)
Slow Sync Simple Robust
SLIDE 7
Thunderella
As simple and robust as a blockchain Confirm in 2 actual network rounds in the “optimistic case” Fall back to blockchain when things “go bad”
SLIDE 8 Classical
(e.g. PBFT, Paxos)
Let’s start with this
Roadmap
Blockchains
(PoW and non-PoW)
SLIDE 9 Classical
(e.g. PBFT, Paxos)
Blockchains
(PoW and non-PoW)
Roadmap
SLIDE 10
SLIDE 11
Leader proposes transaction
(Seq, )
SLIDE 12
Everyone “ack’s”
SLIDE 13
Confirm on upon “enough” acks
SLIDE 14
Ex: Assume ⅔n+1 honest; wait for ⅔n+1 acks
SLIDE 15 ⅔n+1 ⅔n+1
“Y”
Must intersect at an honest node
Assume ⅔n+1 honest
SLIDE 16 ⅔n+1 ⅔n+1
“Y”
Must intersect at an honest node
Assume 1/3n malicious
SLIDE 17
⅔n+1 ⅔n+1
“Y”
Must intersect at an honest node
Thus X = Y
SLIDE 18
Assume ⅔ honest and online
SLIDE 19
Assume ⅔ honest and online
Consistency Liveness
SLIDE 20
Assume ⅔ honest and online
Consistency Liveness Consistency No liveness
SLIDE 21
How do we achieve liveness?
SLIDE 22 How do we achieve liveness?
You don’t want to know …
[PBFT, Paxos...]
SLIDE 23
Anatomy of classical consensus
Simple normal path Complicated recovery path
SLIDE 24 Classical
(e.g. PBFT, Paxos)
Blockchains
(PoW and non-PoW)
Roadmap
SLIDE 25
blockchain
Thunderella
SLIDE 26 Thunderella
for
permissionless Thunderella
for
permissioned
SLIDE 27 Thunderella
for
permissionless
For concreteness, we’ll focus on this
SLIDE 28 blockchain miners Leader/ ”accelerator” Committee
(recent miners/ stakeholders)
SLIDE 29 3/4 fraction honest and online
“Optimistic” mode: Instant confirmation
honest and
majority honest
SLIDE 30 majority honest majority honest
(but need not be online)
But, still SECURE as long as:
majority Arbitrary deviation!
SLIDE 31 ¾n+1 “X” ¾n+1 “Y”
Must intersect at an honest node
Assume ½n+1 honest
SLIDE 32
Ack Propose (seq, )
SLIDE 33
Propose (seq, ) Ack
¾ acks:
notarized
SLIDE 34
¾ voted:
notarized Confirm maximal “lucky” sequence
SLIDE 35
Confirm maximal “lucky” sequence
¾ voted:
notarized
No liveness when
SLIDE 36 blockchain collects evidence
SLIDE 37 blockchain collects evidence
Now enter slow mode
SLIDE 38 What evidence do we collect?
Need: faulty nodes cannot implicate honest leader
SLIDE 39
Miners “tell blockchain” everything they know
SLIDE 40
What evidence do we collect?
k blocks
SLIDE 41 What evidence do we collect?
k blocks
has not appeared in a lucky sequence
SLIDE 42 blockchain collects evidence
Now enter slow mode
SLIDE 43
Now enter slow mode
Nodes have different logs when entering slow mode
SLIDE 44
Now enter slow mode
Need: agree on log before entering slow mode
SLIDE 45 Grace period: k blocks
- Stop optimistic output
- Share knowledge
- All knowledge → blockchain
Stop “acking” new transactions Tell others what you know Miners tell blockchain what they know
SLIDE 46 Summary
k blocks
Slow mode has not appeared in a lucky sequence Grace period
SLIDE 47 3/4 fraction honest and online
“Optimistic” mode: Instant confirmation
honest and
majority honest
SLIDE 48 majority honest majority honest
(but need not be online)
But, still SECURE as long as:
majority Arbitrary deviation!
SLIDE 49
Thank you.