After decades of research, traditional BFT protocols have achieved nearly optimal performance improvements. However, they still cannot meet the rapidly increasing performance and scalability requirements of distributed systems, especially blockchain. Fortunately, the development of trusted execution environments brings new opportunities. Utilizing TEE, BFT protocols can achieve significant improvements, e.g., reduce the minimum number of replicas from 3f+1 to 2f+1. There have been several TEE-based BFT protocols. They generally share a common BFT-driven design pattern, i.e., to limit byzantine behaviors of replicas using TEE. However, while TEE solves some security issues, it also introduces new security issues. With this confusing design pattern, a protocol need not only tolerate arbitrary byzantine faults(which is already hard enough) but also handle those new security issues. Consequently, those protocols are complex and difficult to understand. With this drawback, those protocols have hardly been applied to real distributed systems. We start from a different question, i.e., what are the key differences between TEE-based BFT and Crash Fault Tolerance(CFT). We revisit CFT and propose four principles to help bridge the gap between TEE-based BFT and CFT. Based on these principles, we propose a novel TEE-based BFT protocol called TBFT. With inspirations from CFT, TBFT is more understandable and simpler compared to previous protocols. With a solid foundation provided by existing CFT protocols, TBFT has more opportunities to be applied to a practical system. Besides, We make comprehensive improvements to TBFT for both performance and security. Our evaluation shows that TBFT has better performance and scalability compared to previous protocols.
翻译:经过数十年的研究,传统的BFT协议取得了近乎最佳的绩效改进,然而,它们仍然无法满足分布式系统的快速增长的绩效和可扩展性要求,特别是块链。幸运的是,值得信赖的执行环境的发展带来了新的机遇。利用TEE,BFT协议可以实现重大改进,例如将复制的最小数量从3f+1减少到2f+1。这些基于TEE的BFT协议通常都有一个共同的BFT驱动的设计模式,即限制使用TEE的复制品的反占性改进行为。然而,尽管TEE解决了一些安全问题,但它也带来了新的安全问题。由于这种混乱的设计模式,一项协议不仅能够容忍任意的赞美缺陷(这已经够困难了),而且还可以处理这些新的安全问题。因此,这些协议复杂和难以理解。由于这一缺陷,这些协议很少适用于实际分布式的系统。我们从一个不同的问题开始,即基于TEE的BFTFT和CFTFFF协议之间的关键差异是什么。我们比CFFFFB和FFFT原则都比FFFB原则更清晰地提出了一种新的原则。我们重新研究和FFFFFFFT的系统比FFFFB的绩效和FFT的版本。我们提出了一种新的原则。我们比FFFFFFFC和FFT协议更接近了一种新的原则。我们提出了一种新的原则。我们比FFFFFCB和FFFC和FFFFFC的系统更接近了一种新的原则。