Byzantine fault-tolerant systems have been researched for more than four decades, and although shown possible early, the solutions were impractical for a long time. With PBFT the first practical solution was proposed in 1999 and spawned new research which culminated in novel applications using it today. Although the safety and liveness properties of PBFT-type protocols have been rigorously analyzed, when it comes to practical performance only empirical results - often in artificial settings - are known and imperfections on the communication channels are not specifically considered. In this work we present the first performance model for PBFT specifically considering the impact of unreliable channels and the use of different transport protocols over them. We also did extensive simulations to verify the model and to gain more insight on the impact of deployment parameters on the overall transaction time. We show that the usage of UDP can lead to significant speedup for PBFT protocols compared to TCP when tuned accordingly even over lossy channels. Finally, we compared the simulation to a real implementation and measure the benefits of a developed improvement directly. We found that the impact on the design of the network layer has been overlooked in the past but offers some additional room for improvement when it comes to practical performance. In this work we are focusing on the optimistic case with no node failures, as this is hopefully the most relevant situation.
翻译:拜占庭防过错系统已经研究了40多年,尽管早期就已经证明是可能的,但解决办法长期以来是不切实际的。1999年,PBFT提出了第一个实际解决办法,并产生了新的研究,最终在今天使用它的新应用。虽然对PBFT型协议的安全和活性特性进行了严格分析,但在实际表现方面,人们只知道实际表现方面的经验性结果,往往在人工环境下,通信渠道的不完善之处没有得到具体考虑。在这项工作中,我们提出了PBFT的第一个业绩模型,具体考虑了不可靠的渠道的影响和对它们的不同运输协议的使用。我们还进行了广泛的模拟,以核查模型,并更多地了解部署参数对整个交易时间的影响。我们表明,使用UDPPBFT协议可以大大加快PBFT协议的进度,即使对丢失的渠道作了相应调整,但与TCP协议相对而言,我们把模拟与实际执行情况作了比较,并直接衡量发展改善的好处。我们发现,过去对网络层设计的影响已被忽略,但对于实际表现没有产生多大的乐观。