Fast Recovery - Algorand Specifications
Keyboard shortcuts
Press ← or → to navigate between chapters
Press S or / to search in the book
Press ? to show this help
Press Esc to hide this help
- Auto
- Light
- Dark
Algorand Specifications
On observing a timeout event of T=kλf+u where kk is a positive integer and u∈[0,λf] sampled uniformly at random, the player attempts to resynchronize. Then,
The player broadcasts* Vote(I,r,p,late,v) if v=σ(S,r,p) is committable in (r,p).
The player broadcasts* Vote(I,r,p,redo,v¯) if there does not exist a s0>cert such that Bundle(r,p−1,s0,⊥) was observed and there exists an s1>cert such that Bundle(r,p−1,s1,v¯) was observed.
Otherwise, the player broadcasts* Vote(I,r,p,down,⊥).
Finally, the player broadcasts all Vote(I,r,p,late,v)∈V, all Vote(I,r,p,redo,v)∈V, and all Vote(I,r,p,down,⊥)∈V that it has observed.
Important
IMPLEMENTATION:
Fast recovery reference implementation.
For a detailed pseudocode overview of the fast recovery routine, along with protocol recovery run examples, refer to the Algorand ABFT non-normative section.