| Byzantine fault tolerance refers to the ability of a system to tolerant arbitrary failures of its replicas(Byzantine errors)in a distributed environment,the Byzantine consensus protocol guarantees data consistency in the presence of faulty replicas.With the emergence and application of the blockchain,Byzantine fault tolerance has once again attracted the attention of researchers.As a special scenario of a distributed system,the consensus protocol ensures the consistency of transaction data in the blockchain.A fast and safety consensus protocol is the core of researchers’attention,and it is also of great significance for the large-scale application of blockchain in the future to build a value Internet.This thesis expounds the background knowledge and consensus principle of Byzantine Fault Tolerance consensus from the perspective of traditional distribution,and analyzes the two-phase consensus method(PBFT)based on reliable broadcast in the traditional BFT(Byzantine Fault Tolerance)protocol.In PBFT,the normal case communication complexity is(9)~2),and the view-change complexity is(9)~3).High communication complexity has become the main bottleneck for large-scale blockchain applications;the three-phase consensus paradigm(Chained BFT originated from Hot Stuff)Although the complexity of the protocol is reduced to linear and can be applied to large-scale networks,the single-pipe transaction processing method and the commit latency of 7 rounds have become new performance challenges.This thesis analyzes the process of the three-phase consensus in detail,and proposes a multi-pipeline consensus mechanism to further optimize the performance,breaking through the limitations that the network bandwidth and each round of message cannot be fully utilized under a single pipe.The main contributions of this thesis are:(1)For the performance bottleneck of the chained BFT single-pipe consensus of the three-phase consensus,this thesis proposes a multi-pipeline consensus protocol under fine-grained views by dividing the views into finer-grained views.The protocol obtains the complexity advantage(9))of chained BFT,improves the utilization rate of replicas and bandwidth,and ensures the safety of the protocol.(2)For the problem that the three-phase consensus has 7 rounds latency in theory,an optimized multi-pipeline two-stage consensus method is proposed.By reducing one consensus instance,the communication delay is reduced to 5 rounds without significantly increasing the communication complexity level of view-change.Finally,it is proved that the multi-pipeline consensus protocol satisfies safety and liveness.(3)This thesis builds a consensus prototype based on the blockchain system,and implements the single-pipeline and multi-pipeline consensus methods respectively.Through experimental comparison,it is found that the multi-pipeline method is the same as that of the single-pipeline in ensuring the end-to-end commit latency.In the case of,the throughput of the system is significantly improved by 60%;and the performance can also be better than the single-pipe consensus in a large network environment with Byzantine faults. |