From 1e5371e6ab6ab1fe67cf7847900e3fde64c1440f Mon Sep 17 00:00:00 2001 From: "Peter J. Keleher" <keleher@cs.umd.edu> Date: Tue, 7 Nov 2023 16:51:55 -0500 Subject: [PATCH] auto --- notes/pbft.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/notes/pbft.md b/notes/pbft.md index 9a3b062..c5fd324 100644 --- a/notes/pbft.md +++ b/notes/pbft.md @@ -6,14 +6,17 @@ - i.e., correct replicas will return identical results. ## Differences from fail-stop consensus -- 3*f*+1 replicas instead of 2*f*+1 (non-byzantine consensus): - - must be possible to make progress w/ only *n - f* replicas (because *f* might be faulty and respond) - - however, the *f* not responding might be correct but slow (asynchrony), so there might be *f* bad responses in the *n - f* responses - - implies *(n - f - f) > f*, or *n >= 3f + 1* in order to guarantee majority +- 3*f*+1 replicas instead of 2*f*+1 (non-byzantine consensus) - 3 phases instead of two - cryptographic signatures -**Properties** +## Proof Sketch +- must be possible to make progress w/ only *n - f* replicas (because *f* might be faulty and respond) +- however, the *f* not responding might be correct but slow (asynchrony), so there might be *f* bad responses in the *n - f* responses +- implies *(n - f - f) > f*, or *n >= 3f + 1* in order to guarantee majority + + +## Properties - safety, liveness (*n >= 3f+1*) - can't prove both in async environment - safety guaranteed through protocol -- GitLab