Doppel: A BFT consensus algorithm for cyber-physical systems with low latency

Rui Hao,Xiaohai Dai,Xia Xie
DOI: https://doi.org/10.1016/j.sysarc.2024.103087
IF: 5.836
2024-02-11
Journal of Systems Architecture
Abstract:The integration of blockchain technology with Cyber-Physical Systems (CPS) has gained significant attention across various industry domains such as manufacturing, healthcare, transportation, and energy management. The consensus mechanism serves as the fundamental component of decentralized blockchain systems, and the efficiency of the consensus algorithm greatly impacts the practicality of the entire system. One of the most well-known representative algorithms in the field of Byzantine Fault Tolerance (BFT) consensus is PBFT, which operates through successive views where a replica is designated as the leader in each view. The leader assumes the responsibility of proposing new requests and gathering votes from other replicas. However, in cases where the leader becomes Byzantine or faulty, a view-change process is triggered after a Δ timer expires, transitioning to the next view. Requests that failed to commit in a previous view may experience a delay of up to Δ+6δ ( δ representing the actual network delay) before being committed in the new view. Given that Δ is typically set to a large value, this latency becomes unacceptable for CPS, which necessitates real-time transaction processing or data exchange. Following PBFT, several works, including SBFT, have aimed to improve consensus performance. However, all these works primarily focus on reducing latency in the normal case and overlook the aforementioned issue that existed during the view-change process. To address this issue, we propose Doppel, an approach that reduces the latency caused by a faulty leader. Doppel achieves this by introducing two leaders, namely L1 and L2 , in each view and enabling request commitment during the view-change process. These leaders are assigned different priorities. If L1 is non-faulty, Doppel can commit requests within 5δ , which is equivalent to PBFT and SBFT. Conversely, if L1 is faulty but L2 is non-faulty, Doppel significantly reduces latency to 7δ , which is notably smaller than Δ+6δ in PBFT and SBFT. We have implemented a system prototype of Doppel and conducted multiple experiments to evaluate its performance. The experimental results consistently demonstrate Doppel's outperformance over PBFT and SBFT.
computer science, software engineering, hardware & architecture
What problem does this paper attempt to address?