Robust BFT Protocols Sonia Ben Mokhtar , LIRIS, CNRS, Lyon Joint - - PowerPoint PPT Presentation

robust bft protocols
SMART_READER_LITE
LIVE PREVIEW

Robust BFT Protocols Sonia Ben Mokhtar , LIRIS, CNRS, Lyon Joint - - PowerPoint PPT Presentation

Robust BFT Protocols Sonia Ben Mokhtar , LIRIS, CNRS, Lyon Joint work with Pierre Louis Aublin , Grenoble university Vivien Quma, Grenoble INP 18/10/2013 Who am I? CNRS reseacher, LIRIS lab, DRIM research group Fault-tolerant


slide-1
SLIDE 1

Robust BFT Protocols

Sonia Ben Mokhtar, LIRIS, CNRS, Lyon

Joint work with Pierre Louis Aublin, Grenoble university Vivien Quéma, Grenoble INP

18/10/2013

slide-2
SLIDE 2

Who am I?

 CNRS reseacher, LIRIS lab, DRIM research group  Fault-tolerant distributed systems

 Byzantine fault tolerance

 State machine replication (BFT)(e.g., robust BFT[ICDCS'13])

 Byzantine fault detection

 Accountability (e.g., accountable mobile systems,

performance issues in accountable systems[ongoing])

 Robustness against selfish behavior

 Game theory (e.g., RR spam filtering[SRDS'10], RR

anonymous communication[ICDCS'13], RR live streaming[ongoing])

slide-3
SLIDE 3

Who am I?

 CNRS reseacher, LIRIS lab, DRIM research group.  Fault-tolerant distributed systems

 Byzantine fault tolerance

 State machine replication (BFT)(e.g., robust BFT[ICDCS'13])

 Byzantine fault detection

 Accountability (e.g., accountable mobile systems,

performance issues in accountable systems[ongoing])

 Robustness against selfish behavior

 Game theory (e.g., RR spam filtering[SRDS'10], RR

anonymous communication[ICDCS'13], RR live streaming[ongoing])

 → Privacy (mobile systems, reputation/recommender

systems, systems enforcing accountability)

slide-4
SLIDE 4

4

Outline

 What is BFT?  BFT under attack: the robustness problem  Existing robust BFT protocols  Can we do better?

slide-5
SLIDE 5

5

State machine replication

Clients

slide-6
SLIDE 6

6

State machine replication

Clients

slide-7
SLIDE 7

7

State machine replication

Clients

slide-8
SLIDE 8

8

State machine replication

Clients

(1) Place copies of a deterministic state machine on multiple, independent servers.

slide-9
SLIDE 9

9

State machine replication

Clients

(2) Receive client requests (inputs to the state machine).

slide-10
SLIDE 10

10

State machine replication

Clients Agreement protocol

(3) Define an ordering for the inputs and execute them in the chosen order on each server.

slide-11
SLIDE 11

11

State machine replication

Clients Agreement protocol

(4) Respond to clients with the output from the state machine.

slide-12
SLIDE 12

12

BFT state machine replication

BFT = Byzantine Fault Tolerance

The term Byzantine dates back to the seminal paper by Lamport,

Shostak, Pease: The Byzantine Generals Problem, ACM TPLS, 1982.

Byzantine failure = arbitrary failure

BFT state machine replication = state machine replication that tolerates Byzantine failures

+

crash-stop malicious

slide-13
SLIDE 13

13

BFT evolution

 Lamport, Shostak, Pease: The Byzantine

generals problem, 1982

 Castro, Liskov: Practical BFT [OSDI'99]  BFT in 2011 (a decade+ later)

 Efficient BFT: Q/U [SOSP’05], HQ [OSDI’06], Zyzzyva [SOSP’07],

Chain and Quorum [EuroSys’10]

 Cheap BFT: zz [Umass Eurosys'11]  Robust BFT: Aardvark [NSDI'09], Spinning [SRDS'09], Prime

[DSN'08], RBFT[ICDCS'13]

slide-14
SLIDE 14

14

BFT with an example: PBFT

 Message-passing with unreliable communication links  Byzantine faults

 Any number of clients  Less than 1/3 of replicas are faulty (optimal)

 Cryptographic techniques cannot be violated  Eventual synchrony

slide-15
SLIDE 15

15

PBFT: protocol steps

Client sends a request to the primary

slide-16
SLIDE 16

16

PBFT: protocol steps

The primary assigns a seqno to the request

slide-17
SLIDE 17

17

PBFT: protocol steps

Replicas agree

  • n the assigned

seqno

slide-18
SLIDE 18

18

PBFT: protocol steps

Replicas know 2f+1 replicas that agreed

  • n the proposed

seqno

slide-19
SLIDE 19

19

PBFT: protocol steps

Replicas execute the request and reply to the client

slide-20
SLIDE 20

20

Outline

 What is BFT?  BFT under attack: the robustness problem  Existing robust BFT protocols  Can we do better?

slide-21
SLIDE 21

21

BFT under attack: the robustness problem

”BFT protocols do not tolerate Byzantine faults very well” [NSDI'09]

System Peak throughput (req/s) Throughput under attack (req/s) PBFT 61710 Q/U 23850 HQ 7629 N/A Zyzzyva 65999

slide-22
SLIDE 22

22

Outline

 What is BFT?  BFT under attack: the robustness problem  Existing robust BFT protocols  Can we do better?

slide-23
SLIDE 23

23

Robust BFT state machine replication

 Guarantees a lower bound on performance

during uncivil executions

 Uncivil executions:

 Synchronous network  Up to f servers and any number of clients are Byzantine

 Lower bound:

 k% of the theoretical maximum (with the same workload)  k should be as high as possible

slide-24
SLIDE 24

24

Malicious primary

slide-25
SLIDE 25

25

Malicious primary

D E L A Y

slide-26
SLIDE 26

26

Aardvark [NSDI'09]

 Principle: Regular primary changes

 Increasing throughput expectations  Monitoring of the current throughput  Change the primary when the current throughput is below

the expected thourhgput

slide-27
SLIDE 27

27

Aardvark

 A malicious primary is bounded in:  The delay it can add to requests  The amount of time it acts as a primary

Only works under constant load

Attack

slide-28
SLIDE 28

28

Aardvark under fluctuating load

slide-29
SLIDE 29

29

Spinning [SRDS'09]

 Principle:

 Each primary orders a fixed number of requests  The primary is changed if no request is ordered

before a timeout

r1 r2 r3 r4

slide-30
SLIDE 30

30

Spinning

 Spinning throughput with a malicious primary that delays

client requests by up to timeout:

1/(1+F*timeout)*tpeak

r1 r2 r3 r4 timeout

slide-31
SLIDE 31

31

Prime [DSN'08]

 Principle:  The primary periodically sends messages of the same

size in the network (fixed workload)

 Replicas monitor the primary

Distributed pre-ordering phase Leader-based global ordering phase

slide-32
SLIDE 32

32

Prime

 The latency of any update initiated by a correct client is

bounded

Only if the network guarantees bounded variance

Distributed pre-ordering phase Leader-based global ordering phase

D E L A Y

slide-33
SLIDE 33

33

Outline

 What is BFT?  BFT under attack: the robustness problem  Existing robust BFT protocols  Can we do better?

slide-34
SLIDE 34

34

What is wrong with existing protocols?

 The primary is a single point of failure

 Aardvark and Prime: monitor the primary  Spinning: bound the time spent with a faulty primary

 Robustness conditions are strong:

 Aardvark: constant load  Prime: bounded variance

slide-35
SLIDE 35

35

What is wrong with existing protocols?

 The primary is a single point of failure

 Aardvark and Prime: monitor the primary  Spinning: bound the time spent with a faulty primary

 Robustness conditions are strong:

 Aardvark: constant load  Prime: bounded variance

Question: Can we run multiple instances of a

protocol simultaneously?

slide-36
SLIDE 36

36

The RBFT protocol

Node 0 Node 1 Node 2 Node 3

Master Protocol Instance Backup Protocol Instance

Primary Primary

Replica Replica Replica Replica Replica Replica

Clients

slide-37
SLIDE 37

37

The RBFT protocol

Node 0 Node 1 Node 2 Node 3

Master Protocol Instance Backup Protocol Instance

Primary Primary Primary Primary Primary change

slide-38
SLIDE 38

38

RBFT Redundant Agreement

PRE-PREPARE PREPARE COMMIT

3 4 5

PRE-PREPARE PREPARE COMMIT

3 4 5

REQUEST REPLY

Client Node 0 Node 1 1 6 2

PROPAGATE

Node 2 Node 3

Redundant agreement performed by the replicas

slide-39
SLIDE 39

39

RBFT Node Design

slide-40
SLIDE 40

40

RBFT Performance

slide-41
SLIDE 41

41

RBFT under attack

slide-42
SLIDE 42

42

Conclusion

 We need BFT protocols (to tolerate arbitrary

faults)

 Current BFT protocols are either:

 Robust (e.g., RBFT) or  Efficient (e.g., Chain, Quorum)

 Future work

 Dynamic switching: can we design a BFT protocol

that smartly combines robustness and efficiency?

slide-43
SLIDE 43

43

Thank you!