# A Coordination Technique for Improving Scalability of Byzantine Fault-Tolerant Consensus
## 1 Introduction  
Recently, blockchain is considered one of the core technologies that enable us to create a transparent world with guaranteeing the integrity and transparency of data [1]. Significantly, researchers have tried to apply the private blockchain technologies that facilitate data sharing among permissioned participants to diverse areas such as business [2, 3], and computer science [4, 5, 6]. However, due to the scalability issue, the application of technologies is limited [7, 8, 9, 10]. Although there are diverse factors associated with scalability such as network bandwidth and cryptographic algorithms, a consensus algorithm is a key factor that significantly influences the issue, ensuring that participants keep maintaining the same data in distributed environments [11, 12]. Among the consensus algorithms for private blockchains, the Byzantine Fault Tolerance (BFT)-based consensus algorithms are broadly used. PBFT (Practical Byzantine Fault Tolerance) [13, 14] is a popular andrepresentative example. In the BFT-based consensus algorithm, the number of network communications among participants explodes with the increase in the number of participants. This is because all participants in the BFT-based consensus algorithm should be involved to complete the process for each transaction, and the process is even composed of diverse steps. This characteristic of the BFT-based consensus algorithm may raise the performance and scalability issue of the algorithm, as the more participants are newly involved, the slower the completion of the consensus process is [15]. There have been several previous studies on improving scalability of BFT-based consensus algorithms (see [16; 17; 18; 19; 20; 21; 22; 23]). Some works tried to build sub-groups of blockchain nodes on a regular basis and reduced the number of network communications by executing two-step execution of the BFT-consensus algorithm: executing consensus inside sub-groups and conducting consensus between representatives of each sub-group. While this approach increased the PBFT algorithm's scalability, it has a shortcoming that a new node cannot join any groups until new groups have been made. Other works also tried to optimize the number of communications by modifying the PBFT protocol with introducing a collector role or removing faulty nodes during consensus processes. Similarly, some works tried to reduce the number of prime node elections for minimizing the node election overhead. However, it is hard to expect the outstanding improvement of scalability through these approaches. In addition to these, other approach tried to deploy a new hardware-based BFT algorithm execution environment, but it has an apparent weakness that all nodes should prepare the specific hardware environments in advance. To address the above issues, we propose a coordination technique for scalable Byzantine fault-tolerant consensus algorithms. The key idea is to introduce a _Consensus Coordinator_ that controls conditional execution of a BFT-based consensus algorithm after classifying transactions of all nodes with respect to their equality. Our approach runs regularly associated with the block generation time interval, consisting of four steps. First, it starts with electing a _prime node_ among all blockchain nodes for executing a BFT-based consensus algorithm and communicates with the consensus coordinator. Then, the consensus coordinator collects transactions from a transaction pool of each node. In the third step, the coordinator classifies transactions based on their equality and decides for executing a consensus algorithm. In the case that all transactions are equal, the coordinator lets the prime node execute block generation without executing a consensus algorithm, which is the completion of the synchronization in a blockchain network. When some transactions are not equal, the coordinator divides transactions into _common_ and _trouble transactions_ and requests the prime node to execute a BFT-based consensus algorithm only for trouble transactions.