Fast Byzantine Agreement
Nicolas BS Rachid G Florian H
MMTDC'13, Bremen
Fast Byzantine Agreement Nicolas BS Rachid - - PowerPoint PPT Presentation
Fast Byzantine Agreement Nicolas BS Rachid G Florian H MMTDC'13, Bremen . Rushing adversary . No cryptographic hypotheses . Non-adaptive adversary Introduction . . . .
Nicolas BS Rachid G Florian H
MMTDC'13, Bremen
Nicolas BS Introduction 2/18
Failure model
. Byzantine fault .
.
. Arbitrary behaviour.
. Full information.
.
. Non-adaptive adversary.
. Rushing adversary.
. No “cryptographic” hypothesesNicolas BS Introduction 2/18
Failure model
. Byzantine fault .
.
. Arbitrary behaviour.
. Full information.
.
. Non-adaptive adversary.
. Rushing adversary.
. No “cryptographic” hypothesesNicolas BS Introduction 2/18
Failure model
. Byzantine fault .
.
. Arbitrary behaviour.
. Full information.
.
. Non-adaptive adversary.
. Rushing adversary.
. No “cryptographic” hypothesesNicolas BS Introduction 2/18
Failure model
. Byzantine fault .
.
. Arbitrary behaviour.
. Full information.
.
. Non-adaptive adversary.
. Rushing adversary.
. No “cryptographic” hypothesesNicolas BS Introduction 3/18
Consensus
. Consensus .
.
. Propose values.
. Agreement.
. Validity.
. Termination. Randomised Agreement .
.
. Random values.
. Agreement.
. Non-biased.
. Termination.
.
. FLP.
. Lower boundsNicolas BS Introduction 3/18
Consensus
. Consensus .
.
. Propose values.
. Agreement.
. Validity.
. Termination. Randomised Agreement .
.
. Random values.
. Agreement.
. Non-biased.
. Termination.
.
. FLP.
. Lower boundsNicolas BS Introduction 3/18
Consensus
. Consensus .
.
. Propose values.
. Agreement.
. Validity.
. Termination. Randomised Agreement .
.
. Random values.
. Agreement.
. Non-biased.
. Termination.
.
. FLP.
. Lower boundsNicolas BS Introduction 4/18
Contribution
. Randomised agreement . [BPV06] [KS09] BA [PR10] [KS13] Model Sync Sync Sync Async+PC Async Time O ( log n ) Polylog Polylog n3 O n2.5 Bits nO
( log n )
˜ O (√n ) Polylog n2 log n ? n 4t + 1 3t + 1 3t + 1 4t + 1 500t
Nicolas BS Introduction 4/18
Contribution
. Randomised agreement . [BPV06] [KS09] BA [PR10] [KS13] Model Sync Sync Sync Async+PC Async Time O ( log n ) Polylog Polylog n3 ˜ O ( n2.5) Bits nO
( log n )
˜ O (√n ) Polylog Ω ( n2 log n ) ? n 4t + 1 3t + 1 3t + 1 4t + 1 500t
.
..1 Introduction
.
..2 Almost-everywhere Agreement
.
..3 A Fast Consensus Algorithm
Push-pull protocols Push phase Pull phase .
..4 Samplers
.
..5 Conclusion
Nicolas BS Almost-everywhere Agreement 6/18
Almost-everywhere Agreement
. Randomised Agreement .
.
. Random values.
. Agreement.
. Non-biased.
. Termination. Almost-everywhere Agreement .
.
. Random values.
. Agreement over most nodes.
. Non-biased.
. Termination. . Randomized Agreement . A.e. Agreement . A.e. Reduction
Nicolas BS Almost-everywhere Agreement 6/18
Almost-everywhere Agreement
. Randomised Agreement .
.
. Random values.
. Agreement.
. Non-biased.
. Termination. Almost-everywhere Agreement .
.
. Random values.
. Agreement over most nodes.
. Non-biased.
. Termination. Randomized Agreement . A.e. Agreement . A.e. Reduction
Nicolas BS Almost-everywhere Agreement 6/18
Almost-everywhere Agreement
. Randomised Agreement .
.
. Random values.
. Agreement.
. Non-biased.
. Termination. Almost-everywhere Agreement .
.
. Random values.
. Agreement over most nodes.
. Non-biased.
. Termination. . Randomized Agreement . A.e. Agreement . A.e. Reduction
Nicolas BS Almost-everywhere Agreement 6/18
Almost-everywhere Agreement
. State of the art .
.
. [Kin+06]: Synchronous almost-everywhere agreementPoly-log in time and communication .
. [KS09]: Synchronous almost-everywhere reductionPoly-log in time, but O n messages
. . Randomized Agreement . A.e. Agreement . A.e. Reduction
Nicolas BS Almost-everywhere Agreement 6/18
Almost-everywhere Agreement
. State of the art .
.
. [Kin+06]: Synchronous almost-everywhere agreementPoly-log in time and communication .
. [KS09]: Synchronous almost-everywhere reductionPoly-log in time, but O (√n ) messages
. . Randomized Agreement . A.e. Agreement . A.e. Reduction
Nicolas BS Almost-everywhere Agreement 7/18
Contribution
. Almost-everywhere Reduction . AER AER [KS09] Model Sync Async Sync Time O ( 1 ) O (
log n log log n
) Polylog Bits O ( log3 n ) O ( log3 n ) ˜ O (√n ) Not load-balanced . . A.e. Agreement . A.e. Reduction . Randomized Agreement
Nicolas BS Almost-everywhere Agreement 7/18
Contribution
. Almost-everywhere Reduction . AER AER [KS09] Model Sync Async Sync Time O ( 1 ) O (
log n log log n
) Polylog Bits O ( log3 n ) O ( log3 n ) ˜ O (√n ) Not load-balanced . . A.e. Agreement . A.e. Reduction . Randomized Agreement
.
..1 Introduction
.
..2 Almost-everywhere Agreement
.
..3 A Fast Consensus Algorithm
Push-pull protocols Push phase Pull phase .
..4 Samplers
.
..5 Conclusion
Nicolas BS A Fast Consensus Algorithm 9/18
Push-pull protocols
. . Push . Pull . A.e. Agreement . A.e. Reduction . Push . Each process:
.
..1 spreads its candidate value;
.
..2
builds a candidate set from received proposals.
. Pull . Validate values from the candidate set.
Nicolas BS A Fast Consensus Algorithm 9/18
Push-pull protocols
. . Push . Pull . A.e. Agreement . A.e. Reduction . Push . Each process:
.
..1 spreads its candidate value;
.
..2
builds a candidate set from received proposals.
. Pull . Validate values from the candidate set.
Nicolas BS A Fast Consensus Algorithm 9/18
Push-pull protocols
. . Push . Pull . A.e. Agreement . A.e. Reduction . Push . Each process:
.
..1 spreads its candidate value;
.
..2
builds a candidate set from received proposals.
. Pull . Validate values from the candidate set.
Nicolas BS A Fast Consensus Algorithm 10/18
Push phase
Phase 1: Push to node x
. . x . Lx = { sx; } . Lx = sx; s1 . . . I x, s1 . . . . I x, s2 Push O n strings
Nicolas BS A Fast Consensus Algorithm 10/18
Push phase
Phase 1: Push to node x
. . x . Lx = { sx; } . Lx = sx; s1 . . . I ( x, s1 ) . . . . I x, s2 Push O n strings
Nicolas BS A Fast Consensus Algorithm 10/18
Push phase
Phase 1: Push to node x
. . x . Lx = { sx; } . Lx = sx; s1 . . . I ( x, s1 ) . . . . I x, s2 Push O n strings
Nicolas BS A Fast Consensus Algorithm 10/18
Push phase
Phase 1: Push to node x
. . x . Lx = sx; . Lx = { sx; s1 } . . . I ( x, s1 ) . . . . I x, s2 Push O n strings
Nicolas BS A Fast Consensus Algorithm 10/18
Push phase
Phase 1: Push to node x
. . x . Lx = sx; . Lx = { sx; s1 } . . . I ( x, s1 ) . . . . I ( x, s2 ) Push O n strings
Nicolas BS A Fast Consensus Algorithm 10/18
Push phase
Phase 1: Push to node x
. . x . Lx = sx; . Lx = { sx; s1 } . . . I ( x, s1 ) . . . . I ( x, s2 ) Push O ( n ) strings
Nicolas BS A Fast Consensus Algorithm 11/18
Pull phase
Phase 2: Pull request from node x for value s
. . x . . . . H s, x . . . w1 . w2 . w3 . J x, rx . . . . H s, w1 . . . . H s, w2 . . . . H s, w3
Nicolas BS A Fast Consensus Algorithm 11/18
Pull phase
Phase 2: Pull request from node x for value s
. . x . . . . H ( s, x ) . . . w1 . w2 . w3 . J x, rx . . . . H s, w1 . . . . H s, w2 . . . . H s, w3
Nicolas BS A Fast Consensus Algorithm 11/18
Pull phase
Phase 2: Pull request from node x for value s
. . x . . . . H ( s, x ) . . . w1 . w2 . w3 . J ( x, rx ) . . . . H s, w1 . . . . H s, w2 . . . . H s, w3
Nicolas BS A Fast Consensus Algorithm 11/18
Pull phase
Phase 2: Pull request from node x for value s
. . x . . . . H ( s, x ) . . . w1 . w2 . w3 . J ( x, rx ) . . . . H ( s, w1 ) . . . . H s, w2 . . . . H s, w3
Nicolas BS A Fast Consensus Algorithm 11/18
Pull phase
Phase 2: Pull request from node x for value s
. . x . . . . H ( s, x ) . . . w1 . w2 . w3 . J ( x, rx ) . . . . H ( s, w1 ) . . . . H s, w2 . . . . H s, w3
Nicolas BS A Fast Consensus Algorithm 11/18
Pull phase
Phase 2: Pull request from node x for value s
. . x . . . . H ( s, x ) . . . w1 . w2 . w3 . J ( x, rx ) . . . . H ( s, w1 ) . . . . H s, w2 . . . . H s, w3
Nicolas BS A Fast Consensus Algorithm 11/18
Pull phase
Phase 2: Pull request from node x for value s
. . x . . . . H ( s, x ) . . . w1 . w2 . w3 . J ( x, rx ) . . . . H ( s, w1 ) . . . . H ( s, w2 ) . . . . H ( s, w3 )
Nicolas BS A Fast Consensus Algorithm 11/18
Pull phase
Phase 2: Pull request from node x for value s
. . x . . . . H ( s, x ) . . . w1 . w2 . w3 . J ( x, rx ) . . . . H ( s, w1 ) . . . . H ( s, w2 ) . . . . H ( s, w3 )
.
..1 Introduction
.
..2 Almost-everywhere Agreement
.
..3 A Fast Consensus Algorithm
Push-pull protocols Push phase Pull phase .
..4 Samplers
.
..5 Conclusion
Nicolas BS Samplers 13/18
How explicit can you be ?
.
. Seems simple.
. Constructive ?Nicolas BS Samplers 13/18
How explicit can you be ?
.
. Seems simple.
. Constructive ?Nicolas BS Samplers 13/18
How explicit can you be ?
.
. Seems simple.
. Constructive ?Nicolas BS Samplers 14/18
Why not ?
. “Magic” selection function .
.
. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have.
. Additional properties: overloading, edge expansion. Proof techniques .
.
. Composable properties.
. IfP(x) > 0, such an x exists .
. IfP(x) + Q(x) > 1 then P(x) Q(x) > 0
Nicolas BS Samplers 14/18
Why not ?
. “Magic” selection function .
.
. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have.
. Additional properties: overloading, edge expansion. Proof techniques .
.
. Composable properties.
. IfP(x) > 0, such an x exists .
. IfP(x) + Q(x) > 1 then P(x) Q(x) > 0
Nicolas BS Samplers 14/18
Why not ?
. “Magic” selection function .
.
. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have.
. Additional properties: overloading, edge expansion. Proof techniques .
.
. Composable properties.
. IfP(x) > 0, such an x exists .
. IfP(x) + Q(x) > 1 then P(x) Q(x) > 0
Nicolas BS Samplers 14/18
Why not ?
. “Magic” selection function .
.
. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have.
. Additional properties: overloading, edge expansion. Proof techniques .
.
. Composable properties.
. If P[ P(x) ] > 0, such an x exists .
. IfP(x) + Q(x) > 1 then P(x) Q(x) > 0
Nicolas BS Samplers 14/18
Why not ?
. “Magic” selection function .
.
. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have.
. Additional properties: overloading, edge expansion. Proof techniques .
.
. Composable properties.
. If P[ P(x) ] > 0, such an x exists .
. If P[ P(x) ] + P [ Q(x) ] > 1 then P [ P(x) ∧ Q(x) ] > 0
.
..1 Introduction
.
..2 Almost-everywhere Agreement
.
..3 A Fast Consensus Algorithm
Push-pull protocols Push phase Pull phase .
..4 Samplers
.
..5 Conclusion
Nicolas BS Conclusion 16/18
Recap
. . A.e. Agreement . A.e. Reduction . Randomized Agreement . Almost-everywhere Reduction . [KS09] AER AER Model SNR SR Async Time O ( log2 n ) O ( 1 ) O (
log n log log n
) Bits ˜ O (√n ) O ( log3 n ) O ( log3 n )
Nicolas BS Conclusion 16/18
Recap
. . A.e. Agreement . A.e. Reduction . Randomized Agreement . Randomised agreement = A.e. agreement + reduction . [BPV06] [KS09] BA [PR10] [KS13] Model Sync Sync Sync Async+PC Async Time O ( log n ) Polylog Polylog n3 ˜ O ( n2.5) Bits nO
( log n )
˜ O (√n ) Polylog Ω ( n2 log n ) ? n 4t + 1 3t + 1 3t + 1 4t + 1 500t
Nicolas BS Conclusion 17/18
Conclusion
. Result .
.
. A new, highly efficient algorithm.
. yields a poly-log Byzantine Agreement protocol.. Almost-everywhere agreement .
.
. High (relative) complexity.
. SynchronousNicolas BS Conclusion 17/18
Conclusion
. Result .
.
. A new, highly efficient algorithm.
. yields a poly-log Byzantine Agreement protocol.. Almost-everywhere agreement .
.
. High (relative) complexity.
. SynchronousNicolas BS Conclusion 18/18
Perspectives
. Future work .
.
. Faster, asynchronous almost-everywhere agreement.
. Load balancing ?.
. Power of adaptive adversary.
. Models for randomization ?Thank you for your attention !
Nicolas BS Conclusion 18/18
Perspectives
. Future work .
.
. Faster, asynchronous almost-everywhere agreement.
. Load balancing ?.
. Power of adaptive adversary.
. Models for randomization ?Thank you for your attention !
Nicolas BS Conclusion 18/18
Perspectives
. Future work .
.
. Faster, asynchronous almost-everywhere agreement.
. Load balancing ?.
. Power of adaptive adversary.
. Models for randomization ?Thank you for your attention !