Practical Byzantine Fault Tolerance (Miguel Castro, Barbara Liskov) - - PowerPoint PPT Presentation

practical byzantine fault tolerance miguel castro barbara
SMART_READER_LITE
LIVE PREVIEW

Practical Byzantine Fault Tolerance (Miguel Castro, Barbara Liskov) - - PowerPoint PPT Presentation

Faculty of Computer Science Institute for System Architecture, Operating Systems Group Practical Byzantine Fault Tolerance (Miguel Castro, Barbara Liskov) presented by Bjoern Doebel Dresden, 2008-11-05 Motivation Byzantine Faults


slide-1
SLIDE 1

Faculty of Computer Science Institute for System Architecture, Operating Systems Group

Practical Byzantine Fault Tolerance (Miguel Castro, Barbara Liskov)

Dresden, 2008-11-05 presented by Bjoern Doebel

slide-2
SLIDE 2

Motivation

  • Byzantine Faults

– Undetected failures – Solution: majority voting

  • n replicas, f faults tolerated -> n > 3f
  • State machines

– Need total order of executed requests

  • Solutions typically synchronous

– Slow

slide-3
SLIDE 3

BFT Protocol

slide-4
SLIDE 4

BFT Protocol

slide-5
SLIDE 5

BFT Protocol

slide-6
SLIDE 6

BFT Protocol

slide-7
SLIDE 7

Protocol stages

slide-8
SLIDE 8

Maintaining Service State

  • Periodic checkpoints of local service state

using message log

– Proof generation

  • multicast checkpoint msg to all peers

– 2f+1 commit messages with same log

  • stable checkpoint
  • Can discard previous log entries
slide-9
SLIDE 9

Views

  • Each replica maintains a view on who is the

primary

  • Clients / replicas may detect faulty primary
  • Replicas initiate view change protocol

– Don't accept requests anymore – Broadcast view change to next primary – Await replies (with timeout in case next one is faulty, too)

slide-10
SLIDE 10

The “practical” part

  • Implemented Byzantine NFS daemon

– “...does not implement view changes or retransmissions at present.”

  • Propose some protocol optimizations

– Only send one result, rest of replicas only sends signature – Replicas reply tentatively to the client (and commit later)

  • Evaluate performance with Andrew

benchmark

– ~20% performance overhead

slide-11
SLIDE 11

Musings

  • Did I understand the protocol?
  • Is it ok, to only measure normal-case

performance?

  • Is this stuff relevant or only a scientific thing?
slide-12
SLIDE 12

Musings...