Abstract With the development of blockchain, distributed computing and other technologies, the problem of Byzantine fault tolerance has been paid more and more attention. After Lamport raised this problem and gave the corresponding solution, more and more people optimized the solution to the problem in terms of algorithm efficiency and security. After studying the previous algorithm, we used the idea of “predictive execution” and “resource minimization” to convert the original three-phase protocol into two phases and under normal circumstances only 2f+1 nodes can be used to complete the work. Greatly improved the efficiency of the algorithm. At the same time, we consider the total order problem and propose a system to execute the request made by the client in chronological order to prevent the correct client request from being stolen by the enemy. Finally, we consider that the previous BFT protocol did not fully consider the problem of external nodes dynamically joining the system, and optimized the previous solution to enable external nodes to join the BFT system safely and quickly.