Byzantine consensus allows n processes to decide on a common value, in spite of arbitrary failures. The seminal Dolev-Reischuk bound states that any deterministic solution to Byzantine consensus exchanges Omega(n^2) bits. In recent years, great advances have been made in deterministic Byzantine agreement for partially synchronous networks, with state-of-the-art cryptographic solutions achieving O(n^2 \kappa) bits (where $\kappa$ is the security parameter) and nearly matching the lower bound. In contrast, for synchronous networks, optimal solutions with O(n^2) bits, with no cryptography and the same failure tolerance, have been known for more than three decades. Can this gap in network models be closed? In this paper, we present Repeater, the first generic transformation of Byzantine agreement algorithms from synchrony to partial synchrony. Repeater is modular, relying on existing and novel algorithms for its sub-modules. With the right choice of modules, Repeater requires no additional cryptography, is optimally resilient (n = 3t+1, where t is the maximum number of failures) and, for constant-size inputs, preserves the worst-case per-process bit complexity of the transformed synchronous algorithm. Leveraging Repeater, we present the first partially synchronous algorithm that (1) achieves optimal bit complexity (O(n^2) bits), (2) resists a computationally unbounded adversary (no cryptography), and (3) is optimally-resilient (n = 3t+1), thus showing that the Dolev-Reischuk bound is tight in partial synchrony. Moreover, we adapt Repeater for long inputs, introducing several new algorithms with improved complexity and weaker (or completely absent) cryptographic assumptions.
翻译:拜占庭共识允许 n 个过程在存在任意故障的情况下就一个共同值达成一致。经典的 Dolev-Reischuk 下界指出,任何确定性拜占庭共识解决方案都需要交换 Omega(n^2) 比特。近年来,针对部分同步网络的确定性拜占庭协议取得了巨大进展,最先进的加密解决方案实现了 O(n^2 κ) 比特(其中 κ 是安全参数),几乎匹配了下界。相比之下,对于同步网络,无需密码学且具有相同故障容忍度的最优解决方案(O(n^2) 比特)已为人所知超过三十年。能否弥合网络模型间的这一差距?在本文中,我们提出了 Repeater,这是首个将拜占庭协议算法从同步性通用转换为部分同步性的方法。Repeater 是模块化的,其子模块依赖于现有算法和新算法。通过恰当选择模块,Repeater 无需额外密码学,具有最优弹性(n = 3t+1,其中 t 是最大故障数),并且对于常数大小的输入,保持了被转换同步算法的最坏情况每过程比特复杂度。借助 Repeater,我们提出了首个部分同步算法,该算法(1)实现了最优比特复杂度(O(n^2) 比特),(2)抵御计算能力无界的攻击者(无需密码学),以及(3)具有最优弹性(n = 3t+1),从而表明 Dolev-Reischuk 下界在部分同步情况下是紧的。此外,我们针对长输入调整了 Repeater,引入了若干新算法,这些算法具有更高的复杂度,且需要更弱(或完全不需要)的密码学假设。