Blockchain is a distributed public ledger that keeps track of all transactions that have ever taken place in the system. As a distributed ledger, a consensus mechanism is required to ensure all the transaction functio...Blockchain is a distributed public ledger that keeps track of all transactions that have ever taken place in the system. As a distributed ledger, a consensus mechanism is required to ensure all the transaction functions properly. In order to reach a consensus, it is critical to emphasize the importance of performance and efficiency. The use of the right consensus algorithm will significantly improve the efficiency of a blockchain application. This paper reviewed several types of consensus algorithms used in blockchain and discusses the idea of a new consensus algorithm that can improve the performance of consortium blockchain.展开更多
The PBFT (Practical Byzantine Fault Tolerance, PBFT) consensus algorithm, which addressed the issue of malicious nodes sending error messages to disrupt the system operation in distributed systems, was challenging to ...The PBFT (Practical Byzantine Fault Tolerance, PBFT) consensus algorithm, which addressed the issue of malicious nodes sending error messages to disrupt the system operation in distributed systems, was challenging to support massive network nodes, the common participation over all nodes in the consensus mechanism would lead to increased communication complexity, and the arbitrary selection of master nodes would also lead to inefficient consensus. This paper offered a PBFT consensus method (Role Division-based Practical Byzantine Fault Tolerance, RD-PBFT) to address the above problems based on node role division. First, the nodes in the system voted with each other to divide the high reputation group and low reputation group, and determined the starting reputation value of the nodes. Then, the mobile node in the group was divided into roles according to the high reputation value, and a total of three roles were divided into consensus node, backup node, and supervisory node to reduce the number of nodes involved in the consensus process and reduced the complexity of communication. In addition, an adaptive method was used to select the master nodes in the consensus process, and an integer value was introduced to ensure the unpredictability and equality of the master node selection. Experimentally, it was verified that the algorithm has lower communication complexity and better decentralization characteristics compared with the PBFT consensus algorithm, which improved the efficiency of consensus.展开更多
共识算法是一种用于确保区块链网络中所有节点达成一致的方法,常见的有工作量证明(Proof-of-Work,PoW)和权益证明(Proof of Stake,PoS)等,共识机制的优劣影响着区块链系统的性能。为了解决现有区块链共识算法存在的吞吐量较小、时延较...共识算法是一种用于确保区块链网络中所有节点达成一致的方法,常见的有工作量证明(Proof-of-Work,PoW)和权益证明(Proof of Stake,PoS)等,共识机制的优劣影响着区块链系统的性能。为了解决现有区块链共识算法存在的吞吐量较小、时延较长等问题,对区块链中实用拜占庭容错(PBFT)算法进行改进,引入基于Bayes理论的动态信任模型(Dynamic Trust Model),通过节点信任机制改变节点在共识轮中的信任度,并按照信任度进行分组等操作,在保证PBFT稳定性的同时提高了系统可扩展性,且完善了网络节点的加入退出机制,使得网络可拓展性得到提高。通过实验测试,相比传统PBFT,改进后的算法在吞吐量上有25%的提升,在节点数量达到50的情况下时延只有PBFT的一半,所提方法的这两项指标相比HotStuff算法和Paxos算法也有20%~30%的提升。展开更多
文摘Blockchain is a distributed public ledger that keeps track of all transactions that have ever taken place in the system. As a distributed ledger, a consensus mechanism is required to ensure all the transaction functions properly. In order to reach a consensus, it is critical to emphasize the importance of performance and efficiency. The use of the right consensus algorithm will significantly improve the efficiency of a blockchain application. This paper reviewed several types of consensus algorithms used in blockchain and discusses the idea of a new consensus algorithm that can improve the performance of consortium blockchain.
文摘The PBFT (Practical Byzantine Fault Tolerance, PBFT) consensus algorithm, which addressed the issue of malicious nodes sending error messages to disrupt the system operation in distributed systems, was challenging to support massive network nodes, the common participation over all nodes in the consensus mechanism would lead to increased communication complexity, and the arbitrary selection of master nodes would also lead to inefficient consensus. This paper offered a PBFT consensus method (Role Division-based Practical Byzantine Fault Tolerance, RD-PBFT) to address the above problems based on node role division. First, the nodes in the system voted with each other to divide the high reputation group and low reputation group, and determined the starting reputation value of the nodes. Then, the mobile node in the group was divided into roles according to the high reputation value, and a total of three roles were divided into consensus node, backup node, and supervisory node to reduce the number of nodes involved in the consensus process and reduced the complexity of communication. In addition, an adaptive method was used to select the master nodes in the consensus process, and an integer value was introduced to ensure the unpredictability and equality of the master node selection. Experimentally, it was verified that the algorithm has lower communication complexity and better decentralization characteristics compared with the PBFT consensus algorithm, which improved the efficiency of consensus.
文摘共识算法是一种用于确保区块链网络中所有节点达成一致的方法,常见的有工作量证明(Proof-of-Work,PoW)和权益证明(Proof of Stake,PoS)等,共识机制的优劣影响着区块链系统的性能。为了解决现有区块链共识算法存在的吞吐量较小、时延较长等问题,对区块链中实用拜占庭容错(PBFT)算法进行改进,引入基于Bayes理论的动态信任模型(Dynamic Trust Model),通过节点信任机制改变节点在共识轮中的信任度,并按照信任度进行分组等操作,在保证PBFT稳定性的同时提高了系统可扩展性,且完善了网络节点的加入退出机制,使得网络可拓展性得到提高。通过实验测试,相比传统PBFT,改进后的算法在吞吐量上有25%的提升,在节点数量达到50的情况下时延只有PBFT的一半,所提方法的这两项指标相比HotStuff算法和Paxos算法也有20%~30%的提升。