ParBFT: Faster Asynchronous BFT Consensus with a Parallel Optimistic Path

ParBFT: Faster Asynchronous BFT Consensus with a Parallel Optimistic Path
复制标题

DOI:
10.1145/3576915.3623101
复制
发表时间:
2023-11
期刊:
Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security
影响因子:
--
通讯作者:
Xiaohai Dai;Bo Zhang;Hai Jin;Ling Ren
Xiaohai Dai;Bo Zhang;Hai Jin;Ling Ren
中科院分区:
其他
文献类型:
--
作者:
Xiaohai Dai;Bo Zhang;Hai Jin;Ling Ren

文献摘要

被引文献

相似文献

为了减少异步拜占庭容错(Byzantine Fault Tolerance,BFT)共识的延迟和通信开销,通常会添加乐观路径,Ditto和BDT是最先进的代表。这些协议首先尝试运行乐观路径,该乐观路径通常是从部分同步BFT适应的,并且在良好的情况下保证良好的性能。如果乐观路径未能取得进展,这些协议会在超时后切换到悲观路径,以保证异步网络中的活性。该设计关键依赖于对网络延迟Δ的准确估计来正确地设置超时参数。对Δ的错误估计可能会导致过早或延迟切换到悲观路径,从而在这两种情况下都会损害协议的效率。为了解决上述问题,提出了并行乐观路径ParBFT,只要乐观路径的领导者是无故障的,ParBFT就能保证低延迟,而不需要精确估计网络延迟。我们提出了ParBFT的两种变体,即ParBFT 1和ParBFT 2,在延迟和通信之间进行权衡。ParBFT 1同时启动两条路径,在错误的领导者下实现较低的延迟,但即使在良好的情况下也具有二次消息复杂度。ParBFT 2通过延迟悲观路径来降低良好情况下的消息复杂性,代价是在错误的领导者下的更高延迟。实验结果表明,ParBFT优于Ditto或BDT。特别是,当网络条件较差时,ParBFT可以通过乐观路径达成共识,而Ditto和BDT则遭受路径切换,不得不使用悲观路径取得进展。
To reduce latency and communication overhead of asynchronous Byzantine Fault Tolerance (BFT) consensus, an optimistic path is often added, with Ditto and BDT as state-of-the-art representatives. These protocols first attempt to run an optimistic path that is typically adapted from partially-synchronous BFT and promises good performance in good situations. If the optimistic path fails to make progress, these protocols switch to a pessimistic path after a timeout, to guarantee liveness in an asynchronous network. This design crucially relies on an accurate estimation of the network delay Δ to set the timeout parameter correctly. A wrong estimation of Δ can lead to either premature or delayed switching to the pessimistic path, hurting the protocol's efficiency in both cases. To address the above issue, we propose ParBFT, which employs a parallel optimistic path. As long as the leader of the optimistic path is non-faulty, ParBFT ensures low latency without requiring an accurate estimation of the network delay. We propose two variants of ParBFT, namely ParBFT1 and ParBFT2, with a trade-off between latency and communication. ParBFT1 simultaneously launches the two paths, achieves lower latency under a faulty leader, but has a quadratic message complexity even in good situations. ParBFT2 reduces the message complexity in good situations by delaying the pessimistic path, at the cost of a higher latency under a faulty leader. Experimental results demonstrate that ParBFT outperforms Ditto or BDT. In particular, when the network condition is bad, ParBFT can reach consensus through the optimistic path, while Ditto and BDT suffer from path switching and have to make progress using the pessimistic path.