200 likes | 312 Views
Bit-efficient consensus. Michał Strojnowski. The Byzantine Generals Problem. n entities Each has its value They communicate using only point-to-point messages The goal is to choose one of this values, and make it known to everyone. The Byzantine Generals Problem. n entities
E N D
Bit-efficient consensus Michał Strojnowski
The Byzantine Generals Problem n entities Each has its value They communicate using only point-to-point messages The goal is to choose one of this values, and make it known to everyone
The Byzantine Generals Problem n entities Each has its value They communicate using only point-to-point messages The goal is to choose one of this values, and make it known to everyone Simplest solution: one leader sends its value to everyone
Traitors In the Byzantine Generals Problem, we assumed any malicious behavior of traitors In this case, no protocol is resilient to n/3 such aberrations
Traitors In the Byzantine Generals Problem, we assumed any malicious behavior of traitors In this case, no protocol is resilient to n/3 such aberrations
Traitors In the Byzantine Generals Problem, we assumed any malicious behavior of traitors In this case, no protocol is resilient to n/3 such aberrations
Crashes Assume that only possible violation of protocol is a crash (i.e. death of general) Consensus is possible for any number of crashes, but still not easy to achieve t crashes require t+1 rounds of communication (in asynchronous case problem is unsolvable) Most protocols use big number of lengthy messages
Lowering the number of messages Define a communication graph, and send messages through it edges. Ensure that there exists a big, strongly connected subset of correct nodes Devise a protocol in which the final value is easy to obtain
Communicators Degree of every node is d In each subset of 4n/dnodes, there exists a subset in which each node has k neighbors Each such subset has at least n/4d vertices Each two sets of n/4d vertices are connected
Family of communicators degree d2 diameter (log n)/2 degree d diameter log n … degree n diameter 1
Preliminaries 1 is a dominant value. Any node that receives 1, change its own value to 1. Depending on value, we will call node either 1-node or 0-node. We will be using only 1-bit messages.
Algorithm (case t<n/2) Each 1-node sends its value to its neighbors. If less than knodes reply, it switches to the next communicator. After log n rounds of communication without switching, node makes its decision. After that, it only answers to received messages. 0-nodes start the same procedure t+2log n rounds later
Analysis Why wait t rounds?
Analysis Why wait t rounds?
Analysis Why wait t rounds?
Analysis Why wait t rounds?
Analysis Why wait t rounds?
Analysis Why wait t rounds?
Analysis If all 1-nodes die out, the final decision is 0 If not, in any round without failure, neighborhood of 1-nodes expands k/2 times, until it reaches size n/2 Any node eventually communicates with the set of 1-nodes. Every node sends O(log2n) messages before making its decision. For t>n/2, we use sequence of log n epoches.
Conclusions It is possible to achieve consensus in t+O(log2n) rounds, using messages of total length O(n log3n) bits.