CN115086349A - Efficient block chain consensus algorithm based on assembly line - Google Patents

Efficient block chain consensus algorithm based on assembly line Download PDF

Info

Publication number
CN115086349A
CN115086349A CN202210657660.1A CN202210657660A CN115086349A CN 115086349 A CN115086349 A CN 115086349A CN 202210657660 A CN202210657660 A CN 202210657660A CN 115086349 A CN115086349 A CN 115086349A
Authority
CN
China
Prior art keywords
consensus algorithm
transaction
committee
pipeline
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210657660.1A
Other languages
Chinese (zh)
Inventor
刘扬
刘鑫磊
王耀启
曹浩浩
李向阳
陈静雯
彭松
贺金龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan University of Technology
Original Assignee
Henan University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Henan University of Technology filed Critical Henan University of Technology
Priority to CN202210657660.1A priority Critical patent/CN115086349A/en
Publication of CN115086349A publication Critical patent/CN115086349A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

A high-efficiency block chain consensus algorithm based on a production line is based on a Byzantine fault-tolerant consensus algorithm, two consensus submission stages, namely a committee selection stage and a voting stage, are adopted, a production line parallel execution mode is adopted, and a leaderless mode and a random selection mode are adopted to optimize the block chain consensus algorithm. The invention provides a leader-free pipeline BFT consensus algorithm through a pipeline parallel execution mode. Consensus is achieved after voting of the two phases, and parallel execution and verification are achieved. The transaction execution efficiency and throughput of the conventional BFT type consensus algorithm are further improved, and consensus failure caused by low efficiency of the consensus algorithm when mass transactions occur is avoided, so that a block chain system achieves consensus.

Description

Efficient block chain consensus algorithm based on assembly line
Technical Field
The invention relates to the technical field of block chain consensus algorithm, in particular to a high-efficiency block chain consensus algorithm based on a production line.
Background
With the continuous development of computer technology, the block chain technology gradually matures, and has been widely applied to our daily life from the well-known Bizhou to the current block chain finance. The consensus algorithm, as an important component of the blockchain technique, determines the block output rate and the accuracy of the system, and plays a key role in the blockchain technique. In recent years, the problem of the general of the byzantine, which is how to avoid the influence of malicious nodes and automatically and safely execute operations when some malicious nodes exist, is favored by more and more researchers in the field of consensus algorithms. The traditional PBFT consensus algorithm has high communication cost, low consensus rate, poor node dynamic change capability, high algorithm efficiency in a small-scale cluster and general performance in a large-scale cluster, and cannot meet the requirements of users. Therefore, researchers optimize and improve the algorithm from different angles, improve the execution speed of the algorithm and reduce the communication cost of the algorithm.
Currently, researches on the byzantine consensus algorithm mainly improve the efficiency of the algorithm by reducing the number of nodes and reducing the number of communications, such as: a third-party trusted mechanism, an optimized algorithm communication structure and the like are added. The traditional BFT type consensus algorithm uses 3f +1 nodes to participate in voting to tolerate f Byzantine type nodes, in order to prevent the master node from being malignant, the algorithm adopts three-stage consensus, and the consensus is completed through three times of information interaction, so that the execution efficiency is reduced to a certain extent, and meanwhile, the complexity of the system is improved.
Disclosure of Invention
The invention aims to solve the problems of low execution efficiency, limited throughput and waste of computing resources of a block chain consensus algorithm in the prior art, and provides a high-efficiency block chain consensus algorithm based on a production line.
In order to achieve the purpose, the invention provides the following technical scheme: a high-efficiency block chain consensus algorithm based on a production line is based on a Byzantine fault-tolerant consensus algorithm, two consensus submission stages, namely a committee selection stage and a voting stage, are adopted, a production line parallel execution mode is adopted, and a leaderless mode and a random selection mode are adopted to optimize the block chain consensus algorithm.
Preferably, in the committee selection stage, when a user initiates a transaction, random seeds are generated according to transaction contents, timestamps and views corresponding to messages, committee division is performed according to the random seeds, forwarding and voting of the messages are performed in the committee, and whether the messages are submitted or not is determined according to the collected votes; in the voting stage, each node in the committee collects the voting number, determines whether to submit the message according to the voting number, broadcasts the message if the message is submitted, and performs message synchronization operation after the common node receives the message.
Preferably, in the committee selection stage, no leader node exists in the committee, and the nodes acquire information and vote through mutual communication.
Preferably, the committee selection stage employs a ring network topology.
Preferably, in the voting stage, the execution organization performs parallel execution of the group transaction verification, and adopts heterogeneous execution or homogeneous execution; when the verification node verifies the transaction execution condition, isomorphic verification or heterogeneous verification is adopted.
Preferably, the method specifically comprises the following steps:
1) when a user initiates a transaction, a client side carries out full broadcasting, all nodes store a message backup and share a message transaction pool;
2) carrying out hash operation on each node according to the transaction content, the timestamp and the view information corresponding to the message, randomly selecting committee nodes, and dividing different nodes into different committees according to different calculation results;
3) different committees perform transaction requests and perform execution and verification of committee selection stages;
4) executing and verifying different transaction requests in a voting stage, adopting a parallel execution architecture, and broadcasting verification information in all nodes after verification is passed;
5) and the node which collects the appointed ticket number feeds back the transaction request to the client.
Preferably, different committees in the step 3) process different transaction requests, and a leaderless mode is adopted in an organization.
Preferably, the transaction execution and verification performed by different transaction requests in the step 4) are executed in parallel in a pipeline form.
The invention has the following beneficial effects:
the algorithm is based on a pipeline thought, different rounds of block output requests are distributed to different committees for processing, parallel execution modes are adopted among the committees, the pipelined execution is achieved, the execution efficiency is improved, the time of transaction verification block output is shortened, and therefore the system throughput is greatly improved.
And secondly, the algorithm adopts a leader-free model, so that the communication pressure of the main node is reduced, the single-point fault of the main node is prevented, the communication overhead caused by view switching is avoided, and the reliability of the algorithm is improved.
And thirdly, selecting by adopting a random mode, and broadcasting and voting in the committee through nodes to avoid block node monopoly, thereby improving the fairness of the algorithm.
And fourthly, the algorithm reduces the Byzantine fault-tolerant consensus from three stages to two stages, reduces communication overhead and improves consensus efficiency.
Drawings
FIG. 1 is a schematic diagram of a phase of block chain consensus algorithm execution;
FIG. 2 is a flow chart of a serial execution of the block consensus algorithm;
FIG. 3 is a block chain consensus algorithm committee selection phase diagram;
FIG. 4 is a schematic diagram of a block chain consensus algorithm node random seed generation algorithm;
FIG. 5 is a flow chart of parallel execution of the blockchain consensus algorithm;
FIG. 6 is a schematic diagram of a ring topology structure of a node of a blockchain consensus algorithm;
FIG. 7 is a schematic diagram of adding nodes in dynamic change of a node of a blockchain consensus algorithm;
fig. 8 is a schematic diagram of deleting nodes in dynamic change of the node of the blockchain consensus algorithm.
Detailed Description
The following detailed description of the preferred embodiments will be made with reference to the accompanying drawings.
A high-efficiency block chain consensus algorithm based on a production line is based on a Byzantine fault-tolerant consensus algorithm, two consensus submission stages, namely a committee selection stage and a voting stage, are adopted, a production line parallel execution mode is adopted, and a leaderless mode and a random selection mode are adopted to optimize the block chain consensus algorithm.
The invention is different from the serial execution mode of a leader of the existing BFT type consensus algorithm, and provides a leader-free pipelined BFT consensus algorithm through a pipeline parallel execution mode. Consensus is achieved after voting of the two phases, and parallel execution and verification are achieved. The transaction execution efficiency and throughput of the conventional BFT type consensus algorithm are further improved, and consensus failure caused by low efficiency of the consensus algorithm when mass transactions occur is avoided, so that a block chain system achieves consensus.
As shown in fig. 1, the execution flow of the entire consensus algorithm includes two stages, namely a committee selection stage and a voting stage.
In the committee selection stage, when a user initiates a transaction, random seeds are generated according to transaction contents, timestamps and views corresponding to messages, committee division is performed according to the random seeds, forwarding and voting of the messages are performed in the committee, and whether the messages are submitted or not is determined according to the collected votes. In the committee selection stage, no leader node exists in the committee, and the nodes acquire information and vote through mutual communication.
The committee selection stage adopts a ring network topology structure, and the number of nodes can be dynamically adjusted. For any node, a precursor node and a successor node are provided, the nodes have certain relevance to form a ring structure, and for the addition of any node, only the precursor node and the successor node of the two nodes need to be updated. If the node exits, only the predecessor and successor identifications of the node need to be changed.
As shown in fig. 6, each node stores information of a front node and a back node, and for any node, information of two nodes adjacent to the node can be found. A ring topology structure is formed among the nodes, and the nodes can have certain relevance through the ring topology structure.
As shown in fig. 7 and 8. For deleting operation and adding operation of the nodes, only the information of the front nodes and the back nodes of the deleting points or the front nodes and the back nodes of the adding points are needed to be modified, so that the algorithm has certain expansibility.
In the voting stage, each node in the committee collects the voting number, determines whether to submit the message according to the voting number, broadcasts the message if the message is submitted, and performs message synchronization operation after the common node receives the message. In the voting stage, executing the parallel execution of the group transaction verification by the execution organization, and adopting heterogeneous execution or homogeneous execution; when the verification node verifies the transaction execution condition, isomorphic verification or heterogeneous verification is adopted.
An efficient block chain consensus algorithm based on a production line specifically comprises the following steps:
1) when a user initiates a transaction, the client performs full broadcasting, all nodes store a message backup and share a message transaction pool.
As shown in fig. 2, the client broadcasts the message in full in the request phase, and the node puts the message broadcasted by the client into a self-generated resource buffer pool for the execution and verification process of the message. If the serial execution mode is adopted, the consensus time is increased, the consensus efficiency is reduced, and therefore the pipeline parallel execution mode is adopted.
2) And carrying out hash operation on each node according to the transaction content, the timestamp and the view information corresponding to the message, randomly selecting the committee nodes, wherein the committee nodes have certain randomness in selection, and can reduce the worries of the Byzantine nodes and the monopoly of the block-out nodes. And classifying different nodes to different committees according to different calculation results, and selecting random nodes according to transaction contents, timestamps and view information corresponding to the messages.
The nodes perform hash calculation according to the message content, the timestamp and the view information corresponding to the message, as shown in fig. 4, calculate a random seed, and divide different nodes into different organizations according to the random seed, such as committee 1 and committee 2 … committee n in fig. 2. The random selection and the secp256k1 encryption algorithm can be adopted to improve the fairness of the algorithm, and the secp256k1 encryption algorithm specifically adopts the existing public encryption algorithm.
3) Different committees perform transaction requests to perform execution and verification of the committee selection stage, different committees process different transaction requests, and a leaderless mode is adopted in an organization, so that the communication pressure of the main node is reduced, the single-point failure of the main node is prevented, the communication overhead caused by view switching is avoided, and the reliability of the algorithm is improved.
As shown in fig. 3, the messages are broadcast to each other in the committee, in the process of broadcasting to each other, the organization nodes do not have the concept of master nodes, the rights and obligations of the nodes are the same, that is, in a leaderless mode, and when the collection verification of the nodes is more than f votes, the messages are considered to be available for submission operation.
4) The different transaction requests are executed and verified in the voting stage, a parallel execution architecture is adopted, verification information is broadcasted in all nodes after verification is passed, and the transaction execution and verification of the different transaction requests are executed in a pipeline form in parallel, so that the execution efficiency of the algorithm is improved.
When different transaction requests arrive at the same time, as shown in fig. 5, the node calculates according to the timestamps and views of different request messages, and calculates the organization corresponding to the message request. And different messages of the execution architecture of the pipeline are distributed to different committees for processing, so that the waiting time is reduced, and the efficiency is improved.
5) And the node which collects the appointed ticket number feeds back the transaction request to the client.
The invention realizes the pipeline consensus algorithm in the leader-free mode, and completes the execution and verification of the data through two-stage broadcast voting. And the execution architecture in a pipeline form is adopted, so that the execution efficiency of the algorithm is improved, and the execution time is reduced. The dynamic change process of the nodes is completed through the ring-shaped node topological structure, and the execution efficiency, the expandability and the throughput of the consensus algorithm are improved.
Although the present invention has been described with reference to the preferred embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the present invention.

Claims (8)

1. An efficient block chain consensus algorithm based on a pipeline is characterized in that: based on the Byzantine fault-tolerant consensus algorithm, the block chain consensus algorithm is optimized by a committee selection stage and a voting stage through a pipeline parallel execution mode and a leaderless mode and a random selection mode.
2. The pipeline-based efficient blockchain consensus algorithm of claim 1, wherein:
in the committee selection stage, when a user initiates a transaction, generating random seeds according to transaction contents, timestamps and view information corresponding to messages, carrying out committee division according to the random seeds, forwarding and voting the messages in the committee, and determining whether to submit the messages according to the number of collected votes;
in the voting stage, each node in the committee collects the voting number, whether to submit the message is determined according to the voting number, if so, the message is broadcasted, and the common node performs message synchronization operation after receiving the message.
3. The pipeline-based efficient blockchain consensus algorithm of claim 2, wherein: in the committee selection stage, no leader node exists in the committee, and the nodes acquire information and vote through mutual communication.
4. The pipeline-based efficient blockchain consensus algorithm of claim 2, wherein: the committee selection stage employs a ring network topology.
5. The pipeline-based efficient blockchain consensus algorithm of claim 2, wherein: in the voting stage, executing parallel execution of transaction verification in the group by an executing organization, and executing in a heterogeneous mode or a homogeneous mode; when the verification node verifies the transaction execution condition, isomorphic verification or heterogeneous verification is adopted.
6. The pipeline-based efficient blockchain consensus algorithm of claim 1, wherein: the method specifically comprises the following steps:
1) when a user initiates a transaction, a client side carries out full broadcasting, all nodes store a message backup and share a message transaction pool;
2) carrying out hash operation on each node according to the transaction content, the timestamp and the view information corresponding to the message, randomly selecting committee nodes, and dividing different nodes into different committees according to different calculation results;
3) different committees perform transaction requests and perform execution and verification of committee selection stages;
4) executing and verifying different transaction requests in a voting stage, adopting a parallel execution architecture, and broadcasting verification information in all nodes after verification is passed;
5) and the node which collects the appointed ticket number feeds back the transaction request to the client.
7. The pipeline-based efficient blockchain consensus algorithm of claim 6, wherein: different committees process different transaction requests in the step 3), and a leaderless mode is adopted in an organization.
8. The pipeline-based efficient blockchain consensus algorithm of claim 6, wherein: in the step 4), the transaction execution and the verification of different transaction requests are executed in parallel in a pipeline mode.
CN202210657660.1A 2022-06-10 2022-06-10 Efficient block chain consensus algorithm based on assembly line Pending CN115086349A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210657660.1A CN115086349A (en) 2022-06-10 2022-06-10 Efficient block chain consensus algorithm based on assembly line

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210657660.1A CN115086349A (en) 2022-06-10 2022-06-10 Efficient block chain consensus algorithm based on assembly line

Publications (1)

Publication Number Publication Date
CN115086349A true CN115086349A (en) 2022-09-20

Family

ID=83252252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210657660.1A Pending CN115086349A (en) 2022-06-10 2022-06-10 Efficient block chain consensus algorithm based on assembly line

Country Status (1)

Country Link
CN (1) CN115086349A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139871A (en) * 2021-05-07 2021-07-20 新晨科技股份有限公司 Adaptive consensus on block chain method, apparatus and computer readable storage medium
CN113283892A (en) * 2021-05-26 2021-08-20 北京航空航天大学 PoSearch and PBFT fusion consensus algorithm based on voting mechanism
CN114157672A (en) * 2021-11-29 2022-03-08 北京航空航天大学 S-PBFT simplified consensus protocol operation and parallel optimization method based on PBFT
CN114520812A (en) * 2021-08-16 2022-05-20 西安电子科技大学 Storage rotation method, system, equipment and application for block chain fragmentation system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139871A (en) * 2021-05-07 2021-07-20 新晨科技股份有限公司 Adaptive consensus on block chain method, apparatus and computer readable storage medium
CN113283892A (en) * 2021-05-26 2021-08-20 北京航空航天大学 PoSearch and PBFT fusion consensus algorithm based on voting mechanism
CN114520812A (en) * 2021-08-16 2022-05-20 西安电子科技大学 Storage rotation method, system, equipment and application for block chain fragmentation system
CN114157672A (en) * 2021-11-29 2022-03-08 北京航空航天大学 S-PBFT simplified consensus protocol operation and parallel optimization method based on PBFT

Similar Documents

Publication Publication Date Title
CN109246194B (en) Practical Byzantine fault-tolerant block chain consensus method and system based on multiple leader nodes
Manfrin et al. Parallel ant colony optimization for the traveling salesman problem
Cao et al. Mutable checkpoints: a new checkpointing approach for mobile computing systems
Aguilera et al. Efficient atomic broadcast using deterministic merge
Brenna et al. Distributed event stream processing with non-deterministic finite automata
US11036760B2 (en) Method for parallel maintenance of data consistency
Weng et al. Efficient distributed approaches to core maintenance on large dynamic graphs
CN111478795B (en) Alliance block chain network consensus method based on mixed Byzantine fault tolerance
CN113973021B (en) Network transmission optimization device and method for image block chain
Malik et al. Optimistic synchronization of parallel simulations in cloud computing environments
Luo et al. Adapt: An event-based adaptive collective communication framework
Zhao et al. Blockchain and distributed system
He et al. An improvement of consensus fault tolerant algorithm applied to alliance chain
Kanwal et al. A genetic based leader election algorithm for IoT cloud data processing
Luo et al. Hope: A hybrid optimistic checkpointing and selective pessimistic message logging protocol for large scale distributed systems
CN115086349A (en) Efficient block chain consensus algorithm based on assembly line
Zhang Asynchronous decentralized consensus ADMM for distributed machine learning
Dai et al. Lightdag: A low-latency dag-based bft consensus through lightweight broadcast
Fang et al. Design and evaluation of a pub/sub service in the cloud
CN116582239A (en) Block chain slicing method, block chain system and cross-slice transaction processing method
CN115408122A (en) Decentralized distributed parallel computing framework and computing method
CN115174090A (en) Block chain consensus method and device
CN110597809B (en) Consistency algorithm system supporting tree-like data structure and implementation method thereof
Ross et al. Experimental comparison of bidding and drafting load sharing protocols
Zhu et al. A full distributed web crawler based on structured network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination