Scalable Byzantine Agreement with a Random Beacon

Abstract

We present two Monte Carlo algorithms for efficiently computing Byzantine agreement in the partially synchronous communication model. The algorithms assume the existence of a Random Beacon, which is a stream of random bits, known to all the processors. Both algorithms terminate in O(1) expected time. The first algorithm sends O(M + nlog2n) messages in total, where M is the maximum number of messages sent by the bad processors in any round and n is the number of processors. It ensures all processors reach agreement. The second algorithm sends \(\tilde{O}(1)\) messages per processor, and is thus load-balanced, and ensures all but a o(1) fraction of the processors reach agreement. Both algorithms succeed with probability 1 − O(1/nk), even against an adaptive adversary that takes over up to a 1/3 − ε fraction of the processors for any ε > 0. We prove the correctness of both algorithms and provide empirical evidence that they require significantly less bandwidth than previous algorithms for networks of size greater than 4,000 processors. Our algorithms work in the full-information model and thus make no cryptographic assumptions.