CN115186035B - Block processing method, related system, storage medium and server - Google Patents

Block processing method, related system, storage medium and server Download PDF

Info

Publication number
CN115186035B
CN115186035B CN202211108189.7A CN202211108189A CN115186035B CN 115186035 B CN115186035 B CN 115186035B CN 202211108189 A CN202211108189 A CN 202211108189A CN 115186035 B CN115186035 B CN 115186035B
Authority
CN
China
Prior art keywords
block
node
proposal
nodes
node tree
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.)
Active
Application number
CN202211108189.7A
Other languages
Chinese (zh)
Other versions
CN115186035A (en
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211108189.7A priority Critical patent/CN115186035B/en
Publication of CN115186035A publication Critical patent/CN115186035A/en
Application granted granted Critical
Publication of CN115186035B publication Critical patent/CN115186035B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the invention discloses a block processing method, a related system, a storage medium and a server, which are applied to the technical field of information processing. When the stored first block meets preset submission conditions, each piece of consensus equipment in the block chain system judges whether the first block comprises transaction information or not, namely whether the first block is an empty block or not, if yes, relevant nodes in a node tree where the first block is located are pruned, and therefore transactions corresponding to the nodes with the heights larger than or equal to the first height are released back to the transaction pool. The method and the device avoid that when the consensus device does not receive the request sent by the application terminal, new proposals encapsulating the empty blocks are continuously generated and processed between the consensus devices when no transaction exists in the transaction pool of the consensus device, and effectively save resources such as calculation, network, storage and the like.

Description

Block processing method, related system, storage medium and server
Technical Field
The present invention relates to the field of information processing technologies, and in particular, to a block processing method, a related system, a storage medium, and a server.
Background
The blockchain system is a decentralized network system, and common recognition protocols such as chained HotStuff common recognition, non-byzantine common recognition (e.g., raft, etc.), other byzantine common recognition (e.g., PBFT, etc.), and non-chained HotStuff common recognition (e.g., basic HotStuff, event-driven HotStuff, etc.) are used in the blockchain system, so that a uniform knowledge about the states of the system can be achieved, so that all nodes uniformly migrate from one state to another.
When processing is performed based on the chain type HotStuff consensus protocol, a proposal processing flow of four stages (preparation, pre-submission, submission and decision) can be performed in a plurality of nodes of a block chain system, so that consensus of state achieved in the system is realized. The chain-type HotStuff consensus protocol requires continuous generation, verification and submission of a proposal of a null block (a block with a transaction number of 0) among a plurality of nodes, and operations such as voting, consensus achievement, conflict processing and the like are performed on the proposal, so that a lot of unnecessary resources such as calculation, network, storage and the like are consumed.
Disclosure of Invention
The embodiment of the invention provides a block processing method, a related system, a storage medium and a server, and realizes the block processing method for saving resources.
An embodiment of the present invention provides a block processing method, including:
if the stored first block meets the preset submitting condition, determining whether the first block contains transaction information;
if the first block does not contain transaction information, giving up to submit a proposal meeting the submission condition;
determining a node tree where the first block is located, wherein the node tree comprises a plurality of nodes, and each node represents a block;
pruning nodes with a first height in the node tree, wherein the first height is larger than or equal to the height of the nodes corresponding to the first block in the node tree.
Another aspect of the present invention provides a block processing system, including:
the transaction determining unit is used for determining whether the first block contains transaction information or not if the stored first block meets preset submission conditions;
the proposal unit is used for giving up submitting a proposal meeting the submission condition if the first block does not contain transaction information;
the node tree unit is used for determining a node tree where the first block is located, the node tree comprises a plurality of nodes, and each node represents one block;
and the pruning unit is used for pruning the nodes with the first height in the node tree, and the first height is greater than or equal to the height of the nodes corresponding to the first block in the node tree.
In another aspect, an embodiment of the present invention further provides a computer-readable storage medium, which stores a plurality of computer programs, where the computer programs are suitable for being loaded by a processor and executing the block processing method according to an aspect of the embodiment of the present invention.
In another aspect, an embodiment of the present invention further provides a terminal device, including a processor and a memory;
the memory is used for storing a plurality of computer programs, and the computer programs are used for being loaded by the processor and executing the block processing method according to one aspect of the embodiment of the invention; the processor is configured to implement each of the plurality of computer programs.
In another aspect, an embodiment of the present invention further provides a blockchain system, which includes a plurality of consensus devices, where the consensus devices apply the blockchain processing system according to an aspect of the present invention, or the consensus devices are servers according to another aspect of the present invention.
It can be seen that, in the method of this embodiment, when the stored first block meets the preset submission condition, each piece of common identification equipment in the block chain system may determine whether the first block includes the transaction information, that is, whether the first block is an empty block, and if the first block does not meet the preset submission condition, the common identification equipment may prune the relevant node in the node tree where the first block is located, so as to release the transaction corresponding to the node whose height is greater than or equal to the first height back to the transaction pool. The method and the device avoid that when the consensus device does not receive the request sent by the application terminal, new proposals encapsulating the empty blocks are continuously generated and processed between the consensus devices when no transaction exists in the transaction pool of the consensus device, and effectively save resources such as calculation, network, storage and the like.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a schematic diagram of a block chain system to which a block processing method according to an embodiment of the present invention is applied;
FIG. 2 is a block diagram of a consensus device in an embodiment of the present invention;
fig. 3 is a flowchart of a block processing method according to an embodiment of the present invention;
FIG. 4a is a schematic diagram of a node tree established in one embodiment of the present invention;
FIG. 4b is a diagram illustrating a node tree after pruning when empty blocks are determined, in accordance with an embodiment of the present invention;
FIG. 4c is a diagram illustrating a node tree after pruning when non-empty blocks are determined, in accordance with an embodiment of the present invention;
FIG. 5 is a flow chart of a block processing method performed by a host device according to an embodiment of the present invention;
FIG. 6 is a flow chart of a block processing method performed by a slave device in an embodiment of the present invention;
FIG. 7 is a diagram illustrating a distributed system to which a block processing method is applied according to another embodiment of the present invention;
FIG. 8 is a block diagram illustrating an exemplary block structure according to another embodiment of the present invention;
FIG. 9 is a block processing system according to an embodiment of the present invention;
fig. 10 is a schematic logical structure diagram of a terminal device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims, as well as in the drawings, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
An embodiment of the present invention provides a block processing method, which is mainly applied to a decentralized network system shown in fig. 1, for example, a block chain system, where the block chain system may include an application terminal 10 and a plurality of (n is illustrated as an example in the figure) common devices 11, and each common device 11 has a communication connection, which is not shown in the figure, where:
the application terminal 10 is configured to initiate a request of any application scenario, and the transaction information may be included in the request initiated by the application terminal 10.
Any one consensus device 11 in the plurality of consensus devices 11 is configured to receive a request initiated by the application terminal 10, add a transaction corresponding to the request to a transaction pool 110 of the consensus device 11, and broadcast information of the transaction pool 110 to other consensus devices 11; the consensus device 11 is further configured to package the blocks according to the transactions in the transaction pool 110, create a proposal according to the blocks, broadcast the created proposal to other consensus devices 11 to vote on the transactions in the proposal, and submit the proposal if the vote passes.
When the consensus device 11 establishes a proposal according to the blocks, one block is packaged into one proposal (that is, one proposal corresponds to one block), and one block may include one or more transactions or may not include any transactions. And a proposal requires multiple rounds (e.g., 3 rounds) of voting, and the submission of a proposal means linking all the information related to the proposal to a stable storage, such as a database.
For example, the system includes 4 consensus devices 11, the application terminal 10 sends a request for transaction tx1 to the consensus device 1, and the consensus device 1 receives the request and then adds the transaction tx1 to the transaction pool 110 of the current consensus device 1; the consensus device 1 then broadcasts the transaction tx1 to the remaining consensus devices 2,3 and 4 to be put in the transaction pool of the other consensus devices 11, ensuring that all consensus devices 11 have the transaction tx1. When the consensus device 3 determines that the proposal is due, the consensus device 3 packs a block1 (containing the transaction tx 1) from the transaction pool 110, generates a proposal1 according to the block1, and broadcasts the proposal1 to the other consensus devices 1,2 and 4.
In this process, the consensus device 11 that receives the request initiated by the application terminal 10 is determined by the application terminal 10, the consensus device 11 that has established the proposal is the master device, the other consensus devices 11 that have only voted without establishing the proposal are the slave devices, and the processing of the blocks between the master device and the slave devices can be mainly performed by using the chain HotStuff consensus protocol.
In addition, the consensus device 11 stores the proposal, includes the block in the proposal, and also establishes a node tree in the memory based on the block, where the node tree includes a plurality of nodes and directed connecting edges between the nodes, each node represents a block, and a directed connecting edge from one node to another node, that is, a node points to another node, for representing that the proposal of the block corresponding to another node is generated based on the proposal of the block corresponding to one node. Specifically, the whole process from the establishment of a proposal1 to the submission of the proposal1 mainly includes several stages of preparation, pre-submission, submission and decision, wherein:
(1) Preparation (preparation) phase: the master device creates proposal1 according to the block1 and broadcasts the proposal1 to the slave devices; the slave generates a preparation phase vote (denoted as the prefix vote) for proposal1 and sends the prefix vote to the master of the pre-commit phase. Wherein, the master device and the slave device respectively store the block1, the block1 corresponds to the proposal1, and the node 1 corresponding to the block1 is added in the node tree.
(2) Pre-commit (pre-commit) phase: the master device votes and synthesizes the preparedness into a preparatory-stage Quorum Certificate (QC) (denoted as prepareQC), and broadcasts the prepareQC to the slave devices; after the slave device verifies the prepareQC, a pre-commit stage vote (denoted as pre-commit vote) is generated and sent to the master device for the commit stage. The master device and the slave device respectively store a block 2 generation proposal 2 packed according to the prepareQC and the transaction, add a node 2 and a node 1 corresponding to the block 2 in the node tree, and set a path between the node 1 and the node 2, namely the node 1 points to the node 2.
Wherein, assuming that f is the maximum number of failures of the consensus device 11, the total number of the consensus devices 11 involved in the whole process of processing the proposal is 3 + f +1, and the quorum for voting corresponds to the number of the consensus devices 11 being 2 + f +1. The QC above represents a packet and view Number (view Number) confirmed by 2 × f +1 node signatures, such as 2 × f +1 voting sets for a block.
(3) Commit (commit) phase: the master device synthesizes the quorum of pre-commit votes into QC (marked as pre-commit QC) in a pre-submission stage and broadcasts the QC to the slave devices; after the slave device verifies the pre-commit QC, a commit stage vote (denoted as commit vote) is generated and sent to the master device in the decision stage. Wherein, in the master device and the slave device, a proposal 3 is generated based on the pre-commit qc and a block 3 packed according to the transaction, and a node 3 corresponding to the block 3 and the above-mentioned nodes 1 and 2 are added in the node tree, and the node 1 points to the node 2, and the node 2 points to the node 3.
(4) Decision (decide) stage: the master device synthesizes the commit votes of the quorum into QC (marked as commit QC) in a submission stage, broadcasts the QC to the slave devices and submits a proposal 1; after committqc was verified from the device, proposal1 was submitted. Wherein, a block 4 generation proposal 4 based on the commit qc and packaged according to the transaction is respectively stored in the master device and the slave device, and a node 4 corresponding to the block 4 and the above-mentioned node 1, node 2 and node 3 are added in the node tree, and the node 1 points to the node 2, the node 2 points to the node 3, and the node 3 points to the node 4.
In the above four processes, several stages can be performed by different consensus devices 11 as master and slave devices, and converge into multiple QCs, i.e., prepareQC, pre-commit QC and commit QC as described above, from the generation of one proposal1 to the submission of that proposal 1. And these consensus devices 11, while synthesizing these QCs, will also create new proposals according to the synthesized QCs to include these QCs in the corresponding proposals, as shown in fig. 2 specifically, taking 4 consensus devices 11 as an example for illustration, the numbers in the circles in the figure represent step numbers, including:
step 1, the consensus device 1, as the master device of view 1, creates a proposal1 according to the block1, and includes the block1 in the proposal 1.
Step 2, the consensus device 1 broadcasts the generated proposal1 to the slave devices (consensus devices 2,3 and 4), and the consensus device 1 further needs to generate a prefix vote for the proposal1 and send the prefix vote to the master device in the next view, namely the consensus device 2.
And step 3, verifying the proposal1 by the slave equipment, storing the proposal1, and including a block1 in the proposal 1.
And 4, the slave device generates a prefix vote for the proposal1 and sends the prefix vote to the master device of the next view, namely the consensus device 2, so that the proposal1 completes the first stage, namely the preparation stage.
And step 5, entering the view 2, using the consensus device 2 as a main device of the view 2, collecting prepare votes of the proposal1, synthesizing prepareQC (marked as QC 1) of the proposal1, creating the proposal 2 according to the block 2, and including the block 2 and the QC1 in the proposal 2.
And 6, the consensus device 2 broadcasts the generated proposal 2 to the slave devices (nodes 1,3 and 4), and the consensus device 2 generates a vote for the proposal 2 and sends the vote to the master device of the next view, namely the consensus device 3.
And 7, verifying the proposal 2 and the QC1 from the equipment, and storing the proposal 2, wherein the proposal 2 comprises the QC1 and the block 2.
Step 8, generating votes for the proposal 2 by the slave equipment, wherein the votes are votes for the prepare of the proposal 2, but are cast after the QC1 is verified, so that the votes are votes for the pre-commit of the proposal1 at the same time; the slave device sends the vote to the master device of the next view, i.e. the consensus device 3. Proposal 2 thus completes the first phase, the preparation phase, while proposal1 completes the second phase, the pre-submission phase, since QC1 is the prepareQC of proposal1, also verified and voted for by a quorum of slave devices in the process.
And 9, entering a view 3, taking the consensus device 3 as a main device of the view 3, collecting votes of the proposal 2, synthesizing QC2, creating the proposal 3 according to the block 3, and enabling the proposal 3 to comprise the block 3 and the QC2.
Step 10, the consensus device 3 broadcasts the generated proposal 3 to the slave devices (nodes 1,2 and 4), and the consensus device 3 further generates a vote for the proposal 3 and sends the vote to the master device of the next view, namely the consensus device 4.
Step 11, verifying proposal 3, QC2 from the device, and storing proposal 3, wherein proposal 3 comprises QC2 and block 3.
And step 12, the slave device generates a vote for the proposal 3 and sends the vote to the master device of the next view, namely the consensus device 4. Thus, proposal 3 completes the preparation phase, and for the reasons described above, proposal 2 also completes the pre-submission phase, and the vote contained in QC2 serves as the pre-commit vote for proposal1, so QC2 serves as the pre-QC of proposal 2 and also serves as the pre-commit QC of proposal1, and the vote cast from the device after QC2 is verified is the pre-vote of proposal 3, and also the pre-commit vote of proposal 2 and the commit vote of proposal1, that is, proposal1 has completed the submission phase.
Step 13, entering into view 4, the consensus device 4 as the master device of view 4, collecting votes of the proposal 3, synthesizing QC3, creating the proposal 4 according to the block 4, and including QC3 and the block 4 into the proposal 4.
And step 14, the consensus device 4 broadcasts the generated proposal 4 to the slave devices (nodes 1,2 and 3), and the consensus device 4 processes the proposal 4 and the QC3, generates a vote for the proposal 4 and sends the vote to the master device in the next view, namely the consensus device 1.
For the above reasons, QC3 is used as prepareQC for proposal 3, pre-commit QC for proposal 2, and also as commit QC for proposal1, when QC3 is processed, the consensus device 4 finds that the stored blocks 4 meet the preset submission conditions (such as 3-chain rule), specifically, all the files required by proposal1 at the time of submission, i.e. three QC's connected in tandem, i.e. QC1< -QC2< -QC3, have been stored in the consensus device 4, that is, proposal1 has already reached the decision stage, and the consensus device 4 will submit proposal1 according to the block processing method of this embodiment.
Step 15, the slave device verifies the proposal 4, QC3 and stores the proposal 4, the proposal 4 comprises QC3 and blocks 4, the slave device finds the blocks 4 meeting the submission condition (such as 3-chain rule) already stored during verification, the consensus slave device already stores all files required by the proposal1 during submission, namely three QCs connected in tandem, namely QC1< -QC2< -QC3, namely proposal1, to the decision stage, and the slave device submits the proposal1 according to the block processing method of the embodiment.
Step 16, the slave device generates votes for proposal 4 (simultaneously as the prepare vote for proposal 4, the pre-commit vote for proposal 3, the commit vote for proposal 2) and sends them to the master device of the next view, i.e. consensus device 1. For the above reasons, proposal 4 has completed the preparation phase, while proposal 3 has completed the pre-submission phase, proposal 2 has completed the submission phase, and proposal1 has completed the decision phase and has been submitted.
It can be seen that, in the entire process described above, view 1 is the prepare phase of proposal 1; view 2 is the prepare phase of proposal 2, and is also the pre-commit phase of view 1; view 3 is the prepare phase of proposal 3, the pre-commit phase of proposal 2, the commit phase of proposal 1; view 4 is the prepare stage of proposal 4, the pre-commit stage of proposal 3, the commit stage of proposal 2, the decide stage of proposal 1. Therefore, when the proposal1 is submitted, in order to make the proposal1 enter the decide stage, proposals 2,3,4 are generated, each proposal comprises a block, in addition, the proposal also comprises prepare QC of the previous proposal, namely, a new proposal is generated for submitting the already generated proposal, so in the common implementation, the consensus algorithm, namely the chain HotStuff consensus algorithm, can continuously generate, verify and submit blocks once being started.
Further, in the block processing process, when each master device creates any proposal (for example, proposals 1 to 4), if the current transaction pool of the master device includes transactions, the blocks are packaged according to the transactions in the current transaction pool, and a proposal is created according to the blocks, and the proposal includes the blocks packaged by the transactions; if there are no transactions in the current transaction pool, then no transaction information will be included in the proposal when the proposal is created.
Further, in the block processing process, the blocks 1 to 4 corresponding to the proposals 1 to 4 are stored in the respective consensus devices 1 to 4, respectively, and then the respective consensus devices further establish a node tree in the memory based on the blocks 1 to 4, where the node tree includes a plurality of nodes and directed edges between the nodes, and each node represents the blocks 1 to 4, respectively. It should be noted that the transaction included in the corresponding block can be locked through the node tree, and the locked transaction can only be submitted through processing the corresponding block, i.e. uplink transaction is about to be performed.
In this embodiment of the present invention, when the above steps 14 and 15 are executed, the corresponding consensus device prunes the node tree according to the block processing method of the embodiment of the present invention.
Specifically, as shown in fig. 3, the consensus device 11 of this embodiment may implement the block processing by adopting the following steps:
step 101, judging whether any one of the stored blocks meets a preset submitting condition, if the first block in the stored blocks meets the preset submitting condition, executing step 102; if all blocks are not satisfied, other block processing is performed.
It is understood that any consensus device 11 may determine, according to a certain period or triggered by some event, whether any block that has been stored satisfies a preset submission condition, where the submission condition refers to whether the proposal corresponding to any block has already undergone several (3) rounds of voting in all of the above-mentioned stages.
In the implementation, based on the above embodiment, in order to make one proposal1 enter the decide stage, proposals 2,3,4 are generated, and each proposal corresponds to one block, so when 3 blocks are generated after the block1 corresponding to the proposal1, it is indicated that the proposal1 corresponding to the block1 can be extracted. Therefore, when determining whether any block satisfies the preset submission condition, it may be determined whether three nodes are included in the node tree established in the consensus device 11 on the path after the node corresponding to the first block, and if so, the first block satisfies the preset submission condition.
For example, fig. 4a shows a node tree established by the consensus device 11, which includes node block1, block 2, block 3, block 4, block 5, block 2', block 3', block 4', and block 3", where the root node is node block1, and the path after node block 2 already includes 3 nodes, i.e., node block 3, block 4, and block 5, which satisfy the preset commit condition.
Step 102, judging whether the first block contains transaction information, if not, executing step 103; if so, steps 104 and 105 are performed.
The transaction information refers to transaction information in a request initiated by the application terminal 10, if the consensus device 11 receives the request initiated by the application terminal 10, a corresponding transaction is added to the transaction pool 110, and when the consensus device 11 needs to create a proposal, if no transaction exists in the transaction pool, a block generated by the consensus device 11 does not contain any transaction information, that is, a blank block; if there is a transaction in the transaction pool of the consensus device 11, the consensus device 11 will extract at least one transaction from the transaction pool and pack information of the at least one transaction into a block, where the block includes transaction information corresponding to the request, and is a non-empty block.
If the first block does not contain transaction information, the first block is an empty block, the submission of a proposal meeting the submission condition, namely a proposal corresponding to the first block, is abandoned, and pruning needs to be performed according to the method in the following step 103; if the second block contains transaction information, the first block is not empty, and the following step 104 is performed, and pruning is performed according to the following method 105.
Step 103, determining a node tree where the first block is located, where the node tree includes multiple nodes, each node represents a block, and pruning nodes with a first height in the node tree, where the first height is greater than or equal to the height of the node corresponding to the first block in the node tree.
Here, the height of any node in the node tree refers to the number of nodes included in the shortest path between the root node and any node in the node tree. Since the node tree is established according to the stored blocks after the consensus device 11 generates the blocks, in this embodiment, it is necessary to determine how to prune the node tree according to the determination results of the above steps 101 and 102, and when the first block is an empty block, since the submission of the first block is abandoned, it is necessary to prune the nodes corresponding to other blocks generated based on the empty block from the node tree.
For example, for the node tree shown in fig. 4a, if the node block 2 is a node corresponding to the first block, and if the first block is an empty block, the first block corresponding to the node block 2 is not submitted, and the height of the node is 2, in this embodiment, nodes with a height of 2 and a height greater than 2 in the node tree are pruned, specifically, as shown in fig. 4b, only the node block1 remains in the node tree.
It should be noted that, in this case, since the submission of the first block is abandoned, all nodes whose height is greater than or equal to that of the first block need to be pruned, because only after the nodes are pruned, the transaction locked by the node tree is released back to the transaction pool, and the situation that the transaction is retained in the memory of the consensus device 11 due to the flow is avoided, so that the transaction is lost.
For example, if the first block corresponding to the node block 2 does not include transaction information, the submission of the first block is abandoned, and until the consensus device 11 receives a new request sent by the application terminal 10 again, no block corresponding to a node with a height of 2 or greater than 2 will be submitted, so that the transaction information in the blocks corresponding to other nodes with a height of 2 or greater than 2 remaining in the memory will not be released. That is, if the node block 2 'or the block 3' contains transaction information, the transaction information will not be released back to the transaction pool, and the consensus device 11 will not be triggered to generate a new proposal, and the application terminal 10 will see that the blockchain system "loses" the transaction.
It should be noted that the node block 2 and the block 2' in fig. 4a may correspond to two proposals at the same height, which are both based on the node block1, that is, the proposals corresponding to the two nodes are mutually exclusive and cannot be simultaneously effective, i.e., are not consecutive.
Further, in this embodiment, it is selected that when a proposal is submitted, whether a block corresponding to the submission is an empty block is determined first, instead of when the proposal is created, because if the proposal of the empty block is abandoned by determining whether the block is an empty block when the proposal is created by the master device, it cannot be guaranteed that the pruning operation can be completed in the quorum of the common identification devices 11, and there is a possibility that the states of the common identification devices 11 with respect to the nodes in the node tree are inconsistent. In other words, "abandoning submitting a proposal for a block and abandoning all descendant nodes thereof" is a thing that needs to be agreed upon by the quorum of consensus devices 11 in the blockchain system, otherwise additional risks may be brought to the blockchain system; when the block corresponding to the proposal is submitted, the block is submitted after being promised by the quorum of the common identification devices 11, and meanwhile, the judgment of whether the designated block is an empty block by each common identification device 11 is consistent, so that in the embodiment, the pruning operation on the node tree is safe, the pruning result of the quorum of the common identification devices 11 can be ensured to be consistent, and no additional risk is added to the block chain system.
Step 104, submitting the proposal related to the meeting of the submission condition, specifically, linking the transaction in the first block, i.e. storing the information related to the transaction in the database.
And 105, determining a node tree where the first block is located, pruning nodes on a path between a node corresponding to the first block and a root node in the node tree, and setting the node corresponding to the first block as the root node of the node tree.
For example, for the node tree shown in fig. 4a, if the node block 2 is a node corresponding to the first block, and the first block is a non-empty block, the first block corresponding to the node block 2 needs to be submitted, and the height of the node is 2, in this embodiment, all nodes on the path between the root node and the node block 2 in the node tree are pruned, that is, the node block1, the block 2', the block 3', and the block 3 ″ in the node tree are pruned, and the node block 2 is set as the root node, as shown in fig. 4 c.
It should be noted that, with the process of this embodiment, in the blockchain system that the generation of the block is stopped due to an empty block (such as the first block described above), the view still advances due to timeout, when the consensus device 11 receives a new request sent by the application terminal 10, the consensus device 11 puts the transaction into the transaction pool based on the new request, and then starts to generate the block according to the transaction extracted from the transaction pool, and enters the normal consensus process again.
It can be seen that, in the method of this embodiment, when the stored first block meets the preset submission condition, each piece of consensus device 11 in the block chain system determines whether the first block includes transaction information, that is, whether the first block is an empty block, and if yes, prunes the related nodes in the node tree where the first block is located, so as to release the transactions corresponding to the nodes whose heights are greater than or equal to the first height back to the transaction pool. The method and the device avoid that new proposals encapsulating the empty blocks are continuously generated and processed between the consensus devices when the consensus devices do not receive the request sent by the application terminal, so that no transaction exists in a transaction pool of the consensus devices, and resources such as calculation, network and storage are effectively saved.
The block processing method of the present invention is described below with a specific application example, and the method of this embodiment may be applied to the block chain system shown in fig. 1, specifically, as shown in fig. 5, for any piece of consensus equipment, if the consensus equipment is used as a master equipment, the block processing may be implemented by the following steps, including:
step 201, after the master device packages the block according to the transaction and creates a proposal according to the block, the state machine can be pushed, and the node corresponding to the block is added in the node tree of the memory.
Step 202, after creating a proposal, the master device will determine whether any stored block (for example, the first block) meets a preset submission condition, specifically, whether the stored block meets a 3-chain condition, and if yes, continue to execute the determination in step 203; if not, execution continues with step 206.
Step 203, the master device will determine whether the first block includes the transaction information, if so, execute the following step 204; if not, step 205 is performed.
Step 204, submitting the first block, determining the node tree where the first block is located, pruning nodes on a path from a root node in the node tree to a node corresponding to the first block, setting the node corresponding to the first block as the root node of the node tree, and then executing step 206.
Step 205, abandoning the submission of the first block, determining the node tree where the first block is located, pruning nodes with a first height in the node tree, where the first height is greater than or equal to the height of the node corresponding to the first block in the node tree, and then executing step 206.
And step 206, voting based on the proposal created in the step 201, and sending the vote to the main device of the next view.
Further, as shown in fig. 6, when any one of the consensus devices in the system is used as a slave device, the processing of the block can be realized through the following steps:
step 301, after receiving the proposal sent by the master device, the slave device verifies the received proposal, the message signature, the QC and the security rules added to the proposal, and so on.
Step 302, the slave device judges whether the proposal of the preamble is absent currently, if yes, step 303 is executed, and the flow is ended; if not, step 304 is performed, followed by step 305.
Step 303, the slave device pulls a preamble proposal to other recognized devices.
The proposal received in step 301 may include a block and the prepareQC of the previous proposal, which is the preamble proposal. For example, proposal 3 in fig. 2 above may include prepareQC for block 3 and proposal 2.
Step 304, verifying the block corresponding to the preamble proposal, adding the node corresponding to the block in the currently received proposal in the node tree stored in the memory according to the preamble proposal and the currently received proposal in the step 301, setting a directed connecting edge between the added node and the node corresponding to the block in the preamble proposal, and pushing the state machine.
Step 305, the slave device determines whether any stored block (for example, the first block) meets a preset submission condition, specifically, whether a 3-chain condition is met, and if yes, the slave device continues to perform the determination in step 306; if not, execution continues with step 309.
Step 306, the slave device determines whether the first block includes the transaction information, and if so, executes the following step 307; if not, step 308 is performed.
Step 307, submitting the first block, determining the node tree where the first block is located, pruning nodes on a path from a root node in the node tree to a node corresponding to the first block, setting the node corresponding to the first block as the root node of the node tree, and then executing step 309.
Step 308, the first block is abandoned, the node tree where the first block is located is determined, nodes with the first height in the node tree are pruned, the first height is larger than or equal to the height of the corresponding nodes of the first block in the node tree, and then the process is ended.
Step 309, voting is performed based on the proposal received in step 301.
Step 310, judging whether the current slave device belongs to the master device of the next view, if not, sending the vote generated in the step 309 to the master device of the next view; if so, step 311 is performed.
Step 311 processes the vote generated in step 309.
Therefore, in this embodiment, both the master device and the slave device need to prune corresponding nodes in the node tree according to whether there is transaction information in a block corresponding to a proposal to be submitted before the proposal needs to be submitted, so that a cluster in chain HotStuff consensus does not generate an empty block continuously when there is no transaction information, risks existing under the scheme are shielded, and resources such as calculation, network and storage are saved for the whole block chain system.
In the following, a block processing method according to the present invention is described with another specific application example, where the block processing system in the embodiment of the present invention is mainly a distributed system 100, the distributed system may include a client 300 and a plurality of nodes 200 (any form of computing devices in an access network, such as servers and user terminals), and the client 300 and the nodes 200 are connected through a network communication.
Taking a distributed system as an example of a blockchain system, fig. 7 is an optional structural schematic diagram of the application of the distributed system 100 To the blockchain system, which is provided by the embodiment of the present invention, and is formed by a plurality of nodes 200 (any form of computing devices in an access network, such as servers and user terminals) and a client 300, and a point-To-point (P2P) network is formed between the nodes, where the P2P Protocol is an application layer Protocol running on a Transmission Control Protocol (TCP). In a distributed system, any machine, such as a server or a terminal, can join to become a node, which includes a hardware layer, an intermediate layer, an operating system layer, and an application layer.
Referring to the functions of each node in the blockchain system shown in fig. 7, the functions involved include:
1) Routing, a basic function that a node has, is used to support communication between nodes.
Besides the routing function, the node may also have the following functions:
2) The application is used for being deployed in a block chain, realizing specific services according to actual service requirements, recording data related to the realization function to form recording data, carrying a digital signature in the recording data to represent a source of task data, and sending the recording data to other nodes in the block chain system, so that the other nodes add the recording data to a temporary block when the source and integrity of the recording data are verified successfully.
For example, the services implemented by the application include: the code for realizing the block processing function mainly comprises:
if the stored first block meets the preset submitting condition, determining whether the first block contains transaction information; if the first block does not contain transaction information, giving up to submit a proposal meeting the submission condition; determining a node tree where the first block is located, wherein the node tree comprises a plurality of nodes, and each node represents a block; pruning nodes with a first height in the node tree, wherein the first height is larger than or equal to the height of the nodes corresponding to the first block in the node tree.
3) And the Block chain comprises a series of blocks (blocks) which are mutually connected according to the generated chronological order, new blocks cannot be removed once being added into the Block chain, and recorded data submitted by nodes in the Block chain system are recorded in the blocks.
Referring to fig. 8, an optional schematic diagram of a Block Structure (Block Structure) provided in the embodiment of the present invention is shown, where each Block includes a hash value of a transaction record stored in the Block (hash value of the Block) and a hash value of a previous Block, and the blocks are connected by the hash values to form a Block chain. The block may include information such as a time stamp at the time of block generation. A block chain (Blockchain), which is essentially a decentralized database, is a string of data blocks associated by using cryptography, and each data block contains related information for verifying the validity (anti-counterfeiting) of the information and generating a next block.
An embodiment of the present invention further provides a block processing system, which can be applied to the above consensus device, and a schematic structural diagram of the block processing system is shown in fig. 9, and the block processing system specifically includes:
the transaction determining unit 20 is configured to determine whether the first block contains transaction information if the stored first block meets a preset submission condition.
Wherein, the stored first block meets the preset submission condition, which specifically includes: in a preset node tree, a path after a node corresponding to the first block includes 3 nodes.
A proposal unit 21, configured to abandon submission of a proposal that satisfies the submission condition if the transaction information is not included in the first block determined by the transaction determination unit 20.
A pruning unit 22, configured to, when the proposal unit 21 abandons the corresponding proposal, determine a node tree where the first block is located, where the node tree includes multiple nodes, each node represents a block, and prune a node of a first height in the node tree determined by the node tree unit 23, where the first height is greater than or equal to a height of a node corresponding to the first block in the node tree.
Further, the proposal unit 21 is further configured to submit a proposal meeting the submission condition if the first block includes transaction information; the pruning unit 22 is further configured to, when the proposal unit 21 submits the corresponding proposal, determine a node tree where the first block is located, and prune nodes on a path between a node corresponding to the first block and a root node in the node tree; and setting the corresponding node of the first block as a root node of the node tree.
Further, the block processing system in the embodiment of the present invention further includes:
the node tree unit 23 is configured to create a node tree in the memory according to that the created multiple proposals respectively include a block, where the node tree includes multiple nodes and directed connecting edges between the nodes, each node represents any block, and a directed connecting edge from one node to another node represents that the proposal where the block corresponding to the another node is located is generated based on the proposal where the block corresponding to the one node is located, and then the pruning unit 22 in the system prunes the node tree created by the node tree unit 23.
It can be seen that, in the system of this embodiment, when the stored first block meets the preset submission condition, it is determined whether the first block includes the transaction information, that is, whether the first block is an empty block, and if the first block does not meet the preset submission condition, the relevant node in the node tree where the first block is located is pruned, so that the transaction corresponding to the node whose height is greater than or equal to the first height is released back to the transaction pool. The method avoids that when the block processing system does not receive the request sent by the application terminal, and no transaction exists in the transaction pool of the consensus device, new proposals with empty blocks packaged are continuously generated and processed among the block processing systems, and resources such as calculation, network and storage are effectively saved.
The present invention further provides a server, a schematic structural diagram of which is shown in fig. 10, where the terminal device may generate a relatively large difference due to different configurations or performances, and may include one or more Central Processing Units (CPUs) 30 (e.g., one or more processors) and a memory 31, and one or more storage media 32 (e.g., one or more mass storage devices) for storing applications 321 or data 322. The memory 31 and the storage medium 32 may be, among other things, transient storage or persistent storage. The program stored on the storage medium 32 may include one or more modules (not shown), each of which may include a sequence of instructions operating on a server. Still further, the central processor 30 may be configured to communicate with the storage medium 32 to execute a series of instruction operations in the storage medium 32 on a server.
Specifically, the application 321 stored in the storage medium 32 includes a block processing application, and the application may include the transaction determination unit 20, the proposal unit 21, the pruning unit 22 and the node tree unit 23 in the block processing system, which is not described herein again. Further, the central processor 30 may be configured to communicate with the storage medium 32, and execute a series of operations corresponding to the application program of the block process stored in the storage medium 32 on the server.
The server may also include one or more power supplies 33, one or more wired or wireless network interfaces 34, one or more input-output interfaces 35, and/or one or more operating systems 323, such as Windows Server, mac OS XTM, unixTM, linuxTM, freeBSDTM, and so forth.
The steps executed by the block processing system in the above-described method embodiment may be based on the structure of the server shown in fig. 10.
Further, another aspect of the embodiments of the present invention also provides a computer-readable storage medium, which stores a plurality of computer programs, where the computer programs are adapted to be loaded by a processor and execute the block processing method performed by the above consensus device.
In another aspect, an embodiment of the present invention further provides a terminal device, including a processor and a memory;
the memory is used for storing a plurality of computer programs, and the computer programs are used for being loaded by the processor and executing the block processing method executed by the consensus device; the processor is configured to implement each of the plurality of computer programs.
Further, according to an aspect of the application, a computer program product or a computer program is provided, comprising computer instructions, which are stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the block processing method provided in the above-mentioned various optional implementation modes.
In addition, an embodiment of the present invention further provides a blockchain system, which includes a plurality of consensus devices, where any of the consensus devices may apply the blockchain processing system shown in fig. 9, or any of the consensus devices may be the server shown in fig. 10.
Those skilled in the art will appreciate that all or part of the steps in the methods of the above embodiments may be implemented by associated hardware instructed by a program, which may be stored in a computer-readable storage medium, and the storage medium may include: read Only Memory (ROM), random Access Memory (RAM), magnetic or optical disk, or the like.
The block processing method, the related system, the storage medium and the server provided by the embodiment of the present invention are described in detail above, and a specific example is applied in the present disclosure to explain the principle and the implementation of the present invention, and the description of the above embodiment is only used to help understanding the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, the specific embodiments and the application range may be changed, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. A block processing method, comprising:
if the stored first block meets the preset submitting condition, determining whether the first block contains transaction information; the preset submission conditions include: in a preset node tree, 3 nodes are included on a path behind a node corresponding to the first block;
if the first block does not contain transaction information, giving up to submit a proposal meeting the submission condition;
determining a node tree where the first block is located, wherein the node tree comprises a plurality of nodes, and each node represents a block;
pruning nodes with a first height in the node tree, wherein the first height is larger than or equal to the height of the nodes corresponding to the first block in the node tree.
2. The method of claim 1, wherein if the current system is applied to the master device, the storing the first block satisfies a preset commit condition, comprising: when the main equipment creates a proposal, determining that the stored first block meets the preset submission condition;
the method further comprises the following steps: and generating a vote of the proposal and sending the vote to the main equipment of the next view.
3. The method of claim 1, wherein the storing the first block satisfies a predetermined commit condition if the current system is applied to the slave device, comprises: when the slave equipment receives a proposal and the slave equipment stores a preorder proposal, determining that the stored first block meets the preset submission condition;
the method further comprises the following steps: and generating a vote of the proposal, processing the vote or sending the vote to the main equipment of the next view.
4. The method of claim 1, wherein prior to determining whether transaction information is contained in the first block, the method further comprises:
and establishing a node tree in a memory according to the plurality of established proposals, wherein the node tree comprises a plurality of nodes and directed connecting edges among the nodes, each node represents any block, and the directed connecting edge from one node to another node represents that the proposal of the block corresponding to the another node is generated based on the proposal of the block corresponding to the one node.
5. The method of any of claims 1 to 4, further comprising:
if the first block contains transaction information, submitting a proposal meeting the submission condition;
determining a node tree where the first block is located, and pruning nodes on a path between a node corresponding to the first block in the node tree and a root node;
and setting the corresponding node of the first block as a root node of the node tree.
6. A block processing system, comprising:
the transaction determining unit is used for determining whether the stored first block contains transaction information or not if the stored first block meets a preset submitting condition; the preset submission conditions include: in a preset node tree, a path behind a node corresponding to the first block comprises 3 nodes;
the proposal unit is used for giving up submitting a proposal meeting the submission condition if the first block does not contain transaction information;
a pruning unit, configured to determine a node tree where the first block is located, where the node tree includes multiple nodes, and each node represents one block; pruning nodes with a first height in the node tree, wherein the first height is larger than or equal to the height of the nodes corresponding to the first block in the node tree.
7. The system of claim 6, further comprising:
and the node tree unit is used for establishing a node tree in the memory according to the plurality of established proposals, wherein the node tree respectively comprises a block, the node tree comprises a plurality of nodes and directed connecting edges among the nodes, each node represents any block, and the directed connecting edges from one node to another node represent that the proposal of the block corresponding to the another node is generated based on the proposal of the block corresponding to the one node.
8. A computer-readable storage medium, characterized in that it stores a plurality of computer programs adapted to be loaded by a processor and to perform the block processing method according to any one of claims 1 to 5.
9. A server, comprising a processor and a memory;
the memory is used for storing a plurality of computer programs, and the computer programs are used for being loaded by the processor and executing the block processing method according to any one of claims 1 to 5; the processor is configured to implement each of the plurality of computer programs.
10. A blockchain system comprising a plurality of consensus devices applying the blockchain processing system of claim 6 or the consensus devices being the servers of claim 9.
CN202211108189.7A 2022-09-13 2022-09-13 Block processing method, related system, storage medium and server Active CN115186035B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211108189.7A CN115186035B (en) 2022-09-13 2022-09-13 Block processing method, related system, storage medium and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211108189.7A CN115186035B (en) 2022-09-13 2022-09-13 Block processing method, related system, storage medium and server

Publications (2)

Publication Number Publication Date
CN115186035A CN115186035A (en) 2022-10-14
CN115186035B true CN115186035B (en) 2022-11-22

Family

ID=83524522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211108189.7A Active CN115186035B (en) 2022-09-13 2022-09-13 Block processing method, related system, storage medium and server

Country Status (1)

Country Link
CN (1) CN115186035B (en)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138596A (en) * 2019-04-13 2019-08-16 山东公链信息科技有限公司 A kind of block chain common recognition method based on handover network topology mode
CN111147261A (en) * 2019-12-31 2020-05-12 南京可信区块链与算法经济研究院有限公司 Method and system for using HotStuff consensus algorithm in block chain
CN111382456A (en) * 2020-06-01 2020-07-07 腾讯科技(深圳)有限公司 Proposal message processing method, device, equipment and storage medium
CN111639935A (en) * 2020-04-30 2020-09-08 南京理工大学 Account book modification method applicable to editable block chain
CN112187490A (en) * 2019-07-01 2021-01-05 深圳法大大网络科技有限公司 Byzantine fault-tolerant consensus method and system
CN112202933A (en) * 2020-12-08 2021-01-08 腾讯科技(深圳)有限公司 Information processing method and device of block chain network and node equipment
CN112669149A (en) * 2020-12-24 2021-04-16 杭州趣链科技有限公司 Block chain consensus method, device, server and storage medium
CN112783976A (en) * 2021-01-05 2021-05-11 上海特高信息技术有限公司 Consensus algorithm for flexibly packaging out blocks by allied block chains
CN112907369A (en) * 2021-02-08 2021-06-04 网易(杭州)网络有限公司 Block chain-based data consensus method and device, electronic equipment and storage medium
CN113347007A (en) * 2021-08-03 2021-09-03 南京金宁汇科技有限公司 Consensus method capable of realizing consensus on multiple proposals
CN113596107A (en) * 2021-07-07 2021-11-02 支付宝(杭州)信息技术有限公司 Data synchronization method and device based on block chain
CN114036224A (en) * 2021-10-28 2022-02-11 东软集团股份有限公司 Block chain information management method and device, storage medium and electronic equipment
CN114092093A (en) * 2022-01-20 2022-02-25 腾讯科技(深圳)有限公司 Block chain transaction processing method and device, electronic equipment and readable medium
CN114297723A (en) * 2021-11-29 2022-04-08 之江实验室 Consensus method and system supporting calculation verification parallelization processing
CN114338673A (en) * 2021-12-30 2022-04-12 马上消费金融股份有限公司 Transaction data processing method, device, equipment, system and storage medium
CN114584326A (en) * 2022-05-07 2022-06-03 腾讯科技(深圳)有限公司 Block chain data processing method and device, electronic equipment and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10304143B2 (en) * 2016-05-05 2019-05-28 Lance Timothy Kasper Consensus system for manipulation resistant digital record keeping
CN107196900B (en) * 2017-03-24 2020-04-24 创新先进技术有限公司 Consensus checking method and device
US11720913B2 (en) * 2018-12-18 2023-08-08 Rokfin, Inc. Cryptographic-token minting scheduler
CN112329051B (en) * 2020-10-23 2023-09-19 中国科学院数据与通信保护研究教育中心 Safe and efficient consensus mechanism implementation method and system
CN114785776A (en) * 2021-01-20 2022-07-22 银联国际有限公司 Block chain-based clearing system and block chain-based clearing method
CN113570466B (en) * 2021-09-24 2021-11-30 腾讯科技(深圳)有限公司 Transaction data processing method and device and readable storage medium
CN114915404A (en) * 2022-05-13 2022-08-16 北京邮电大学 Block chain data storage extension model construction method for Internet of things

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138596A (en) * 2019-04-13 2019-08-16 山东公链信息科技有限公司 A kind of block chain common recognition method based on handover network topology mode
CN112187490A (en) * 2019-07-01 2021-01-05 深圳法大大网络科技有限公司 Byzantine fault-tolerant consensus method and system
CN111147261A (en) * 2019-12-31 2020-05-12 南京可信区块链与算法经济研究院有限公司 Method and system for using HotStuff consensus algorithm in block chain
CN111639935A (en) * 2020-04-30 2020-09-08 南京理工大学 Account book modification method applicable to editable block chain
CN111382456A (en) * 2020-06-01 2020-07-07 腾讯科技(深圳)有限公司 Proposal message processing method, device, equipment and storage medium
CN112202933A (en) * 2020-12-08 2021-01-08 腾讯科技(深圳)有限公司 Information processing method and device of block chain network and node equipment
CN112669149A (en) * 2020-12-24 2021-04-16 杭州趣链科技有限公司 Block chain consensus method, device, server and storage medium
CN112783976A (en) * 2021-01-05 2021-05-11 上海特高信息技术有限公司 Consensus algorithm for flexibly packaging out blocks by allied block chains
CN112907369A (en) * 2021-02-08 2021-06-04 网易(杭州)网络有限公司 Block chain-based data consensus method and device, electronic equipment and storage medium
CN113596107A (en) * 2021-07-07 2021-11-02 支付宝(杭州)信息技术有限公司 Data synchronization method and device based on block chain
CN113347007A (en) * 2021-08-03 2021-09-03 南京金宁汇科技有限公司 Consensus method capable of realizing consensus on multiple proposals
CN114036224A (en) * 2021-10-28 2022-02-11 东软集团股份有限公司 Block chain information management method and device, storage medium and electronic equipment
CN114297723A (en) * 2021-11-29 2022-04-08 之江实验室 Consensus method and system supporting calculation verification parallelization processing
CN114338673A (en) * 2021-12-30 2022-04-12 马上消费金融股份有限公司 Transaction data processing method, device, equipment, system and storage medium
CN114092093A (en) * 2022-01-20 2022-02-25 腾讯科技(深圳)有限公司 Block chain transaction processing method and device, electronic equipment and readable medium
CN114584326A (en) * 2022-05-07 2022-06-03 腾讯科技(深圳)有限公司 Block chain data processing method and device, electronic equipment and storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIGH PERFORMANCE CONSENSUS WITHOUT DUPLICATION:MULTI-PIPELINE HOTSTUFF;Taining Cheng;《arXiv:2205.04179v4》;20220707;1-20 *
区块链BFT共识算法研究进展;冯了了 等;《计算机科学》;20220403;第49卷(第04期);329-339 *

Also Published As

Publication number Publication date
CN115186035A (en) 2022-10-14

Similar Documents

Publication Publication Date Title
CN109995850B (en) Block chain system and transaction processing method thereof
Stathakopoulou et al. Mir-bft: High-throughput bft for blockchains
CN110648137B (en) Block processing method, node and system
CN109493050B (en) Transfer method based on block chain main chain and parallel multiple sub-chains
US20200145520A1 (en) System and method for ending view change protocol
AU2019203862B2 (en) System and method for ending view change protocol
US20200125456A1 (en) Consensus system downtime recovery
Mišić et al. Adapting PBFT for use with blockchain-enabled IoT systems
CN113570466B (en) Transaction data processing method and device and readable storage medium
CN109493052B (en) Cross-chain contract system based on main chain and parallel multiple sub-chains
CN111475576A (en) Block chain based distributed database storage method and system
CN111159289B (en) Method and device for synchronizing blocks
US10938750B2 (en) Consensus system downtime recovery
CN111698094B (en) Common identification method based on block chain system and block chain system
CN113553375B (en) Partitioned storage device and method for image type block chain
CN110874351A (en) Workload certification cooperative work method, block chain node and block chain system
CN112182113B (en) Block chain consensus method, system, electronic equipment and storage medium
CN111061735A (en) Capacity expansion method and device based on single-chain block chain
CN113645278A (en) Cross-chain message transmission method, device and storage medium of block chain
CN109697217B (en) Block chain transaction processing method
CN115186035B (en) Block processing method, related system, storage medium and server
CN114422331A (en) Disaster tolerance switching method, device and system
CN113157450A (en) Method and apparatus for performing blocks in a blockchain system
CN115499442B (en) Rapid deployment type cloud computing architecture based on container arrangement
Fu et al. A multiple-blockchains based service monitoring framework in edge-cloud computing

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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40074515

Country of ref document: HK