Byzantine Faults and Consensus on Unknown Torus

 
Consensus on an Unknown Torus with
Dense Byzantine Faults
 
Joseph Oglio
Kendric Hood
Gokarna Sharma
Mikhail Nesterenko
 
 
Marrakech, Morocco
 
May 23,
 20
23
 
Dense Byzantine Faults & Consensus
 
Byzantine fault
 - process behaves arbitrarily, 
f
- number of faulty processes
(classic) binary byzantine tolerant consensus [Lamport82] - all processes need to agree
on a value
 
interested in deterministic solutions without signatures (oral record)
consider torus with dimensions unknown to processes
fixed degree and small diameter: convenient for computing and storage tasks
known dimensions: solution is simple
 
incomplete topology [Dolev82
] - 
need at least 
2
f
+1
 network
connectivity: may tolerate at most 1 fault
 
what to do?
sparse faults 
- faulty processes are far enough
apart to ensure Dolev’s bound  [Maurer14]
want to solve for 
dense faults 
- faulty processes are
arbitrarily close
 
 
HOW?
 
2
 
Outline
 
 
Impossibility
BAT
 - all-to-all broadcast algorithm
CBAT
 - consensus using 
BAT
extension to CONGEST model
 
3
No Consensus with
Arbitrary Fault Location
there is no algorithm that solves consensus with 
f 
> 1
 faults on a torus
with connectivity 4 [Dolev82].
4
Intuition: 
consider 2 faults (black processes), the correct (grey processes)
cannot tell which neighbors are Byzantine
we restrict fault location to single column
No Consensus with a Faulty
Column
Theorem 1.
 
There is no algorithm that solves consensus … on a torus with a
faulty column.
5
Intuition:
lets first consider a ring (a torus of height 1) with a single faulty process.
Connectivity is 2, need 
2
f
+1 = 3
 to solve consensus [Dolev82]
need at least one correct process in the faulty column
notation
black
 - faulty process 
grey 
- correct in faulty column
white
 - correct in non-faulty column
this argument can be extended to a torus of arbitrary height
 
Outline
 
 
Impossibility
BAT
 - all-to-all broadcast algorithm
CBAT
 - consensus using 
BAT
extension to CONGEST model
 
6
 
Model:
 synchronous, processes share orientation, every process has unique ids, knows immediate neighbors,
torus size 
W
×
H
 unknown to processes, arbitrary amount of data transmitted per round (LOCAL model)
later relaxed to fixed size (CONGEST)
 
 
Algorithm consists of four phases:
North
 - collects info vertically
East-West
 - collects info horizontally
South
 - shares info vertically
Decision
 - terminates
 
BAT
: Byzantine All-to-All
Broadcast on a Torus
 
7
BAT
: North Phase, White Columns
8
Round:     2   3   4
Receive:   c   d   a
white columns:
round 1: each process sends a message up containing its value
round  
k
>1, 
k
 < 
H
+1
: stores message and forwards it up
round 
H
 + 1
: each process will receive its own initial value,
store it,  and move on to the East-West Phase
remember: 
H, W
  and color are unknown to processes
 
BAT
: North Phase, Black-Grey Column
 
9
 
 
 
black processes may send arbitrary messages to the grey
process
 grey process may complete its North Phase earlier than
white, later or never
BAT
: East-West Phase
process sends  its entire column + left & right neighbor 
East(left) and West (right), saves in 
rowLeft
 and 
rowRight
 forwards received
10
e
b
c
a
e
b
c
a
consider the case of the grey process starting the East-West Phase 
on time
: together with white process
d
d
BAT
: East-West Phase
process sends  its entire column + left & right neighbor 
East(left) and West (right), saves in 
rowLeft
 and 
rowRight
 forwards received
11
e
c
a/b
e
c/b
a
now consider the case of the grey process starting the East-West Phase 
out-of-sync
: early
 
columns not shown
d
d
 
BAT
: East-West Phase
Right/Left Match
 
each white process determines completion of the phase despite single grey/black process possibly out-
of-sync
two steps
checks 
rowLeft
, 
rowRight
 individually: no duplicate ids, neighbors matching, at most one process off
replace off process column info with 
compare 
rowLeft
 with 
rowRight
: if they match, phase is complete
 
12
 
BAT
: East-West Phase, Completion
 
if 
rowLeft 
matches 
rowRight 
at process 
d
: have 
decision matrix: 
correct values of all white processes,
guaranteed to happen to every white process in grey-white row
may happen in black-white row
 
then 
d
 outputs the matrix, starts South Phase and Decision Phase
 
13
 
BAT
: South & Decision Phase
 
South Phase:
 share decision matrix. A white process that completed East-West Phase has
decision matrix
sends it to other white processes in same column
when received, forward down, output, start Decision Phase
 
Decision Phase:
 guarantees white termination despite a black neighbor
after South Phase, a white process informs immediate left and right neighbor
terminates if decision matrix and heard from either left or right
every white process terminates
grey process does not terminate prematurely: even if gets faulty info from black
up/down neighbors, does not hear from white left/right neighbors
 
14
 
BAT
: All-to-All Broadcast
 
Theorem 2.
 
Algorithm BAT solves the Weak Synchronous All-to-All
Broadcast Problem on an unknown torus with Byzantine faults in at
most one column with at least one correct row in at most 
2
H+
2
+W
rounds.
 
Intuition:
North Phase takes 
H
 + 1
 rounds to share each processes initial
value with its column
East-West Phase : 
W
 rounds to propagate
South Phase: 
H
 rounds to share the decision matrix
Decision Phase:  
1
 round to terminate 
BAT
 
15
 
Outline
 
 
Impossibility
BAT
 - all-to-all broadcast algorithm
CBAT
 - consensus using 
BAT
extension to CONGEST model
 
16
 
simple all-to-all broadcast is insufficient: the values of black
processes may differ in the decision matrix of different white
processes
black processes may send different values
to different white processes and influence their decision
 
17
 
All-to-All Broadcast → Consensus
 
CBAT
:  use 
BAT 
twice to verify received decision matrices
 
CBAT
:
 
Consensus Using 
BAT
 
Stages
Broadcast
use 
BAT 
to form initial decision matrices
Confirm
use 
BAT 
exchange initial decision matrices
Decide
select the highest id process to be 
leader
check if leaders decision matrix (constructed from the values heard from the
other peers) is consistent (requires 
W
 > 4
)
two or more columns contain:
 (
BAT
 
detected the leader to be faulty)
–  both  0s and 1s
–  or whose values differ from the rest
if not consistent: all white processes detect it, all select same leader from a
different column: guaranteed to be white
output the majority of the values shared by this leader
 
18
 
Consensus on a Torus
 
Theorem 3.
 
CBAT solves weak consensus on an unknown torus whose
width is at least 5 with Byzantine faults in at most one column and with
at least one correct row.
 
Intuition:
use 
BAT 
to share everyone’s value
use 
BAT 
again, this time sharing what everyone heard
compute a shared set of values by finding the byzantine leader if
they misbehaved
output the majority decision among the non byzantine columns
 
19
 
Outline
 
 
Impossibility
BAT
 - all-to-all broadcast algorithm
CBAT
 - consensus using 
BAT
extension to CONGEST model
 
20
 
Extension to Fixed Message Size:
BAT
 
LOCAL: process may send arbitrary amount of data per round
CONGEST: process may only send Θ(1) per round
 
BAT 
LOCAL Phases:
North: message size is 1 (
H
 rounds)
East-West: message size of 
H 
(
W
 rounds)
South: message size of 
H×W 
(
H
 rounds)
Decide: O(1)
 
in the North Phase, processes determine 
H
, can transmit column in 
H
 fixed-size rounds, in East-West Phase
determine 
W
, can transmit matrix in 
H×W
 rounds, hence:
 
BAT 
CONGEST Phases:
North: O(
H
)
East-West: O(
H×W
)
South: O(
H
2
×W
)
 
21
 
Extension to Fixed Message Size:
CBAT
 
similarly:
 
CBAT 
LOCAL:
Broadcast: 
BAT
(initVal) - message size of O(
H×W
)
Confirm: 
BAT
(
H*W
 matrix) - O(
H
2
×
W
2
)
Decide: local computation
 
CBAT 
CONGEST:
Broadcast: 
BAT
(initVal) - O(
H
2
×
W
)
Confirm: 
BAT
(
H×W
 matrix) - O(
H
3
×
W
2
)
 
22
Byzantine Torus Recap
23
Questions?
We
posed 
the Byzantine Torus 
Problems
proved it impossible if 
there is a complete faulty column
presented 
BAT
:
 
all-to-all broadcast on a torus
presented 
CBAT
:
 
uses 
BAT 
to solve consensus
extended results to fixed message size
Slide Note
Embed
Share

The discussion revolves around achieving consensus in the presence of dense Byzantine faults on an unknown torus. Various challenges and impossibility theorems are explored, highlighting the complexities of reaching an agreement in such fault-prone environments. The content delves into the limitations imposed by fault locations, faulty columns, and the need for specific network connectivity to achieve consensus. Additionally, it introduces concepts like Dense Byzantine Faults and outlines the BAT algorithm for All-to-All Broadcast on a Torus Model.

  • Byzantine Faults
  • Consensus
  • Unknown Torus
  • Dense Faults
  • BAT Algorithm

Uploaded on Sep 26, 2024 | 1 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Consensus on an Unknown Torus with Dense Byzantine Faults Joseph Oglio Kendric Hood Gokarna Sharma Mikhail Nesterenko Marrakech, Morocco May 23, 2023

  2. Dense Byzantine Faults & Consensus Byzantine fault - process behaves arbitrarily, f- number of faulty processes (classic) binary byzantine tolerant consensus [Lamport82] - all processes need to agree on a value interested in deterministic solutions without signatures (oral record) consider torus with dimensions unknown to processes fixed degree and small diameter: convenient for computing and storage tasks known dimensions: solution is simple incomplete topology [Dolev82] - need at least 2f+1 network connectivity: may tolerate at most 1 fault what to do? sparse faults - faulty processes are far enough apart to ensure Dolev s bound [Maurer14] want to solve for dense faults - faulty processes are arbitrarily close HOW? 2

  3. Outline Impossibility BAT - all-to-all broadcast algorithm CBAT - consensus using BAT extension to CONGEST model 3

  4. No Consensus with Arbitrary Fault Location there is no algorithm that solves consensus with f > 1 faults on a torus with connectivity 4 [Dolev82]. Intuition: consider 2 faults (black processes), the correct (grey processes) cannot tell which neighbors are Byzantine we restrict fault location to single column 4

  5. No Consensus with a Faulty Column Theorem 1. There is no algorithm that solves consensus on a torus with a faulty column. Intuition: lets first consider a ring (a torus of height 1) with a single faulty process. Connectivity is 2, need 2f+1 = 3 to solve consensus [Dolev82] this argument can be extended to a torus of arbitrary height need at least one correct process in the faulty column notation black - faulty process grey - correct in faulty column white - correct in non-faulty column 5

  6. Outline Impossibility BAT - all-to-all broadcast algorithm CBAT - consensus using BAT extension to CONGEST model 6

  7. BAT: Byzantine All-to-All Broadcast on a Torus Model: synchronous, processes share orientation, every process has unique ids, knows immediate neighbors, torus size W H unknown to processes, arbitrary amount of data transmitted per round (LOCAL model) later relaxed to fixed size (CONGEST) Algorithm consists of four phases: North - collects info vertically East-West - collects info horizontally South - shares info vertically Decision - terminates 7

  8. BAT: North Phase, White Columns white columns: a round 1: each process sends a message up containing its value Round: 2 3 4 Receive: c d a 5 b b round k>1, k < H+1: stores message and forwards it up c round H + 1: each process will receive its own initial value, store it, and move on to the East-West Phase remember: H, W and color are unknown to processes d 8

  9. BAT: North Phase, Black-Grey Column u black processes may send arbitrary messages to the grey process grey process may complete its North Phase earlier than white, later or never v w x 9

  10. BAT: East-West Phase process sends its entire column + left & right neighbor East(left) and West (right), saves in rowLeft and rowRight forwards received consider the case of the grey process starting the East-West Phase on time: together with white process b c d e a case (i) grey process on time, d s perspective rowLeft.d : rowRight.d: d d e a b c e a b c 10

  11. BAT: East-West Phase process sends its entire column + left & right neighbor East(left) and West (right), saves in rowLeft and rowRight forwards received now consider the case of the grey process starting the East-West Phase out-of-sync: early columns not shown b c d e a case (ii) grey process early, d s perspective rowLeft.d : rowRight.d: d d e a c/b e a/b c 11

  12. BAT: East-West Phase Right/Left Match each white process determines completion of the phase despite single grey/black process possibly out- of-sync two steps checks rowLeft, rowRight individually: no duplicate ids, neighbors matching, at most one process off replace off process column info with compare rowLeft with rowRight: if they match, phase is complete b c d e a case (i) grey process on time, d s perspective case (ii) grey process early, d s perspective rowLeft.d : rowRight.d: rowLeft.d : rowRight.d: d d e a b c d d e a c e a b c e a c 12

  13. BAT: East-West Phase, Completion if rowLeft matches rowRight at process d: have decision matrix: correct values of all white processes, guaranteed to happen to every white process in grey-white row may happen in black-white row then d outputs the matrix, starts South Phase and Decision Phase b c d e a case (i) grey process on time, d s perspective case (ii) grey process early, d s perspective rowLeft.d : rowRight.d: rowLeft.d : rowRight.d: d d e a b c d d e a c e a b c e a c 13

  14. BAT: South & Decision Phase South Phase: share decision matrix. A white process that completed East-West Phase has decision matrix sends it to other white processes in same column when received, forward down, output, start Decision Phase Decision Phase: guarantees white termination despite a black neighbor after South Phase, a white process informs immediate left and right neighbor terminates if decision matrix and heard from either left or right every white process terminates grey process does not terminate prematurely: even if gets faulty info from black up/down neighbors, does not hear from white left/right neighbors 14

  15. BAT: All-to-All Broadcast Theorem 2. Algorithm BAT solves the Weak Synchronous All-to-All Broadcast Problem on an unknown torus with Byzantine faults in at most one column with at least one correct row in at most 2H+2+W rounds. Intuition: North Phase takes H + 1 rounds to share each processes initial value with its column East-West Phase : W rounds to propagate South Phase: H rounds to share the decision matrix Decision Phase: 1 round to terminate BAT 15

  16. Outline Impossibility BAT - all-to-all broadcast algorithm CBAT - consensus using BAT extension to CONGEST model 16

  17. All-to-All Broadcast Consensus simple all-to-all broadcast is insufficient: the values of black processes may differ in the decision matrix of different white processes black processes may send different values to different white processes and influence their decision CBAT: use BAT twice to verify received decision matrices 17

  18. CBAT: Consensus Using BAT Stages Broadcast Confirm Decide use BAT to form initial decision matrices use BAT exchange initial decision matrices select the highest id process to be leader check if leaders decision matrix (constructed from the values heard from the other peers) is consistent (requires W > 4) two or more columns contain: (BAT detected the leader to be faulty) both 0s and 1s or whose values differ from the rest if not consistent: all white processes detect it, all select same leader from a different column: guaranteed to be white output the majority of the values shared by this leader 18

  19. Consensus on a Torus Theorem 3. CBAT solves weak consensus on an unknown torus whose width is at least 5 with Byzantine faults in at most one column and with at least one correct row. Intuition: use BAT to share everyone s value use BAT again, this time sharing what everyone heard compute a shared set of values by finding the byzantine leader if they misbehaved output the majority decision among the non byzantine columns 19

  20. Outline Impossibility BAT - all-to-all broadcast algorithm CBAT - consensus using BAT extension to CONGEST model 20

  21. Extension to Fixed Message Size: BAT LOCAL: process may send arbitrary amount of data per round CONGEST: process may only send (1) per round BAT LOCAL Phases: North: message size is 1 (H rounds) East-West: message size of H (W rounds) South: message size of H W (H rounds) Decide: O(1) in the North Phase, processes determine H, can transmit column in H fixed-size rounds, in East-West Phase determine W, can transmit matrix in H W rounds, hence: BAT CONGEST Phases: North: O(H) East-West: O(H W) South: O(H2 W) 21

  22. Extension to Fixed Message Size: CBAT similarly: CBAT LOCAL: Broadcast: BAT(initVal) - message size of O(H W) Confirm: BAT(H*W matrix) - O(H2 W2) Decide: local computation CBAT CONGEST: Broadcast: BAT(initVal) - O(H2 W) Confirm: BAT(H W matrix) - O(H3 W2) 22

  23. Byzantine Torus Recap We posed the Byzantine Torus Problems proved it impossible if there is a complete faulty column presented BAT: all-to-all broadcast on a torus presented CBAT: uses BAT to solve consensus extended results to fixed message size Questions? 23

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#