CN115086349A - Efficient block chain consensus algorithm based on assembly line - Google Patents
Efficient block chain consensus algorithm based on assembly line Download PDFInfo
- 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
Links
- 238000012795 verification Methods 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 10
- 230000008520 organization Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 239000002243 precursor Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010587 phase diagram Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic 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
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.
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)
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 |
-
2022
- 2022-06-10 CN CN202210657660.1A patent/CN115086349A/en active Pending
Patent Citations (4)
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 |