Fast Byzantine Agreement Nicolas B�����S������ Rachid G�������� Florian H�� MMTDC'13, Bremen
. Rushing adversary . No “cryptographic” hypotheses . Non-adaptive adversary Introduction . . . . Nicolas B�����S������ . . Byzantine fault . Failure model 2/18 . . Arbitrary behaviour . Full information
. Rushing adversary . No “cryptographic” hypotheses Introduction . . . . Nicolas B�����S������ . . Byzantine fault . Failure model 2/18 . . Arbitrary behaviour . Full information . Non-adaptive adversary
. No “cryptographic” hypotheses Introduction . . . . Nicolas B�����S������ . . Byzantine fault . Failure model 2/18 . . Arbitrary behaviour . Full information . Non-adaptive adversary . Rushing adversary
Nicolas B�����S������ Introduction . . . . . . . Byzantine fault . Failure model 2/18 . Arbitrary behaviour . Full information . Non-adaptive adversary . Rushing adversary . No “cryptographic” hypotheses
. Random values . Agreement . Non-biased . Termination . FLP . Lower bounds Randomised Agreement . . . . . . . . Nicolas B�����S������ Introduction . . . . . Consensus . Consensus 3/18 . . Propose values . Agreement . Validity . Termination
. Random values . Agreement . Non-biased . Termination Nicolas B�����S������ Randomised Agreement . . . . . . . . . Introduction . . . . . Consensus . Consensus 3/18 . Propose values . Agreement . Validity . Termination . FLP . Lower bounds
Nicolas B�����S������ . . . . . . . . . Randomised Agreement Introduction . . . . . . 3/18 Consensus Consensus . Propose values . Random values . Agreement . Agreement . Validity . Non-biased . Termination . Termination . FLP . Lower bounds
n 3 O n 2.5 n 2 log n 4 t + 1 500 t Async+PC ? Polylog Bits Polylog Polylog Introduction Time Async Nicolas B�����S������ Sync BA Sync Contribution 4/18 . [BPV06] [KS09] [PR10] Randomised agreement [KS13] Model Sync . O log n ( ) ( √ n n O log n ( ) O ˜ ) n 4 t + 1 3 t + 1 3 t + 1
Nicolas B�����S������ Bits Polylog Polylog Polylog ? Time Async Async+PC Sync Sync Sync Model [KS13] [PR10] BA [KS09] [BPV06] . Randomised agreement . Contribution 4/18 Introduction O log n n 3 O ˜ n 2.5 ) ( ) ( ( √ n n O log n ( ) O ˜ n 2 log n ) ( ) Ω n 4 t + 1 3 t + 1 3 t + 1 4 t + 1 500 t
. . . . . . . . . Pull phase Push phase Push-pull protocols . . . . . . 1 Introduction 2 Almost-everywhere Agreement 3 A Fast Consensus Algorithm 4 Samplers 5 Conclusion
. Random values . Agreement over most nodes . Non-biased . Termination Nicolas B�����S������ . . A.e. Agreement . Randomized Agreement . . . . . . Almost-everywhere Agreement Almost-everywhere Agreement . . . . . . Randomised Agreement . Almost-everywhere Agreement 6/18 A.e. Reduction . Random values . Agreement . Non-biased . Termination
Nicolas B�����S������ . . A.e. Agreement . Randomized Agreement . . . . . . Almost-everywhere Agreement Almost-everywhere Agreement A.e. Reduction Almost-everywhere Agreement . . . . 6/18 . Randomised Agreement . . Random values . Random values . Agreement over most nodes . Agreement . Non-biased . Non-biased . Termination . Termination
Nicolas B�����S������ . . A.e. Agreement . Randomized Agreement . . . . . . . Almost-everywhere Agreement Almost-everywhere Agreement A.e. Reduction . 6/18 . Almost-everywhere Agreement . Randomised Agreement . . . . Random values . Random values . Agreement over most nodes . Agreement . Non-biased . Non-biased . Termination . Termination
. [KS09]: Synchronous almost-everywhere reduction Poly-log in time, but O n messages Nicolas B�����S������ . A.e. Agreement . Randomized Agreement . . . Almost-everywhere Agreement Poly-log in time and communication . . State of the art . Almost-everywhere Agreement 6/18 A.e. Reduction . [Kin+06]: Synchronous almost-everywhere agreement
Nicolas B�����S������ Almost-everywhere Agreement . A.e. Agreement . Randomized Agreement . . messages A.e. Reduction . Poly-log in time and communication . . State of the art . Almost-everywhere Agreement 6/18 . [Kin+06]: Synchronous almost-everywhere agreement . [KS09]: Synchronous almost-everywhere reduction ( √ n Poly-log in time, but O )
Nicolas B�����S������ Time . A.e. Reduction . A.e. Agreement . . Not load-balanced Bits Polylog Almost-everywhere Agreement 1 Randomized Agreement Sync AER 7/18 Async Contribution . Almost-everywhere Reduction Sync Model [KS09] . AER log n ( ) O O ( ) log log n log 3 n log 3 n ( √ n ( ) ( ) O O O ˜ )
Nicolas B�����S������ Time . A.e. Reduction . A.e. Agreement . . Not load-balanced Bits Polylog Almost-everywhere Agreement 1 Randomized Agreement Sync AER 7/18 Async Contribution . Almost-everywhere Reduction Sync Model [KS09] . AER log n ( ) O O ( ) log log n log 3 n log 3 n ( √ n ( ) ( ) O O O ˜ )
. . . . . . . . . Pull phase Push phase Push-pull protocols . . . . . . 1 Introduction 2 Almost-everywhere Agreement 3 A Fast Consensus Algorithm 4 Samplers 5 Conclusion
1 spreads its candidate value ; Nicolas B�����S������ Each process: Validate values from the . Pull . proposals. builds a candidate set from received 2 . . . . . . . A Fast Consensus Algorithm Push . A.e. Reduction . A.e. Agreement . Pull . Push . . Push-pull protocols 9/18 candidate set.
Nicolas B�����S������ A Fast Consensus Algorithm Validate values from the . Pull . proposals. builds a candidate set from received 2 . . . . . . Each process: . Push . A.e. Reduction . A.e. Agreement . Pull . Push . . Push-pull protocols 9/18 candidate set. 1 spreads its candidate value ;
Nicolas B�����S������ A Fast Consensus Algorithm Validate values from the . Pull . proposals. builds a candidate set from received 2 . . . . . . Each process: . Push . A.e. Reduction . A.e. Agreement . Pull . Push . . Push-pull protocols 9/18 candidate set. 1 spreads its candidate value ;
I x , s 1 I x , s 2 L x = s x ; s 1 Push O n strings . . . . . . . Nicolas B�����S������ A Fast Consensus Algorithm . . . Push phase 10/18 . Phase 1: Push to node x x L x = s x ; { }
I x , s 2 L x = s x ; s 1 Push O n strings Nicolas B�����S������ Push phase 10/18 . . . . . . . . A Fast Consensus Algorithm . . . Phase 1: Push to node x I x , s 1 ( ) x L x = s x ; { }
I x , s 2 L x = s x ; s 1 Push O n strings Nicolas B�����S������ Push phase 10/18 . . . . . . . . A Fast Consensus Algorithm . . . Phase 1: Push to node x I x , s 1 ( ) x L x = s x ; { }
I x , s 2 L x = s x ; Push O n strings A Fast Consensus Algorithm . . . . . . . Nicolas B�����S������ . . . . Push phase 10/18 Phase 1: Push to node x I x , s 1 ( ) x L x = s x ; s 1 { }
L x = s x ; Push O n strings . . . . . . A Fast Consensus Algorithm Nicolas B�����S������ . . 10/18 Push phase . . . Phase 1: Push to node x I x , s 1 I x , s 2 ( ) ( ) x L x = s x ; s 1 { }
L x = s x ; Nicolas B�����S������ . . . . A Fast Consensus Algorithm . . . . . 10/18 Push phase . . strings Phase 1: Push to node x I x , s 1 I x , s 2 ( ) ( ) x L x = s x ; s 1 { } Push O n ( )
J x , r x H s , x w 2 w 3 w 1 H s , w 1 H s , w 3 H s , w 2 . . . . . . . . . . . . Nicolas B�����S������ . A Fast Consensus Algorithm 11/18 Pull phase . . . . . . . . . . . Phase 2: Pull request from node x for value s x
J x , r x w 2 w 3 w 1 H s , w 1 H s , w 3 H s , w 2 . . . . . . . . . . . . . . Nicolas B�����S������ A Fast Consensus Algorithm . 11/18 Pull phase . . . . . . . . . Phase 2: Pull request from node x for value s x H s , x ( )
H s , w 1 H s , w 3 H s , w 2 . . . . . . . . . . . . . . A Fast Consensus Algorithm Nicolas B�����S������ . . . . . . . . . Pull phase . 11/18 Phase 2: Pull request from node x for value s x J x , r x ( ) H s , x ( ) w 2 w 3 w 1
H s , w 3 H s , w 2 . A Fast Consensus Algorithm . . . . . . . . . . . . . . Nicolas B�����S������ . . Pull phase 11/18 . . . . . . . Phase 2: Pull request from node x for value s x J x , r x ( ) H s , x ( ) w 2 w 3 w 1 H s , w 1 ( )
H s , w 3 H s , w 2 . A Fast Consensus Algorithm . . . . . . . . . . . . . . Nicolas B�����S������ . . Pull phase 11/18 . . . . . . . Phase 2: Pull request from node x for value s x J x , r x ( ) H s , x ( ) w 2 w 3 w 1 H s , w 1 ( )
Recommend
More recommend