CN113888164A - Block chain transaction pool implementation method and device, computer equipment and storage medium - Google Patents

Block chain transaction pool implementation method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN113888164A
CN113888164A CN202111166432.6A CN202111166432A CN113888164A CN 113888164 A CN113888164 A CN 113888164A CN 202111166432 A CN202111166432 A CN 202111166432A CN 113888164 A CN113888164 A CN 113888164A
Authority
CN
China
Prior art keywords
transaction
block
nodes
arbitration
certificate
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
CN202111166432.6A
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.)
Hangzhou Qulian Technology Co Ltd
Shanghai Pudong Development Bank Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Shanghai Pudong Development Bank Co Ltd
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 Hangzhou Qulian Technology Co Ltd, Shanghai Pudong Development Bank Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202111166432.6A priority Critical patent/CN113888164A/en
Publication of CN113888164A publication Critical patent/CN113888164A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/42Confirmation, e.g. check or permission by the legal debtor of payment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

The application relates to a method and a device for realizing a blockchain transaction pool, computer equipment and a storage medium. The method comprises the following steps: receiving transaction data, and generating a transaction block containing summary information and transaction attribute information of the transaction data; broadcasting the transaction block to other consensus nodes in the block chain system, and indicating the other consensus nodes to verify the transaction block; receiving transaction block confirmation information fed back by other consensus nodes, and generating an arbitration certificate containing the transaction block confirmation information; and broadcasting the arbitration certificate to other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the transaction validity proving process of the current round until the number of the received arbitration certificates reaches a preset number, determining that the transaction validity proving of the current round is finished in the blockchain system, and triggering to enter the generating process of the next round of transaction blocks. By adopting the method, the bandwidth of the consensus node and the pressure of memory consumption are reduced, and the transaction consensus efficiency is improved.

Description

Block chain transaction pool implementation method and device, computer equipment and storage medium
Technical Field
The present application relates to the field of network communication technologies, and in particular, to a method and an apparatus for implementing a blockchain transaction pool, a computer device, and a storage medium.
Background
In the blockchain system, a consensus node main node packs transaction data received from a client into a transaction blockchain, and initiates a transaction consensus proposal, so that other consensus nodes except the consensus node main node in the blockchain system verify the transaction data to complete transaction consensus.
In the conventional transaction consensus method, after receiving a transaction block broadcasted by a consensus master node, other consensus nodes acquire corresponding transaction data in a local transaction pool according to transaction information contained in the transaction block, and verify the transaction data to complete transaction consensus of the transaction data among the consensus nodes.
However, in the conventional transaction consensus method, the transaction consensus proposal needs to be initiated by the unique consensus main node, and if the transaction data is missing in the transaction pools of other consensus nodes in the transaction consensus process, the other consensus nodes also need to pull the transaction data to the unique consensus main node again. The method depends on the consensus main node seriously, so that the bandwidth pressure of the consensus main node is large, and the consensus efficiency is low.
Disclosure of Invention
In view of the above, it is necessary to provide a method, an apparatus, a computer device and a storage medium for implementing a blockchain transaction pool.
A blockchain transaction pool implementation method is applied to any consensus node of a blockchain system, and comprises the following steps:
receiving transaction data, and generating a transaction block containing summary information and transaction attribute information of the transaction data;
broadcasting the transaction block to other consensus nodes in the blockchain system, instructing the other consensus nodes to verify the transaction block;
receiving transaction block confirmation information fed back by the other consensus nodes, and generating an arbitration certificate containing the transaction block confirmation information;
and broadcasting the arbitration certificate to other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the transaction validity proving process of the current round, determining that the transaction validity proving of the current round in the blockchain system is finished when the number of the received arbitration certificates reaches a preset number, and triggering to enter the generating process of the next round of transaction blocks.
In one embodiment, the receiving transaction data and generating a transaction block containing summary information and transaction attribute information of the transaction data includes:
receiving transaction data sent from a client, and storing the transaction data into a local transaction pool in batches;
reading the transaction attribute information of the current transaction round stored in advance and the transaction abstract of the transaction data in the local transaction pool, and generating a transaction block containing the transaction abstract and the transaction attribute information.
In one embodiment, the receiving transaction block confirmation information fed back by the other consensus node and generating an arbitration certificate containing the transaction block confirmation information includes:
receiving transaction confirmation information, wherein each transaction confirmation information is a signature message fed back by the other consensus nodes after the transaction block passes verification;
when the number of the received transaction confirmation information meets a preset number threshold, generating an arbitration certificate containing the preset number of the transaction confirmation information.
In one embodiment, the preset number threshold is determined by the total number of the common identification nodes and the number of the malicious nodes included in the blockchain system according to a preset attribute relationship; and the malicious node is a node with malicious attack behaviors in the consensus node.
In one embodiment, the method further comprises:
receiving transaction blocks to be verified sent by other transaction block creation nodes; the other transaction block creation nodes are other common nodes for creating transaction blocks in the blockchain system;
determining the validity of the transaction block according to a preset validity check rule;
if the transaction block is valid, reading transaction information contained in a transaction summary list in the transaction block, acquiring transaction data corresponding to the transaction information in a local transaction pool, and verifying the transaction data;
and when the transaction data passes verification, feeding back transaction confirmation information to the other transaction block creation nodes, wherein the transaction confirmation information is a signature message.
In one embodiment, the determining the validity of the transaction block according to a preset validity check rule includes:
reading the transaction attribute information in the transaction block, and judging the consistency of the transaction round times in the transaction attribute information and the current transaction round times;
identifying whether the transaction attribute information carries signature information of the other transaction block creation nodes and an arbitration certificate of the previous round or not;
judging whether the transaction block is the first transaction block of the current transaction turn;
and if the transaction round number is consistent with the current transaction round, the transaction attribute information carries signature information of other transaction block creation nodes and the previous round arbitration certificate, and the transaction block is the first transaction block of the current transaction round, determining that the transaction block is valid.
In one embodiment, before the obtaining of the transaction data corresponding to the transaction information in the local transaction pool, the method further includes:
identifying transaction data corresponding to the transaction information in a local transaction pool according to the transaction information;
if the transaction data corresponding to the transaction information is not identified in the local transaction pool, determining the transaction data as missing transaction data;
sending a missing transaction data request to the other transaction block creation nodes or other verification nodes to obtain the missing transaction data from the transaction pools of the other transaction block creation nodes or the other verification nodes; the other verification nodes are consensus nodes which pass the verification of the transaction block.
In one embodiment, when the consensus node is determined to be a consensus protocol master node in the blockchain system, the method further comprises:
acquiring a target arbitration certificate, wherein the target arbitration certificate is an arbitration certificate with the highest transaction turn number stored locally;
broadcasting the target arbitration certificate to the other consensus nodes, and instructing the other consensus nodes to verify the target arbitration certificate;
and if the arbitration certificate confirmation information fed back by the other consensus nodes with the preset number is received, generating a transaction block from the transaction lists in all transaction blocks corresponding to the target arbitration certificate, and submitting the transaction block to the block chain system.
In one embodiment, the generating a transaction block from the transaction lists in all transaction blocks corresponding to the target arbitration certificate and submitting the transaction block to the blockchain system includes:
acquiring a transaction reference relation contained in the arbitration certificate, and identifying a transaction block in the reference relation and a historical transaction block in a historical validity proving process corresponding to the transaction block;
and according to the transaction information in the transaction lists contained in the transaction blocks and the historical transaction blocks, performing de-reordering processing to obtain a transaction total list with a unique ordering standard, and submitting the transaction total list to the blockchain system as a transaction block.
A blockchain transaction pool implementing apparatus, the apparatus comprising:
the first receiving module is used for receiving transaction data and generating a transaction block containing summary information and transaction attribute information of the transaction data;
a broadcast module, configured to broadcast the transaction block to other consensus nodes in the blockchain system, and instruct the other consensus nodes to verify the transaction block;
the second receiving module is used for receiving the transaction block confirmation information fed back by the other consensus nodes and generating an arbitration certificate containing the transaction block confirmation information;
and the generation module is used for broadcasting the arbitration certificate to the other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the current round of transaction process, determining that the validity certification of the current round of transaction in the block chain system is finished when the number of the received arbitration certificates reaches a preset number, and triggering to enter the generation process of the next round of transaction block.
A computer device comprising a memory and a processor, the memory storing a computer program, the processor implementing the following steps when executing the computer program:
receiving transaction data, and generating a transaction block containing summary information and transaction attribute information of the transaction data;
broadcasting the transaction block to other consensus nodes in the blockchain system, instructing the other consensus nodes to verify the transaction block;
receiving transaction block confirmation information fed back by the other consensus nodes, and generating an arbitration certificate containing the transaction block confirmation information;
and broadcasting the arbitration certificate to other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the transaction validity proving process of the current round, determining that the transaction validity proving of the current round in the blockchain system is finished when the number of the received arbitration certificates reaches a preset number, and triggering to enter the generating process of the next round of transaction blocks.
A computer-readable storage medium, on which a computer program is stored which, when executed by a processor, carries out the steps of:
receiving transaction data, and generating a transaction block containing summary information and transaction attribute information of the transaction data;
broadcasting the transaction block to other consensus nodes in the blockchain system, instructing the other consensus nodes to verify the transaction block;
receiving transaction block confirmation information fed back by the other consensus nodes, and generating an arbitration certificate containing the transaction block confirmation information;
and broadcasting the arbitration certificate to other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the transaction validity proving process of the current round, determining that the transaction validity proving of the current round in the blockchain system is finished when the number of the received arbitration certificates reaches a preset number, and triggering to enter the generating process of the next round of transaction blocks.
The method, apparatus, computer device and storage medium for implementing the blockchain transaction pool are applied to any consensus node of a blockchain system, which is called a transaction block creation node, and the method includes: receiving transaction data, and generating a transaction block containing summary information and transaction attribute information of the transaction data; broadcasting the transaction block to other consensus nodes in the blockchain system, instructing the other consensus nodes to verify the transaction block; receiving transaction block confirmation information fed back by the other consensus nodes, and generating an arbitration certificate containing the transaction block confirmation information; and broadcasting the arbitration certificate to other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the transaction validity proving process of the current round, determining that the transaction validity proving of the current round in the blockchain system is finished when the number of the received arbitration certificates reaches a preset number, and triggering to enter the generating process of the next round of transaction blocks. By adopting the method, any consensus node in the blockchain system can create a transaction block and initiate a transaction validity proof proposal, and after the proposal, the validity proof of transaction data is realized by generating an arbitration certificate containing signature information of other consensus nodes, so that the pressure of node bandwidth and memory consumption in the blockchain system is reduced, and the transaction consensus efficiency is improved.
Drawings
FIG. 1 is a diagram of an exemplary implementation of a blockchain transaction pool;
FIG. 2 is a flow diagram illustrating a method for implementing a blockchain transaction pool in one embodiment;
FIG. 3 is a block diagram that illustrates transaction blocks generated by the consensus node for each transaction turn, according to an embodiment;
FIG. 4 is a schematic flow chart diagram illustrating the steps in generating a transaction block in one embodiment;
FIG. 5 is a flowchart illustrating the step of generating an arbitration certificate in one embodiment;
FIG. 6 is a schematic flow chart diagram illustrating the steps for validating a transaction block in one embodiment;
FIG. 7 is a schematic flow chart diagram illustrating the validation of transaction blocks step in one embodiment;
FIG. 8 is a flow diagram that illustrates the transaction synchronization steps in the transaction block validation process in one embodiment;
FIG. 9 is a flowchart illustrating the arbitration certificate consensus step in one embodiment;
FIG. 10 is a flowchart illustrating the arbitration certificate validation step in one embodiment;
FIG. 11 is a diagram that illustrates the overall transaction blocks on the arbitration certificate reference path in one embodiment;
FIG. 12 is a block diagram of an apparatus for implementing blockchain transaction pools in one embodiment;
FIG. 13 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The method for implementing the blockchain transaction pool provided by the present application can be applied to any common node (e.g., common node 102) of the blockchain system 100 shown in fig. 1. Wherein, the common nodes in the block chain system communicate with each other through the network. The consensus node 102 receives the transaction data sent by the client and generates a transaction block containing summary information and transaction attribute information of the transaction data. The consensus node 102 then broadcasts the transaction block to the other consensus nodes 104 in the blockchain system, instructing the other consensus nodes 104 to validate the transaction block. And receiving the transaction block confirmation information fed back by the other consensus nodes 104, and generating an arbitration certificate containing the transaction block confirmation information. Finally, the consensus node 102 broadcasts the arbitration certificate to the other consensus nodes 104, and receives the arbitration certificate generated by the other consensus nodes 104 in the transaction validity proving process of the current round, and determines that the transaction validity proving of the current round in the blockchain system is finished when the number of the received arbitration certificates reaches a preset number, and then triggers the generation process of the next round of transaction blocks.
The common node in the blockchain system may be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, and the like, and may also be an independent server or a server cluster formed by a plurality of servers, which is not limited in the embodiments of the present application.
In one embodiment, as shown in fig. 2, a method for implementing a blockchain transaction pool is provided, which is described by taking the method as an example of being applied to any common node in a blockchain system, and includes the following steps:
step 202, receiving transaction data, and generating a transaction block containing summary information and transaction attribute information of the transaction data.
Specifically, the blockchain system comprises a plurality of consensus nodes, and each consensus node can perform validity certification and verification on transaction data. Therefore, in the blockchain system, any one of the consensus nodes can initiate a transaction validity proof proposal based on the transaction data in the local transaction pool.
In implementation, each consensus node in the blockchain system receives transaction data sent by a respective client, and then the transaction data is transmitted among the consensus nodes through network communication to achieve initial synchronization of the transaction data in the transaction pool of each consensus node. For example, after receiving the transaction data sent by the client, each consensus node stores the transaction data into a local transaction pool, and sends the transaction data to other consensus nodes in a broadcast manner, so as to complete initial synchronization of the transaction data.
Then, based on the transaction data after the initial synchronization, any one of the consensus nodes in the blockchain system raises a transaction validity proof proposal according to the transaction data in the local transaction pool, namely, generates a transaction block containing summary information and transaction attribute information of the transaction data in the local transaction pool. As shown in fig. 3, the data structure of the transaction block includes transaction attribute information, which may include, but is not limited to: the transaction block creator signature S, the current transaction round number r, the transaction list of the transaction block and the arbitration certificate list of the previous round. To further reduce bandwidth, only a transaction hash digest (simply transaction digest) is included in the transaction list of the transaction block. In fig. 3, transaction blocks created by the consensus nodes a, b, c, and d in the r-1, r, and r +1 rounds respectively are the transaction blocks, and only one transaction block is created by the non-malicious consensus nodes in each round of transaction validity certification proposals.
Optionally, each consensus node is not limited to a resource of a single computer, and multiple working nodes may be enabled to receive transaction data from a client, so that each consensus node may be further divided into multiple working nodes, where the multiple working nodes enabled by one consensus node include a working master node and other working nodes, based on which, when the multiple working nodes of the consensus node receive the transaction data, the transaction data may be separated into metadata and transaction value data, the working master node in the consensus node is responsible for receiving metadata blocks submitted by other working nodes and packaging the metadata blocks into transaction metadata blocks, and broadcasting the transaction metadata blocks to other consensus nodes in the block chain, and the working master node in the multiple working nodes in the other consensus nodes is responsible for receiving the transaction metadata blocks to synchronize the transaction metadata blocks.
When the work main nodes of other consensus nodes lack related transaction data (metadata and transaction value data), the work main nodes in the consensus nodes instruct other work nodes to pull complete transaction data from the work nodes of the transaction block creator through the synchronized transaction metadata blocks.
By adopting the method, the transaction data is ensured to be distributed in the working nodes of each consensus node in a balanced manner through a mechanism responsible for balancing, and the bandwidth of the working master node in each consensus node and the consumption of the memory are further reduced.
Step 204, the transaction block is broadcasted to other consensus nodes in the blockchain system, and the other consensus nodes are instructed to verify the transaction block.
In an implementation, the consensus node (which may be referred to as consensus node a for convenience of description) that creates the transaction block broadcasts the transaction block to other consensus nodes in the blockchain system, instructing the other consensus nodes to perform transaction verification on the transaction block to complete transaction block validity proof based on the transaction pool protocol.
And step 206, receiving the transaction block confirmation information fed back by other consensus nodes, and generating an arbitration certificate containing the transaction block confirmation information.
Wherein the transaction block acknowledgement information may be, but is not limited to, a signed message for other consensus nodes.
In implementation, other consensus nodes in the blockchain system verify the transaction blocks sent by the consensus node a, and after the verification is passed, the consensus node a feeds back transaction block confirmation information to the consensus node a, and after the consensus node a receives the target number of transaction block confirmation information, the consensus node a generates an arbitration certificate (also called a Quorum Cert, QC certificate) containing the transaction block confirmation information.
And 208, broadcasting the arbitration certificate to other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the transaction validity proving process of the current round, determining that the transaction validity proving of the current round is finished in the blockchain system when the number of the received arbitration certificates reaches a preset number, and triggering to enter the generating process of the next round of transaction blocks.
In implementation, the consensus node a broadcasts the arbitration certificate to other consensus nodes, so that the global network blockchain performs global validity proof on the validity proof result of the transaction block pointed by the arbitration certificate. Meanwhile, any common identification node in the blockchain system can initiate a transaction block validity proof proposal, so that under the same transaction validity proof turn, other common identification nodes except the common identification node A in the blockchain system of the whole network also initiate the transaction block validity proof proposal, further generate a corresponding arbitration certificate, and perform whole-network broadcasting. Therefore, the common identification node A receives the arbitration certificates from other common identification nodes in the current round, and when the number of the received arbitration certificates reaches a preset number (quorum), the common identification node A indicates that most common identification nodes in the block chain system of the whole network complete the validity certification of the current round of transaction, and the common identification node A determines that the validity certification of the current round of transaction is finished, and triggers the generation process of the next round of transaction block.
In the block chain transaction pool implementation method, any consensus node in the block chain system can create a transaction block and initiate a transaction validity proof proposal, and after the proposal, validity proof of transaction data is implemented by generating an arbitration certificate containing signature information of other consensus nodes, so that the pressure of node bandwidth and memory consumption in the block chain system is reduced, and the transaction consensus efficiency is improved.
In one embodiment, as shown in fig. 4, the specific process of generating the transaction block by the recognition node in step 202 includes the following steps:
step 402, receiving the transaction data sent from the client, and storing the transaction data into the local transaction pool in batches.
In implementation, the consensus node a locally maintains the transaction attribute information under the current transaction round r, where the counting principle of the current transaction round r is the accumulation of natural numbers (e.g., 0, 1, 2, 3 …), and the transaction round number is accumulated once from the initial transaction round number 0 every time a new transaction data validity verification is developed. Meanwhile, the consensus node A receives the transaction data of the round sent from the client and stores the transaction data into a local transaction pool in batches.
Optionally, the consensus node a sends the current round of transaction data stored in the local transaction pool to other consensus nodes through the network, and stores the current round of transaction data in the transaction pools corresponding to the other consensus nodes, so as to implement initial synchronization of the transaction data, and in the subsequent transaction block validity verification process, if the transaction data is missing, performs secondary synchronization of the transaction data.
Step 404, reading the transaction attribute information of the current transaction round stored in advance and the transaction summary of the transaction data in the local transaction pool, and generating a transaction block containing the transaction summary and the transaction attribute information.
In implementation, the consensus node a reads the transaction attribute information of the current transaction turn maintained in the local transaction pool and the transaction digest (digest hash value) of the transaction data in the local transaction pool, and generates a transaction block containing the transaction digest (digest hash value) and the transaction attribute information. The transaction attribute information is used for identifying the transaction block, and the transaction abstract is used for generating a corresponding transaction list in the transaction block.
In order to reduce the bandwidth, the transaction list only stores the hash value of the transaction summary, and optionally, the transaction hash list may be replaced by a way of computing root hash by the Merkle Tree, so as to reduce the size of the new transaction block submitted by the main work node. Each consensus node may enable multiple worker nodes to improve transaction data throughput, and then generate root hashes for multiple batches of transactions in batches and combine into transaction blocks.
In one embodiment, as shown in fig. 5, the specific processing procedure of step 206 includes:
step 502, receiving transaction confirmation information.
And each transaction confirmation message is a signature message fed back by other consensus nodes after the transaction block verification is passed.
In implementation, the consensus node a receives transaction confirmation information for the transaction block from other consensus nodes.
Step 504, when the number of the received transaction confirmation information satisfies the preset number threshold, an arbitration certificate containing the preset number of transaction confirmation information is generated.
In implementation, when the number of the received transaction confirmation messages meets a preset number threshold (quorum), it indicates that most (quorum) common identification nodes in the blockchain system verify that the transaction block passes through, and further, generates an arbitration certificate of the current round r from the received transaction confirmation messages with the preset number threshold.
In one embodiment, the preset number threshold is determined by the total number of the common nodes and the number of the malicious nodes included in the blockchain system according to a preset attribute relationship.
The malicious nodes are nodes with malicious attack behaviors in the consensus nodes.
In implementation, the preset number of transaction confirmation messages and the preset number of arbitration certificates mentioned in the above embodiments are calculated as follows:
Figure BDA0003291487230000101
wherein N represents the total number of nodes, f represents the number of malicious nodes, and N is greater than or equal to 3f +1, so that quorum is greater than or equal to 2f + 1.
In one embodiment, as shown in fig. 6, the method further comprises:
step 602, receiving the transaction block to be verified sent by the other transaction block creation node.
Wherein, the other transaction block creation nodes are other common nodes for creating transaction blocks in the blockchain system.
In implementation, the consensus node a receives the transaction block to be verified sent by the other transaction block creation nodes to verify the transaction block. Specifically, any consensus node in the blockchain system can initiate a transaction block validity proof proposal, so that in a round of transaction validity proof process, while the consensus node a creates a transaction block to initiate a transaction block validity proof, other consensus nodes in the blockchain system also create transaction blocks to initiate a transaction block validity proof. Thus, the consensus node a may act not only as a creator of the transaction block but also as a verifier of the transaction block.
And step 604, determining the validity of the transaction block according to a preset validity check rule.
In implementation, the consensus node a determines the validity of the transaction block according to a preset validity check rule. The validity check rule is established based on the transaction attribute information and is used for judging the validity of the transaction block so as to verify the content of the subsequent transaction block under the condition that the transaction block is valid.
Step 606, if the transaction block is valid, reading the transaction information contained in the transaction summary list in the transaction block, obtaining the transaction data corresponding to the transaction information in the local transaction pool, and verifying the transaction data.
In implementation, if the transaction block is validated, the consensus node a reads the transaction information contained in the transaction summary list in the transaction block, acquires transaction original data (i.e., transaction data stored in the local transaction pool after initial synchronization) corresponding to the transaction information from the local transaction pool, and then validates the transaction data.
Step 608 feeds back transaction confirmation information to other transaction block creation nodes when the transaction data is validated.
Wherein the transaction confirmation information is a signature message.
In implementation, when the transaction data passes the verification, the consensus node a feeds back transaction confirmation information to other transaction block creation nodes, wherein the transaction confirmation information indicates that the transaction data corresponding to the transaction block passes the verification.
In one embodiment, as shown in fig. 7, the specific process of performing validity verification of the transaction block based on the validity check rule in step 604 includes:
step 702, reading the transaction attribute information in the transaction block, and judging the consistency between the transaction round number in the transaction attribute information and the current transaction round number.
In implementation, the consensus node a reads the transaction attribute information in the transaction block, and determines the consistency between the transaction round number contained in the transaction attribute information and the current transaction round. For example, if the number of transaction rounds included in the transaction attribute information of the transaction block is r, and the number of transaction rounds in the current network-wide blockchain system is also r, it indicates that the number of transaction rounds in the transaction block is correct. Otherwise, the current transaction block is judged to be invalid.
Step 704, identifying whether the transaction attribute information carries signature information of other transaction block creation nodes and an arbitration certificate of the previous round.
In implementation, in the process of creating a transaction block, a transaction block creation node is required to perform signature authentication and accumulate an arbitration certificate of a previous round of transaction into a new transaction block, so as to ensure a reference relationship of the arbitration certificates of each round of transaction in the transaction block, and therefore, the consensus node a currently serving as a verifier can identify whether signature information of other consensus nodes (serving as transaction block creation nodes) and the arbitration certificate of the previous round are carried in transaction attribute information of the transaction block.
Step 706, determine whether the transaction block is the first transaction block of the current transaction round.
In implementation, since only one transaction block is created by a non-malicious node in the blockchain system in a round of transaction validity certification process, the consensus node a currently serving as the verifier can judge whether the transaction block is the first transaction block of the current round of transaction, so as to judge the validity of the transaction block.
Optionally, because only one transaction block is created by the non-malicious node in a round of transaction validity proving process, the transaction block validity check rule corresponding to the transaction condition may also be made to be one transaction block and exist within a preset time, so as to verify the validity of the current transaction block.
Step 708, if the transaction round number is consistent with the current transaction round, the transaction attribute information carries signature information of other transaction block creation nodes and a previous round arbitration certificate, and the transaction block is the first transaction block of the current transaction round, determining that the transaction block is valid.
In the implementation, the validity check rule is used for checking, specifically, if the number of transaction rounds is consistent with the number of transaction rounds of the current blockchain system, the transaction attribute information of the transaction block carries the signature information of the creator of the transaction block and an arbitration certificate generated by validity proof of the previous round of transaction, and the transaction block is also the first transaction block of the transaction round of the current transaction round of the creation node of the transaction block, the transaction block is determined to be valid.
In one embodiment, as shown in fig. 8, before obtaining the transaction data corresponding to the transaction information in the local transaction pool in step 606, the method further includes:
step 802, according to the transaction information, identifying transaction data corresponding to the transaction information in the local transaction pool.
In implementation, the transaction pool of the consensus node a stores the transaction data sent by its client, and also stores the transaction data broadcast by other consensus nodes in the initial synchronization process. Therefore, when the consensus node a as the transaction verifier needs to verify the received transaction block, the consensus node a searches the transaction data corresponding to the identification transaction information in the local transaction pool according to the transaction information in the transaction block.
If the consensus node A identifies the corresponding transaction data in the local transaction pool, which indicates that the transaction data synchronization is completed between the consensus node A and the transaction block creation node in the initial transaction data synchronization process, the consensus node A performs verification based on the transaction data in the local transaction pool.
Step 804, if the transaction data corresponding to the transaction information is not identified in the local transaction pool, determining the transaction data as missing transaction data.
In implementation, if the transaction data corresponding to the transaction information is not identified in the local transaction pool, which indicates that the transaction data is not synchronized in the initial synchronization process of the transaction data, the consensus node a determines the transaction data corresponding to the transaction information as missing transaction data.
Step 806, sending a missing transaction data request to other transaction block creation nodes or other verification nodes to obtain missing transaction data from the transaction pools of the other transaction block creation nodes or other verification nodes.
Wherein, the other verification nodes are the consensus nodes which pass the verification of the transaction block.
In implementation, in the blockchain system, since any consensus node (i.e. transaction block creation node) can broadcast the created transaction block and initiate the transaction block validity proof, a transaction block validity proof proposal of the transaction block created by itself is initiated at one consensus node, and meanwhile, other consensus nodes also initiate validity proof proposals of the transaction block created by itself, and further, the consensus nodes mutually serve as verifiers of the transaction block to verify the received transaction block from other consensus nodes (i.e. other transaction block creation nodes), when the consensus node a verifies the transaction block from other transaction block creation nodes, the consensus node a can send a missing transaction data request to the creator of the transaction block to obtain the original transaction data because the transaction data corresponding to the transaction information in the transaction block is missing in the transaction pool of the consensus node a, a missing transaction data request may also be sent to a verification node in the blockchain system that has verified that the transaction block passed (other consensus nodes in the blockchain system that are in the role of verifiers), pulling the missing transaction data in its transaction pool.
In one embodiment, as shown in fig. 9, the transaction pool protocol validates transaction blocks submitted by a quorum of common nodes in each round, so as to generate a complete Directed Acyclic Graph (DAG) structure, and in order to ensure consistent arrangement of transactions, the common node protocol requires common identification on a unique path of the Directed Acyclic Graph, so that a common node protocol master node is first determined according to a preset algorithm, and when the common node (common node a) is determined to be a common node protocol master node in a blockchain system, the method further includes:
step 902, obtain a target arbitration certificate.
The target arbitration certificate is the arbitration certificate with the highest transaction turn number stored locally.
In an implementation, a consensus protocol master node (consensus node a) queries and obtains a target arbitration certificate in a local transaction pool. The target arbitration certificate is the certificate of the current transaction turn, so the current transaction turn in which the target arbitration certificate is located is the highest transaction turn number in all the arbitration certificates, and the transaction turn number in the certificate can be used as a screening condition for selecting the target arbitration certificate.
Step 904, the target arbitration certificate is broadcasted to other consensus nodes, and the other consensus nodes are instructed to verify the target arbitration certificate.
In implementation, the consensus protocol master node initiates a validity proof proposal based on the target arbitration certificate, that is, broadcasts the target arbitration certificate to other consensus nodes, and instructs the other consensus nodes to verify the target arbitration certificate, so that the other consensus nodes know the validity proof result of the transaction block pointed by the target arbitration certificate.
In step 906, if the arbitration certificate confirmation information fed back by the preset number of other common nodes is received, a transaction block is generated from the transaction lists in all transaction blocks corresponding to the target arbitration certificate, and the transaction block is submitted to the blockchain system.
In implementation, if arbitration certificate confirmation information of the target arbitration certificate fed back by a preset number (quorum) of other consensus nodes is received, the consensus protocol master node identifies all transaction blocks (all transaction blocks comprise transaction blocks and historical transaction blocks) on a reference path of the target arbitration certificate based on a reference relation in the target arbitration certificate, generates a transaction block from a transaction list in all transaction blocks corresponding to the target arbitration certificate, and submits the transaction block to the block chain system.
Optionally, in addition to performing validity verification of the whole network transaction through the arbitration certificate, a securely shared random number (instead of the arbitration certificate) may be used to achieve validity verification, so as to ensure that the consensus protocol remains active in the asynchronous network (i.e., the random number is updated once per transaction turn). Each consensus node in the current transaction turn can be signed by a shared key and included in a transaction block created by the current turn itself, and after the consensus nodes collect quorum signatures from the transaction blocks of the current turn, the consensus nodes aggregate the quotients to generate a deterministic threshold signature, so that a secure sharable random number can be calculated, and a submitted transaction block can be determined by the random number.
In one embodiment, as shown in fig. 10, the specific process of generating the transaction block from the transaction list in all transaction blocks corresponding to the arbitration certificate in step 906 and submitting the transaction block to the blockchain system includes:
step 1002, obtaining a transaction reference relation contained in the target arbitration certificate, and identifying a transaction block in the reference relation and a historical transaction block in a historical validity proving process corresponding to the transaction block.
In implementation, the consensus protocol master node obtains a transaction reference relationship (also referred to as a reference path) contained in the target arbitration certificate, and identifies a transaction block in the reference relationship and a historical transaction block in the historical validity proving process corresponding to the transaction block. Specifically, as shown in fig. 11, if the current round is r +1 round of transaction, the arbitration certificate (target arbitration certificate QC) based on the r +1 round is determinedr+1,a) Obtaining a reference path corresponding to the arbitration certificate, wherein the reference path comprises a transaction block (B) pointed by the current r +1 round arbitration certificater+1,a) Also contains historical transaction blocks pointed to by the r-th round and r-1-th round … transaction certificates (B)r,a、Br,b、Br,d、Br-1,a、Br-1,b…)。
And 1004, according to the transaction information in the transaction lists contained in the transaction blocks and the historical transaction blocks, performing de-reordering processing to obtain a transaction total list with a unique ordering standard, and submitting the transaction total list to the blockchain system as a transaction block.
In implementation, the consensus protocol master node performs de-reordering processing according to the transaction summary information corresponding to the transaction blocks and the historical transaction blocks, namely, deletes repeated transaction information among the transaction lists, arranges the transaction information according to a preset sequence of the transaction information to obtain a transaction total list with unique ordering marks, and submits the transaction total list to the block chain system as the current round of transaction block.
It should be understood that, although the steps in the flowcharts of fig. 2 and 4 to 10 are shown in sequence as indicated by the arrows, the steps are not necessarily performed in sequence as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2 and 4 to 10 may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of performing the steps or stages is not necessarily sequential, but may be performed alternately or alternatively with other steps or at least some of the other steps or stages.
In one embodiment, as shown in fig. 12, there is provided a blockchain transaction pool implementing apparatus 1200, including: a first receiving module 1210, a broadcasting module 1220, a second receiving module 1230, and a generating module 1240, wherein:
a first receiving module 1210, configured to receive transaction data and generate a transaction block including summary information and transaction attribute information of the transaction data;
a broadcasting module 1220, configured to broadcast the transaction block to other consensus nodes in the blockchain system, and instruct the other consensus nodes to verify the transaction block;
the second receiving module 1230 is configured to receive the transaction confirmation information fed back by the other consensus nodes, and generate an arbitration certificate containing the transaction block confirmation information;
the generating module 1240 is configured to broadcast the arbitration certificate to other common identification nodes, receive the arbitration certificate generated by the other common identification nodes in the transaction validity proving process of the current round, determine that the transaction validity proving of the current round in the blockchain system is finished until the number of the received arbitration certificates reaches the preset number, and trigger entering the generating process of the transaction block of the next round.
By adopting the device 1200, any consensus node in the blockchain system can create a transaction block and initiate a transaction validity proof proposal, and after the proposal, the validity proof of transaction data is realized by generating an arbitration certificate containing signature information of other consensus nodes, so that the pressure of node bandwidth and memory consumption in the blockchain system is reduced, and the transaction consensus efficiency is improved.
In one embodiment, the first receiving module 1210 is specifically configured to receive transaction data sent from a client, and store the transaction data in batches into a local transaction pool;
reading the transaction attribute information of the current transaction round stored in advance and the transaction abstract of the transaction data in the local transaction pool, and generating a transaction block containing the transaction abstract and the transaction attribute information.
In one embodiment, the second receiving module 1230 is specifically configured to receive transaction confirmation information, where each transaction confirmation information is a signature message fed back by other common node after the transaction block is verified;
when the number of the received transaction confirmation information meets a preset number threshold, an arbitration certificate containing the preset number of the transaction confirmation information is generated.
In one embodiment, the preset number threshold is determined by the total number of the common identification nodes and the number of the malicious nodes in the blockchain system according to a preset attribute relationship; the malicious nodes are nodes with malicious attack behaviors in the consensus nodes.
In one embodiment, the apparatus 1200 further comprises:
the receiving module is used for receiving the transaction blocks to be verified, which are sent by other transaction block creation nodes; the other transaction block creating nodes are other common nodes for creating transaction blocks in the blockchain system;
the determining module is used for determining the validity of the transaction block according to a preset validity check rule;
the verification module is used for reading the transaction information contained in the transaction summary list in the transaction block if the transaction block is valid, acquiring transaction data corresponding to the transaction information in the local transaction pool, and verifying the transaction data;
and the feedback module is used for feeding back transaction confirmation information to other transaction block creation nodes when the transaction data passes verification, wherein the transaction confirmation information is a signature message.
In one embodiment, the determining module is specifically configured to read transaction attribute information in the transaction block, and determine consistency between the number of transaction rounds in the transaction attribute information and the current transaction round;
identifying whether the transaction attribute information carries signature information of other transaction block creation nodes and a previous round arbitration certificate;
judging whether the transaction block is the first transaction block of the current transaction turn;
and if the transaction round number is consistent with the current transaction round, the transaction attribute information carries signature information of other transaction block creation nodes and an arbitration certificate of the previous round, and the transaction block is the first transaction block of the current transaction round, determining that the transaction block is valid.
In one embodiment, the apparatus 1200 further comprises:
the identification module is used for identifying transaction data corresponding to the transaction information in the local transaction pool according to the transaction information;
the determining module is used for determining the transaction data as missing transaction data if the transaction data corresponding to the transaction information is not identified in the local transaction pool;
and the sending module is used for sending the missing transaction data request to other transaction block creating nodes or other verification nodes so as to acquire the missing transaction data from the transaction pools of the other transaction block creating nodes or other verification nodes. Wherein, the other verification nodes are the consensus nodes which pass the verification of the transaction block.
In one embodiment, the apparatus 1200 further comprises:
the acquisition module is used for acquiring a target arbitration certificate, wherein the target arbitration certificate is an arbitration certificate with the highest transaction turn number stored locally;
the broadcast module is used for broadcasting the target arbitration certificate to other consensus nodes and indicating the other consensus nodes to verify the target arbitration certificate;
and the generation and submission module is used for generating a transaction block from a transaction list in all transaction blocks corresponding to the target arbitration certificate and submitting the transaction block to the block chain system if the arbitration certificate confirmation information fed back by the preset number of other consensus nodes is received.
In one embodiment, the generation submission module is specifically configured to obtain a transaction reference relationship included in the arbitration certificate, and identify a transaction block in the reference relationship and a historical transaction block in a historical validity certification process corresponding to the transaction block;
and according to the transaction information in the transaction lists contained in the transaction blocks and the historical transaction blocks, performing de-reordering processing to obtain a transaction total list with a unique ordering standard, and submitting the transaction total list to a block chain system as a transaction block.
For the specific definition of the transaction data validity proving apparatus, reference may be made to the above definition of the transaction data validity proving method, which is not described herein again. The modules in the transaction data validity proving apparatus may be wholly or partially implemented by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as shown in fig. 13. The computer device includes a processor, a memory, a communication interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless communication can be realized through WIFI, an operator network, NFC (near field communication) or other technologies. The computer program is executed by a processor to implement a transaction data validation method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 13 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is further provided, which includes a memory and a processor, the memory stores a computer program, and the processor implements the steps of the above method embodiments when executing the computer program.
In an embodiment, a computer-readable storage medium is provided, on which a computer program is stored which, when being executed by a processor, carries out the steps of the above-mentioned method embodiments.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database or other medium used in the embodiments provided herein can include at least one of non-volatile and volatile memory. Non-volatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical storage, or the like. Volatile Memory can include Random Access Memory (RAM) or external cache Memory. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), among others.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (12)

1. A blockchain transaction pool implementation method is applied to any consensus node of a blockchain system, and comprises the following steps:
receiving transaction data, and generating a transaction block containing summary information and transaction attribute information of the transaction data;
broadcasting the transaction block to other consensus nodes in the blockchain system, instructing the other consensus nodes to verify the transaction block;
receiving transaction block confirmation information fed back by the other consensus nodes, and generating an arbitration certificate containing the transaction block confirmation information;
and broadcasting the arbitration certificate to other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the current round of transaction process, determining that the validity certification of the current round of transaction in the blockchain system is finished when the number of the received arbitration certificates reaches a preset number, and triggering to enter the generation process of the next round of transaction block.
2. The method of claim 1, wherein receiving transaction data, generating a transaction block containing summary information and transaction attribute information of the transaction data, comprises:
receiving transaction data sent from a client, and storing the transaction data into a local transaction pool in batches;
reading the transaction attribute information of the current transaction round stored in advance and the transaction abstract of the transaction data in the local transaction pool, and generating a transaction block containing the transaction abstract and the transaction attribute information.
3. The method of claim 1, wherein the receiving transaction block acknowledgement information fed back by the other consensus node and generating an arbitration certificate containing the transaction block acknowledgement information comprises:
receiving transaction confirmation information, wherein each transaction confirmation information is a signature message fed back by the other consensus nodes after the transaction block passes verification;
when the number of the received transaction confirmation information meets a preset number threshold, generating an arbitration certificate containing the preset number of the transaction confirmation information.
4. The method according to claim 1, wherein the preset number threshold is determined by the total number of common nodes and the number of malicious nodes included in the blockchain system according to a preset attribute relationship; and the malicious node is a node with malicious attack behaviors in the consensus node.
5. The method of claim 1, further comprising:
receiving transaction blocks to be verified sent by other transaction block creation nodes; the other transaction block creation nodes are other common nodes for creating transaction blocks in the blockchain system;
determining the validity of the transaction block according to a preset validity check rule;
if the transaction block is valid, reading transaction information contained in a transaction summary list in the transaction block, acquiring transaction data corresponding to the transaction information in a local transaction pool, and verifying the transaction data;
and when the transaction data passes verification, feeding back transaction confirmation information to the other transaction block creation nodes, wherein the transaction confirmation information is a signature message.
6. The method of claim 5, wherein determining the validity of the transaction block according to a preset validity check rule comprises:
reading the transaction attribute information in the transaction block, and judging the consistency of the transaction round times in the transaction attribute information and the current transaction round times;
identifying whether the transaction attribute information carries signature information of the other transaction block creation nodes and an arbitration certificate of the previous round or not;
judging whether the transaction block is the first transaction block of the current transaction turn;
and if the transaction round number is consistent with the current transaction round, the transaction attribute information carries signature information of other transaction block creation nodes and the previous round arbitration certificate, and the transaction block is the first transaction block of the current transaction round, determining that the transaction block is valid.
7. The method according to claim 5, wherein before the obtaining of the transaction data corresponding to the transaction information in the local transaction pool, the method further comprises:
identifying transaction data corresponding to the transaction information in a local transaction pool according to the transaction information;
if the transaction data corresponding to the transaction information is not identified in the local transaction pool, determining the transaction data as missing transaction data;
sending a missing transaction data request to the other transaction block creation nodes or other verification nodes to obtain the missing transaction data from the transaction pools of the other transaction block creation nodes or the other verification nodes; the other verification nodes are consensus nodes which pass the verification of the transaction block.
8. The method of claim 1, wherein when the consensus node is determined to be a consensus protocol master node in the blockchain system, the method further comprises:
acquiring a target arbitration certificate, wherein the target arbitration certificate is an arbitration certificate with the highest transaction turn number stored locally;
broadcasting the target arbitration certificate to the other consensus nodes, and instructing the other consensus nodes to verify the target arbitration certificate;
and if the arbitration certificate confirmation information fed back by the other consensus nodes with the preset number is received, generating a transaction block from the transaction lists in all transaction blocks corresponding to the target arbitration certificate, and submitting the transaction block to the block chain system.
9. The method of claim 8, wherein generating a transaction block from a transaction list in all transaction blocks corresponding to the target arbitration certificate and submitting the transaction block to the blockchain system comprises:
acquiring a transaction reference relation contained in the arbitration certificate, and identifying a transaction block in the reference relation and a historical transaction block in a historical validity proving process corresponding to the transaction block;
and according to the transaction information in the transaction lists contained in the transaction blocks and the historical transaction blocks, performing de-reordering processing to obtain a transaction total list with a unique ordering standard, and submitting the transaction total list to the blockchain system as a transaction block.
10. A blockchain transaction pool implementation device is applied to any consensus node of a blockchain system, and comprises the following components:
the first receiving module is used for receiving transaction data and generating a transaction block containing summary information and transaction attribute information of the transaction data;
a broadcast module, configured to broadcast the transaction block to other consensus nodes in the blockchain system, and instruct the other consensus nodes to verify the transaction block;
the second receiving module is used for receiving the transaction confirmation information fed back by the other consensus nodes and generating an arbitration certificate containing the transaction block confirmation information;
and the generation module is used for broadcasting the arbitration certificate to the other common identification nodes, receiving the arbitration certificate generated by the other common identification nodes in the transaction validity proving process of the current round until the number of the received arbitration certificates reaches a preset number, determining that the transaction validity proving of the current round in the block chain system is finished, and triggering to enter the generation process of the next round of transaction blocks.
11. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor realizes the steps of the method of any one of claims 1 to 9 when executing the computer program.
12. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 9.
CN202111166432.6A 2021-09-30 2021-09-30 Block chain transaction pool implementation method and device, computer equipment and storage medium Pending CN113888164A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111166432.6A CN113888164A (en) 2021-09-30 2021-09-30 Block chain transaction pool implementation method and device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111166432.6A CN113888164A (en) 2021-09-30 2021-09-30 Block chain transaction pool implementation method and device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113888164A true CN113888164A (en) 2022-01-04

Family

ID=79005221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111166432.6A Pending CN113888164A (en) 2021-09-30 2021-09-30 Block chain transaction pool implementation method and device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113888164A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114049123A (en) * 2022-01-12 2022-02-15 杭州趣链科技有限公司 Block chain consensus method and device, computer equipment and storage medium
CN115617806A (en) * 2022-10-31 2023-01-17 哈尔滨工业大学(深圳) Block packaging method and device, electronic equipment and storage medium
CN116723200A (en) * 2023-08-11 2023-09-08 杭州趣链科技有限公司 Cluster changing method and device, electronic equipment and computer readable storage medium
CN116846916A (en) * 2023-09-01 2023-10-03 武汉趣链数字科技有限公司 Data synchronization method, device, electronic equipment and computer readable storage medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114049123A (en) * 2022-01-12 2022-02-15 杭州趣链科技有限公司 Block chain consensus method and device, computer equipment and storage medium
CN115617806A (en) * 2022-10-31 2023-01-17 哈尔滨工业大学(深圳) Block packaging method and device, electronic equipment and storage medium
CN116723200A (en) * 2023-08-11 2023-09-08 杭州趣链科技有限公司 Cluster changing method and device, electronic equipment and computer readable storage medium
CN116723200B (en) * 2023-08-11 2023-11-10 武汉趣链数字科技有限公司 Cluster changing method and device, electronic equipment and computer readable storage medium
CN116846916A (en) * 2023-09-01 2023-10-03 武汉趣链数字科技有限公司 Data synchronization method, device, electronic equipment and computer readable storage medium
CN116846916B (en) * 2023-09-01 2023-12-08 武汉趣链数字科技有限公司 Data synchronization method, device, electronic equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
US11349674B2 (en) Digital certificate management method and apparatus, computer device, and storage medium
US20200382326A1 (en) Digital certificate verification method and apparatus, computer device, and storage medium
JP7285840B2 (en) Systems and methods for authenticating off-chain data based on proof verification
US11501533B2 (en) Media authentication using distributed ledger
CN109785130B (en) Block chain random consensus method and device, computer equipment and storage medium
CN113888164A (en) Block chain transaction pool implementation method and device, computer equipment and storage medium
CN107657438B (en) Block chain generation method, data verification method, node and system
CN107566124B (en) Hash operation-based consensus establishing method, block chain system and storage medium
CN110912707B (en) Block chain-based digital certificate processing method, device, equipment and storage medium
CN108769230B (en) Transaction data storage method, device, server and storage medium
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
US20140298034A1 (en) Data authenticity assurance method, management computer, and storage medium
CN110489946B (en) Copyright authentication method, device, equipment and storage medium based on block chain
CN109002349B (en) Application program interaction method, implementation method, device, equipment and medium
WO2021012572A1 (en) Blockchain transaction data processing method and apparatus, computer device, and storage medium
CN111314172B (en) Block chain-based data processing method, device, equipment and storage medium
CN111523890A (en) Data processing method and device based on block chain, storage medium and equipment
CN109861996B (en) Block chain-based relationship proving method, device, equipment and storage medium
EP3378005A1 (en) Method to verify the execution integrity of an application in a target device
WO2022206437A1 (en) Method and apparatus for querying ledger data of fabric blockchain
CN111339551B (en) Data verification method and related device and equipment
CN110990790B (en) Data processing method and equipment
CN111488626A (en) Data processing method, device, equipment and medium based on block chain
CN110598452B (en) Evidence information processing method, device, storage medium and equipment based on blockchain
JP2020204898A (en) Method, system, and program for managing operation of distributed ledger system

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