Byzantine Fault-Tolerant Protocols

Byzantine Fault-Tolerant (BFT) protocols guarantee that in a distributed system, even if some nodes are faulty or malicious, a consistent and correct result will be achieved. These protocols achieve consensus through redundancy and communication. Nodes exchange messages, compare information, and perform voting-like procedures to ensure that everyone agrees on the same state or decision. BFT protocols can be applied to blockchain, consensus protocols, etc.

BFT Simulator

Many BFT protocols assume a partially-synchronous network, where eventual stability is reached after a Global Stabilization Time (GST). However, real-world networks lack bounded transmission times for packets, making it challenging to analyze BFT protocol performance, especially in adverse conditions or with adversarial behavior. In response, we propose a simulator designed to evaluate the performance of BFT protocols across various network conditions and attack scenarios. We have implemented this simulator to empirically compare the performance of eight representative protocols. Our experimental results demonstrate that our simulator can simulate 16 times as many nodes as an existing simulator, and it is over 500 times faster when simulating 32 nodes.

Publications

  1. Tool: An Efficient and Flexible Simulator for Byzantine Fault-Tolerant Protocols. [code] P.-L. Wang, T.-W. Chao, C.-C. Wu, H.-C. Hsiao In IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), June 2022.