Fast Byzantine Agreement Nicolas BS Rachid - - PowerPoint PPT Presentation

fast byzantine agreement
SMART_READER_LITE
LIVE PREVIEW

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 . . . .


slide-1
SLIDE 1

Fast Byzantine Agreement

Nicolas BS Rachid G Florian H

MMTDC'13, Bremen

slide-2
SLIDE 2

Nicolas BS Introduction 2/18

Failure model

. Byzantine fault .

.

. Arbitrary behaviour

.

. Full information

.

.

. Non-adaptive adversary

.

. Rushing adversary

.

. No “cryptographic” hypotheses
slide-3
SLIDE 3

Nicolas BS Introduction 2/18

Failure model

. Byzantine fault .

.

. Arbitrary behaviour

.

. Full information

.

.

. Non-adaptive adversary

.

. Rushing adversary

.

. No “cryptographic” hypotheses
slide-4
SLIDE 4

Nicolas BS Introduction 2/18

Failure model

. Byzantine fault .

.

. Arbitrary behaviour

.

. Full information

.

.

. Non-adaptive adversary

.

. Rushing adversary

.

. No “cryptographic” hypotheses
slide-5
SLIDE 5

Nicolas BS Introduction 2/18

Failure model

. Byzantine fault .

.

. Arbitrary behaviour

.

. Full information

.

.

. Non-adaptive adversary

.

. Rushing adversary

.

. No “cryptographic” hypotheses
slide-6
SLIDE 6

Nicolas BS Introduction 3/18

Consensus

. Consensus .

.

. Propose values

.

. Agreement

.

. Validity

.

. Termination

. Randomised Agreement .

.

. Random values

.

. Agreement

.

. Non-biased

.

. Termination

.

.

. FLP

.

. Lower bounds
slide-7
SLIDE 7

Nicolas BS Introduction 3/18

Consensus

. Consensus .

.

. Propose values

.

. Agreement

.

. Validity

.

. Termination

. Randomised Agreement .

.

. Random values

.

. Agreement

.

. Non-biased

.

. Termination

.

.

. FLP

.

. Lower bounds
slide-8
SLIDE 8

Nicolas BS Introduction 3/18

Consensus

. Consensus .

.

. Propose values

.

. Agreement

.

. Validity

.

. Termination

. Randomised Agreement .

.

. Random values

.

. Agreement

.

. Non-biased

.

. Termination

.

.

. FLP

.

. Lower bounds
slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

.

..

1 Introduction

.

..

2 Almost-everywhere Agreement

.

..

3 A Fast Consensus Algorithm

Push-pull protocols Push phase Pull phase .

..

4 Samplers

.

..

5 Conclusion

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

Nicolas BS Almost-everywhere Agreement 6/18

Almost-everywhere Agreement

. State of the art .

.

. [Kin+06]: Synchronous almost-everywhere agreement

Poly-log in time and communication .

. [KS09]: Synchronous almost-everywhere reduction

Poly-log in time, but O n messages

. . Randomized Agreement . A.e. Agreement . A.e. Reduction

slide-16
SLIDE 16

Nicolas BS Almost-everywhere Agreement 6/18

Almost-everywhere Agreement

. State of the art .

.

. [Kin+06]: Synchronous almost-everywhere agreement

Poly-log in time and communication .

. [KS09]: Synchronous almost-everywhere reduction

Poly-log in time, but O (√n ) messages

. . Randomized Agreement . A.e. Agreement . A.e. Reduction

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

.

..

1 Introduction

.

..

2 Almost-everywhere Agreement

.

..

3 A Fast Consensus Algorithm

Push-pull protocols Push phase Pull phase .

..

4 Samplers

.

..

5 Conclusion

slide-20
SLIDE 20

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.

slide-21
SLIDE 21

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.

slide-22
SLIDE 22

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.

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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 )

slide-36
SLIDE 36

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 )

slide-37
SLIDE 37

.

..

1 Introduction

.

..

2 Almost-everywhere Agreement

.

..

3 A Fast Consensus Algorithm

Push-pull protocols Push phase Pull phase .

..

4 Samplers

.

..

5 Conclusion

slide-38
SLIDE 38

Nicolas BS Samplers 13/18

How explicit can you be ?

.

. Seems simple

.

. Constructive ?

NO !

slide-39
SLIDE 39

Nicolas BS Samplers 13/18

How explicit can you be ?

.

. Seems simple

.

. Constructive ?

NO !

slide-40
SLIDE 40

Nicolas BS Samplers 13/18

How explicit can you be ?

.

. Seems simple

.

. Constructive ?

NO !

slide-41
SLIDE 41

Nicolas BS Samplers 14/18

Why not ?

. “Magic” selection function .

.

. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have
  • S(x) ∩ S
  • S
  • >
  • S
  • Y
  • + Θ

.

. Additional properties: overloading, edge expansion

. Proof techniques .

.

. Composable properties

.

. If

P(x) > 0, such an x exists .

. If

P(x) + Q(x) > 1 then P(x) Q(x) > 0

slide-42
SLIDE 42

Nicolas BS Samplers 14/18

Why not ?

. “Magic” selection function .

.

. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have
  • S(x) ∩ S
  • S
  • >
  • S
  • Y
  • + Θ

.

. Additional properties: overloading, edge expansion

. Proof techniques .

.

. Composable properties

.

. If

P(x) > 0, such an x exists .

. If

P(x) + Q(x) > 1 then P(x) Q(x) > 0

slide-43
SLIDE 43

Nicolas BS Samplers 14/18

Why not ?

. “Magic” selection function .

.

. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have
  • S(x) ∩ S
  • S
  • >
  • S
  • Y
  • + Θ

.

. Additional properties: overloading, edge expansion

. Proof techniques .

.

. Composable properties

.

. If

P(x) > 0, such an x exists .

. If

P(x) + Q(x) > 1 then P(x) Q(x) > 0

slide-44
SLIDE 44

Nicolas BS Samplers 14/18

Why not ?

. “Magic” selection function .

.

. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have
  • S(x) ∩ S
  • S
  • >
  • S
  • Y
  • + Θ

.

. Additional properties: overloading, edge expansion

. Proof techniques .

.

. Composable properties

.

. If P

[ P(x) ] > 0, such an x exists .

. If

P(x) + Q(x) > 1 then P(x) Q(x) > 0

slide-45
SLIDE 45

Nicolas BS Samplers 14/18

Why not ?

. “Magic” selection function .

.

. S : X → 2Y is a (Θ, δ) sampler if for S ⊆ Y, fraction δ of inputs have
  • S(x) ∩ S
  • S
  • >
  • S
  • Y
  • + Θ

.

. 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

slide-46
SLIDE 46

.

..

1 Introduction

.

..

2 Almost-everywhere Agreement

.

..

3 A Fast Consensus Algorithm

Push-pull protocols Push phase Pull phase .

..

4 Samplers

.

..

5 Conclusion

slide-47
SLIDE 47

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 )

slide-48
SLIDE 48

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

slide-49
SLIDE 49

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

.

. Synchronous
slide-50
SLIDE 50

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

.

. Synchronous
slide-51
SLIDE 51

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 !

slide-52
SLIDE 52

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 !

slide-53
SLIDE 53

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 !