Optimally efficient multi-valued byzantine agreement

All known protocols for Byzantine agreement (BA) among <i>n</i> players require the message to be communicated at least Ω(<i>n</i><sup>2</sup>) times, which results in an overall communication complexity of at least Ω(<i>l</i><i>n</i><sup>2</sup>) bits for an <i>l</i>-bit message. We present the first BA protocol in which the message is communicated only <i>O</i>(<i>n</i>) times (the hidden factor is less than 2). More concretely, for a given synchronous broadcast protocol which communicates <i>B</i>(<i>b</i>) bits for reaching agreement on a <i>b</i>-bit message with security parameter κ, our construction yields a synchronous BA protocol with communication complexity <i>O</i>(<i>l</i><i>n</i>+<i>n</i><i>B</i>(<i>n</i>+κ)) bits. Our reduction is information theoretically secure and tolerates up to <i>t</i><<i>n</i>/2 corrupted players, which is optimal for the consensus variant of BA. Although this resilience is not optimal for the broadcast (Byzantine generals) variant, it is sufficient for most distributed applications that involve BA protocols since they typically require <i>t</i><<i>n</i>/2.