A spectre is haunting consensus protocols-the spectre of adversary majority. The literature is inconclusive, with possibilities and impossibilities running abound. Dolev and Strong in 1983 showed an early possibility for up to 99% adversaries. Yet, we have known impossibility results for adversaries above 1/2 in synchrony, and above 1/3 in partial synchrony. What gives? It is high time that we pinpoint the culprit of this confusion: the critical role of the modeling details of clients. Are the clients sleepy or always-on? Are they silent or communicating? Can validators be sleepy too? We systematize models for consensus across four dimensions (sleepy/always-on clients, silent/communicating clients, sleepy/always-on validators, and synchrony/partial-synchrony), some of which are new, and tightly characterize the achievable safety and liveness resiliences with matching possibilities and impossibilities for each of the sixteen models. To this end, we unify folklore and earlier results, and fill gaps left in the literature with new protocols and impossibility theorems.
翻译:一个幽灵正在共识协议中游荡——敌手占多数的幽灵。现有文献对此尚无定论,可能性与不可能性结论并存。Dolev与Strong早在1983年便展示了对抗高达99%敌手的早期可能性方案。然而,我们已知在同步模型下敌手比例超过1/2时存在不可能性结果,在部分同步模型中该阈值则为1/3。矛盾何在?现在是时候厘清这一混乱局面的根源了:客户端建模细节的关键作用。客户端是休眠态还是持续在线?是静默状态还是可通信状态?验证节点是否也可处于休眠状态?我们通过四个维度(休眠/持续在线客户端、静默/通信客户端、休眠/持续在线验证节点、同步/部分同步网络)系统化构建了共识模型体系,其中部分维度属首次提出,并针对十六种模型分别给出了严格匹配的安全性、活性容错界限及其对应可能性与不可能性证明。为此,我们整合了学界共识与早期成果,通过提出新协议与不可能性定理填补了现有文献的研究空白。