SAZyzz: Scaling AZyzzyva to Meet Blockchain Requirements

Abstract

We present SAZyzz, a leader-based Byzantine Fault Tolerant consensus protocol for partially synchronous networks. SAZyzz exhibits a better performance/scalability compared to the state-of-the-art leader-based BFT consensus protocols. It is built on top of AZyzzyva (i.e., the protocol that addressed the Zyzzyva’s safety violation). The tree-based communication model adopted in SAZyzz enables the protocol to enhance the scalability of AZyzzyva. Additionally, it reduces the communication complexity to O(log N) in two paths of the protocol. The tree-based topology has been however argued to incur limitations when used to designing BFT consensus protocols. This is due to a strong assumption tree-based protocols are built upon, where the internal nodes of a tree are required not to be Byzantine, which leads to a trade-off between tolerating Byzantine faults and better performance/scalability. This paper shows that, with the current technological infrastructures available for industrial systems, such as Trusted Execution Environment (TEE) and Public Key Infrastructure (PKI), this assumption is realistic. SAZyzz comprises of fast-path and backup-path, each of which has two modes: simple mode and scalable mode. We first at- tempted to remove the strong honest client assumption of AZyzzyva (as it can compromise the entire system if a client is malicious) by involving the primary in making commit decisions. This modification was introduced as the simple mode in SAZyzz. Then, we applied the tree-based communication model to address the scalability issue by introducing the scalable mode to the design. To reach a consensus in a scalable way, SZAzyzz has therefore the followings: Fast Path Simple Mode (FPSiM), Fast Path Scalable Mode (FPSCaM), Slow Path Simple Mode (SPSiM), and Slow Path Scalable Mode (SPSCaM). To show the efficiency and feasi- bility of SAZyzz’s adoption for blockchain systems, we also designed and implemented the ZyConChain blockchain system based on SAZyzz. The evaluation results provided in this paper show that SAZyzz can significantly improve the performance/scalability of blockchain systems.