The strong Byzantine agreement (SBA) problem is defined among n processes, out of which t < n can be faulty and behave arbitrarily. SBA allows correct (non-faulty) processes to agree on a common value. Moreover, if all correct processes have proposed the same value, only that value can be agreed upon. It has been known for a long time that any solution to the SBA problem incurs quadratic worst-case word complexity; additionally, the bound was known to be tight. However, no existing protocol achieves adaptive word complexity, where the number of exchanged words depends on the actual number of faults, and not on the upper bound. Therefore, it is still unknown whether SBA with adaptive word complexity exists. This paper answers the question in the affirmative. Namely, we introduce STRONG, a synchronous protocol that solves SBA among n = (2 + Omega(1))t + 1 processes and achieves adaptive word complexity. We show that the fundamental challenge of adaptive SBA lies in efficiently solving certification, the problem of obtaining a constant-sized, locally-verifiable proof that a value can safely be decided.
翻译:强拜占庭协议问题定义于n个进程之间,其中t < n个进程可能发生故障并任意行为。SBA允许正确(无故障)进程就一个共同值达成一致。此外,若所有正确进程已提议相同值,则仅该值能被达成一致。长期以来,已知任何SBA问题的解在最坏情况下均需二次字复杂度;且该下界已被证明是紧的。然而,尚无现有协议能实现自适应字复杂度,即交换字数依赖于实际故障数而非上界。因此,具有自适应字复杂度的SBA是否存在仍属未知。本文对此问题给出肯定答案。具体而言,我们提出STRONG协议,这是一个在n = (2 + Ω(1))t + 1个进程间解决SBA的同步协议,并实现了自适应字复杂度。我们证明自适应SBA的根本挑战在于高效解决认证问题,即获取一个规模恒定、可本地验证的证明,以确认某个值可被安全决断。