Byzantine fault-tolerant (BFT) protocols allow a group of replicas to come to a consensus even when some of the replicas are Byzantine faulty. There exist multiple BFT protocols to securely tolerate an optimal number of faults $t$ under different network settings. However, if the number of faults $f$ exceeds $t$ then security could be violated. In this paper we mathematically formalize the study of {\em forensic support} of BFT protocols: we aim to identify (with cryptographic integrity) as many of the malicious replicas as possible and in as a distributed manner as possible. Our main result is that forensic support of BFT protocols depends heavily on minor implementation details that do not affect the protocol's security or complexity. Focusing on popular BFT protocols (PBFT, HotStuff, Algorand) we exactly characterize their forensic support, showing that there exist minor variants of each protocol for which the forensic supports vary widely. We show strong forensic support capability of LibraBFT, the consensus protocol of Diem cryptocurrency; our lightweight forensic module implemented on a Diem client is open-sourced \cite{diemopensource} and is under active consideration for deployment in Diem. Finally, we show that all secure BFT protocols designed for $2t+1$ replicas communicating over a synchronous network forensic support are inherently nonexistent; this impossibility result holds for all BFT protocols and even if one has access to the states of all replicas (including Byzantine ones).
翻译:拜占庭过错( BFT) 协议允许一组复制品达成共识, 即使有些复制品是拜占庭错误的。 存在多个 BFT 协议可以安全地容忍不同网络设置下最优数目的故障。 但是, 如果错误数量超过美元美元, 那么安全就会受到侵犯。 在本文中, 我们数学地正式确定BFT协议的法证支持研究 : 我们的目标是尽可能多地( 以加密完整性) 找出恶意复制品。 我们的主要结果是, BFT 协议的法证支持在很大程度上取决于一些不影响协议安全或复杂性的微小执行细节 。 但是, 关注流行的 BFT 协议( PBFT、 HotStuff、 Algorand), 我们确切地描述了它们的法证支持, 表明每项协议中存在一些小变体, 法医支持差异很大。 我们展示了所有的法证支持能力( LibraBFT 、 Diem 加密协议的共识性协议 。 我们的法证协议支持程度不小的系统运行模式 。 我们的正常的客户关系 将最终的BFIFDRRF1 进行公开的考虑。