amiller / HoneyBadgerBFT

The Honey Badger of BFT Protocols
Other
313 stars 83 forks source link

Clarification: What will happen if a node goes down during RBC? #56

Closed swapnil-pandey closed 6 years ago

swapnil-pandey commented 6 years ago

From what I've understood is that before broadcast erasure coding is applied to split the message into blocks. Then the different blocks are transmitted to different nodes where the node receiving a block is responsible for it's transmission to other nodes.

What will happen if a node before/after receiving a block say "ta" fails. Who will then be responsible for transmitting the block to other nodes?

avilanthe1 commented 6 years ago

Hey,

a (k,n)-erasure coding (k<n) applied on a message divides the message to n parts (overall size of the n parts is bigger than the original message) where only k of them are needed to reconstruct the original message.

In HoneyBadgerBFT, you apply (N-2f,N)-erasure coding to each proposal, where N >= 3f+1. Then, in order to reconstruct a message you only need N-2f nodes that won't fail, but f is the bound on the number of failures, so even if all of these f nodes fail you are still able to reconstruct the message.

swapnil-pandey commented 6 years ago

Thanks, that made it very clear.