BFT in Lens of Blockchain
Ted Yin1,2, Dahlia Malkhi2, Michael K. Reiter2,3 Guy Golan Gueta2 and Ittai Abraham2
1Cornell University, 2VMware Research, 3UNC-Chapel Hill
BFT in Lens of Blockchain Ted Yin 1,2 , Dahlia Malkhi 2 , Michael K. - - PowerPoint PPT Presentation
BFT in Lens of Blockchain Ted Yin 1,2 , Dahlia Malkhi 2 , Michael K. Reiter 2,3 Guy Golan Gueta 2 and Ittai Abraham 2 1 Cornell University, 2 VMware Research, 3 UNC-Chapel Hill About Me {Design,prov,build}ing practical distributed systems with
Ted Yin1,2, Dahlia Malkhi2, Michael K. Reiter2,3 Guy Golan Gueta2 and Ittai Abraham2
1Cornell University, 2VMware Research, 3UNC-Chapel Hill
fundamental (algorithmic) improvements
○ Avalanche Consensus (permission-less, extremely scalable) ○ HotStuff Consensus (permission-ed, elegant and drop-in replacement for PBFT/PBFT-like use cases)
The Saddest Moment, Mickens 2013
Bitcoin: a Peer-to-Peer Electronic Cash System, Nakamoto 2008
Replica
1 2 3 4
Replica
1 2 3 4
Replica
1 2 3 4
Byz
Conferences probably don’t care. But we do! Possibly the first protocol with linear cost during a view change
Classical BFT
Nakamoto’s Consensus
Framework
Ingredients to Make a 2-step HotStuff
2f + 1: QC1 ≥ f + 1 ≥ f + 1 ≥ 1 2f + 1: QC2
B1 B2 B3 B4 B7 B8 B5 B6
B1 B2 B3 B4 B7 B8 B5 B6 Bhqc
QC
qref(Bhqc)
Protocol State Variables
B1 B2 B3 B4 B7 B8 B5 B6 Bexec Bhqc
qref(Bhqc)
Message Types <propose, v, Bnew, Bhqc’> <vote, <v, Bnew>signed by v, Bhqc’>
How to Vote?
○ Bnew.height > vheight ○ Bnewis on the same branch as qref(Bhqc)
B1 B2 B3 B4 B7 B5 B6 Bexec Bhqc Yes B8 No
How to Vote?
qref(Bhqc)
When to Commit?
gets a QC. (What…? )
B1 B2 B3 B4 B7 B8 B5 B6
QC QC
When to Commit?
gets a QC.
B1 B2 B3 B4 B7 B8 B5 B6
QC QC
VC: O(N3) Normal: O(N4) VC: O(N3) or O(N2) Normal: O(N2)
VC: O(N2) Normal: O(N) VC: O(N2) Normal: O(N2)
VC: O(N) Normal: O(N)
VC = View Change
That’d be all.