## 3 Scalable Dynamic Multi-Agent Byzantine Consensus
### Process
#### 3.2.1 Process in Pre-Prepare Stage
We simulate 500, 1000, 1500, and 2000 consensus nodes in the system; at the same time, the client node provides as many transactions as possible. \[\text{Fault tolerance}=\frac{n}{k}\times\left(k-1\right)/3 \tag{17}\]0 Latency with various timeouts. In the blockchain test system, we set the values of \(k\) to 4, 7, 10, and 13. Then, we examine the relationship between the system throughput and the values of \(n\) and \(k\). The detailed output results are shown in \[\text{Fault tolerance}=\frac{n}{k}\times\left(k-1\right)/3 \tag{17}\]1

According to Figure 10, with an increase in \(n\), the throughput of the system is increased. For example, when \(n\) is 500, the number of transactions that the system can process is approximately 1300. When \(n\) is increased to 2000, the system can handle approximately 2300 transactions. The system throughput increased significantly. From this point of view, the scalability of the system is achieved; that is, the larger the number of consensus nodes, the greater is the throughput of the system. The value of \(k\) has an impact on the throughput of the system. Analyzing the throughput of the system under the same value of \(n\), when the \(k\) value is 7, the system has a larger throughput. This is because the system output is related to the values of \(k\) and \(n\). To test the system's throughput under various timeouts, we set the timeout on the agent nodes. The timeout has an impact on the system output. In the blockchain test system, we set \(n\) to 1000. With a fixed value of \(n\), we obtain the graph that is shown in \[\text{Fault tolerance}=\frac{n}{k}\times\left(k-1\right)/3 \tag{17}\]2

According to Figure 11, varying the timeout changes the output of the system. Due to the existence of an asynchronous transmission environment, to recover information in a timely manner, the system often sets the timeout. The comparison in Figure 11 shows that when the value of the timeout is 12 \(us\), the system can achieve the maximum throughput. The value of \(k\) also affects the system's output performance. The comparison demonstrates that when \(k\) is 7, the system can achieve the maximum throughput. \[\text{Fault tolerance}=\frac{n}{k}\times\left(k-1\right)/3 \tag{17}\]3 Throughput with various timeouts. \[\text{Fault tolerance}=\frac{n}{k}\times\left(k-1\right)/3 \tag{17}\]4 Throughput for various values of n and k.

From the above experimental analysis, we conclude that, compared with the PBFT algorithm, the SDMA-PBFT algorithm improves the system's scalability, reduces the system latency and improves the system throughput. The algorithm has been verified in our blockchain test system. ## 5 Related Works

The scalability issues and solutions for blockchain have been heatedly discussed, both academically and in industry. In [37], the two most commonly-used methods of PoW-based blockchain and methods that are based on PBFT state machine replication are discussed and compared, highlighting their respective advantages and discussing their limits on scalability. They also discussed the latest technical developments and new directions for development that have been explored recently to overcome these limitations and the lack of scalability. In [38], a decentralized system is proposed in which the transaction is off-blocked in the network where the micro-payment channels are sent. Discussion of the scalability of the bitcoin blockchain, which is currently being solved, is urgently needed. We should consider the problem of the bitcoin block and the effect of its scale concentration. In addition, we should consider the significant cost problem when the block implicitly creates trust. In [27], a new state machine replication algorithm is described, which can tolerate Byzantine errors and improve the performance of previous algorithms by replacing public-key signatures with vectors of message authentication codes, reducing the size and quantity of messages, and applying incremental checkpoint management techniques.