Toward Optimal-Complexity Hash-Based Asynchronous MVBA with Optimal Resilience
Abstract
Multi-valued validated Byzantine agreement (MVBA), a fundamental primitive of distributed computing, allows processes to agree on a valid -bit value, despite faulty processes behaving maliciously. Among hash-based solutions for the asynchronous setting with adaptive faults, the state-of-the-art HMVBA protocol achieves optimal message complexity, (near-)optimal bit complexity, and optimal time complexity. However, it only tolerates failures. In contrast, the best-known optimally-resilient protocol, SQ, incurs a higher bit complexity of . This poses a fundamental question: Can a hash-based protocol be designed for the asynchronous setting with adaptive faults that simultaneously achieves optimal complexity and optimal resilience? This paper takes a significant step toward answering this question. Namely, we introduce Reducer, an MVBA protocol that retains HMVBA's optimal complexity while improving its resilience to . Like HMVBA and SQ, Reducer relies exclusively on collision-resistant hash functions. A key innovation in Reducer's design is its internal use of strong multi-valued Byzantine agreement (SMBA), a new variant of Byzantine agreement we introduce and construct, which ensures that the decided value was proposed by a correct process. To further advance resilience toward the optimal one-third bound, we then propose Reducer++, an MVBA protocol that tolerates up to adaptive failures, for any fixed constant . Unlike Reducer, Reducer++ does not rely on SMBA. Instead, it employs a novel approach involving hash functions modeled as random oracles to ensure termination. Reducer++ maintains constant time complexity, quadratic message complexity, and quasi-quadratic bit complexity, with constants dependent on .
Keywords
Cite
@article{arxiv.2410.12755,
title = {Toward Optimal-Complexity Hash-Based Asynchronous MVBA with Optimal Resilience},
author = {Jovan Komatovic and Joachim Neu and Tim Roughgarden},
journal= {arXiv preprint arXiv:2410.12755},
year = {2026}
}