IP Library Granted Patent US 11,899,652
Granted Patent B2
US 11,899,652 · App. 17/978,906 · Granted Feb 13, 2024

Method and apparatus for processing information of blockchain network, device and storage medium

Inventor: Pan Liu (Shenzhen, CN)
Assignee: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
G06F16/2365G06F16/27
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,899,652
App. No.
17/978,906
Granted
Feb 13, 2024
Kind
B2
Abstract

A method for processing information includes: while performing, by a target consensus node, consensus validation on a first block, in accordance with a determination that a target consensus validation message for performing consensus validation on a second block is received: in accordance with a determination that the target consensus validation message meets a cache condition according to block attribute information of the second block, storing the target consensus validation message into a message cache pool corresponding to the target consensus node; and in accordance with a determination that the consensus validation on the first block is completed, performing consensus validation on the second block based on the target consensus validation message in the message cache pool.

Claims (66)

1. A method for processing information of a blockchain network, executed by a computer device, the blockchain network comprising a target consensus node, the method comprising:

while performing, by the target consensus node, consensus validation on a first block, in accordance with a determination that a target consensus validation message for performing consensus validation on a second block is received:

in accordance with a determination that the target consensus validation message meets a cache condition according to block attribute information of the second block:

storing the target consensus validation message into a message cache pool corresponding to the target consensus node; and

in accordance with a determination that the consensus validation on the first block is completed, performing consensus validation on the second block based on the target consensus validation message in the message cache pool.

2. The method according to claim 1 , wherein the consensus validation comprises a block proposal phase, a pre-vote phase and a pre-commit phase; and performing, by the target consensus node, the consensus validation on the first block comprises:

while in the block proposal phase, in accordance with a determination that a proposal message for proposing the first block is received within a preset time, entering the pre-vote phase; performing, by the target consensus node, vote processing on the proposal message to obtain a pre-vote message, and broadcasting the pre-vote message to other consensus nodes in the blockchain network;

while in the pre-vote phase, in accordance with a determination that the number of the pre-vote messages received by the target consensus node from the other consensus nodes meets a first number threshold, entering the pre-commit phase; and

while in the pre-commit phase, in accordance with a determination that the number of pre-commit messages received by the target consensus node from the other consensus nodes meets a second number threshold, determining that the consensus validation on the first block is completed.

3. The method according to claim 1 , wherein the block attribute information of the second block comprises the block height of the second block, and determining whether the target consensus validation message meets a cache condition comprises:

determining a height difference between the block height of the second block and the block height of the first block; and

in accordance with a determination that the height difference is less than or equal to a height difference threshold, determining that the target consensus validation message meets the cache condition.

4. The method according to claim 1 , wherein the block attribute information of the second block comprises the block height of the second block and a consensus view identifier (ID) corresponding to the second block, and determining whether the target consensus validation message meets a cache condition comprises:

in accordance with a determination that the block height of the second block matches the block height of the first block and the target consensus validation message is a target proposal message, acquiring a consensus view difference between the consensus view ID corresponding to the second block and a consensus view ID corresponding to the first block, wherein the target proposal message is a proposal message for proposing the second block generated in the block proposal phase in which consensus validation is performed on the second block; and

in accordance with a determination that the consensus view difference is less than or equal to a consensus view difference threshold, determining that the target proposal message meets the cache condition.

5. The method according to claim 1 , wherein the target consensus node is a member node in a consensus node set; and performing consensus validation on the second block based on the target consensus validation message in the message cache pool comprises:

in accordance with a determination that the consensus validation on the first block is completed, in accordance with detecting that a member node in the consensus node set is switched and that the target consensus node is a member node in the switched consensus node set, performing consensus validation on the second block based on the target consensus validation message in the message cache pool.

6. The method according to claim 5 , wherein the blockchain network further comprises other consensus nodes, and the method further comprises:

in accordance with a determination that the target consensus node is not a member node in the switched consensus node set, deleting the target consensus validation message stored in the message cache pool; and

transmitting a block synchronization request to the other consensus nodes to instruct the other consensus nodes to synchronize the second block after the consensus validation to the target consensus node.

7. The method according to claim 1 , wherein determining whether the target consensus validation message meets a cache comprises:

in accordance with a determination that a message storage function of the message cache pool is enabled, determining whether the target consensus validation message meets the cache condition according to the block attribute information of the second block.

8. The method according to claim 7 , in accordance with a determination that the target consensus validation message is stored in the message cache pool corresponding to the target consensus node, the method further comprises:

in accordance with a determination that consensus validation messages of a preset number of blocks have been stored in the message cache pool, disabling the message storage function of the message cache pool; and

in accordance with a determination that a consensus validation message for a third block is received, discarding the consensus validation message for the third block.

9. The method according to claim 8 , further comprising:

In accordance with a determination that the consensus validation is performed on the second block based on the target consensus validation message, deleting the target consensus validation message from the message cache pool.

10. The method according to claim 9 , in accordance with a determination that the consensus validation is performed on the second block based on the target consensus validation message, the method further comprises:

enabling the message storage function of the message cache pool, and synchronizing the third block after the consensus validation from other consensus nodes.

11. An electronic device, comprising:

one or more processors; and

memory storing one or more programs, the one or more programs comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

while performing, by the target consensus node, consensus validation on a first block, in accordance with a determination that a target consensus validation message for performing consensus validation on a second block is received:

in accordance with a determination that the target consensus validation message meets a cache condition according to block attribute information of the second block:

storing the target consensus validation message into a message cache pool corresponding to the target consensus node; and

in accordance with a determination that the consensus validation on the first block is completed, performing consensus validation on the second block based on the target consensus validation message in the message cache pool.

12. The electronic device according to claim 11 , wherein the consensus validation comprises a block proposal phase, a pre-vote phase and a pre-commit phase; and performing, by the target consensus node, the consensus validation on the first block comprises:

while in the block proposal phase, in accordance with a determination that a proposal message for proposing the first block is received within a preset time, entering the pre-vote phase; performing, by the target consensus node, vote processing on the proposal message to obtain a pre-vote message, and broadcasting the pre-vote message to other consensus nodes in the blockchain network;

while in the pre-vote phase, in accordance with a determination that the number of the pre-vote messages received by the target consensus node from the other consensus nodes meets a first number threshold, entering the pre-commit phase; and

while in the pre-commit phase, in accordance with a determination that the number of pre-commit messages received by the target consensus node from the other consensus nodes meets a second number threshold, determining that the consensus validation on the first block is completed.

13. The electronic device according to claim 11 , wherein the block attribute information of the second block comprises the block height of the second block, and determining whether the target consensus validation message meets a cache condition comprises:

determining a height difference between the block height of the second block and the block height of the first block; and

in accordance with a determination that the height difference is less than or equal to a height difference threshold, determining that the target consensus validation message meets the cache condition.

14. The electronic device according to claim 11 , wherein the block attribute information of the second block comprises the block height of the second block and a consensus view identifier (ID) corresponding to the second block, and determining whether the target consensus validation message meets a cache condition comprises:

in accordance with a determination that the block height of the second block matches the block height of the first block and the target consensus validation message is a target proposal message, acquiring a consensus view difference between the consensus view ID corresponding to the second block and a consensus view ID corresponding to the first block, wherein the target proposal message is a proposal message for proposing the second block generated in the block proposal phase in which consensus validation is performed on the second block; and

in accordance with a determination that the consensus view difference is less than or equal to a consensus view difference threshold, determining that the target proposal message meets the cache condition.

15. The electronic device according to claim 11 , wherein the target consensus node is a member node in a consensus node set; and performing consensus validation on the second block based on the target consensus validation message in the message cache pool comprises:

in accordance with a determination that the consensus validation on the first block is completed, in accordance with detecting that a member node in the consensus node set is switched and that the target consensus node is a member node in the switched consensus node set, performing consensus validation on the second block based on the target consensus validation message in the message cache pool.

16. The electronic device according to claim 15 , wherein the blockchain network further comprises other consensus nodes, and the method further comprises:

in accordance with a determination that the target consensus node is not a member node in the switched consensus node set, deleting the target consensus validation message stored in the message cache pool; and

transmitting a block synchronization request to the other consensus nodes to instruct the other consensus nodes to synchronize the second block after the consensus validation to the target consensus node.

17. A non-transitory computer-readable storage medium, storing a computer program, the computer program, when executed by one or more processors of an electronic device, cause the one or more processors to perform operations comprising:

while performing, by the target consensus node, consensus validation on a first block, in accordance with a determination that a target consensus validation message for performing consensus validation on a second block is received:

in accordance with a determination that the target consensus validation message meets a cache condition according to block attribute information of the second block:

storing the target consensus validation message into a message cache pool corresponding to the target consensus node; and

in accordance with a determination that the consensus validation on the first block is completed, performing consensus validation on the second block based on the target consensus validation message in the message cache pool.

18. The non-transitory computer-readable storage medium according to claim 17 , wherein the consensus validation comprises a block proposal phase, a pre-vote phase and a pre-commit phase; and performing, by the target consensus node, the consensus validation on the first block comprises:

while in the block proposal phase, in accordance with a determination that a proposal message for proposing the first block is received within a preset time, entering the pre-vote phase; performing, by the target consensus node, vote processing on the proposal message to obtain a pre-vote message, and broadcasting the pre-vote message to other consensus nodes in the blockchain network;

while in the pre-vote phase, in accordance with a determination that the number of the pre-vote messages received by the target consensus node from the other consensus nodes meets a first number threshold, entering the pre-commit phase; and

while in the pre-commit phase, in accordance with a determination that the number of pre-commit messages received by the target consensus node from the other consensus nodes meets a second number threshold, determining that the consensus validation on the first block is completed.

19. The non-transitory computer-readable storage medium according to claim 17 , wherein the block attribute information of the second block comprises the block height of the second block, and determining whether the target consensus validation message meets a cache condition comprises:

determining a height difference between the block height of the second block and the block height of the first block; and

in accordance with a determination that the height difference is less than or equal to a height difference threshold, determining that the target consensus validation message meets the cache condition.

20. The non-transitory computer-readable storage medium according to claim 17 , wherein the block attribute information of the second block comprises the block height of the second block and a consensus view identifier (ID) corresponding to the second block, and determining whether the target consensus validation message meets a cache condition comprises:

in accordance with a determination that the block height of the second block matches the block height of the first block and the target consensus validation message is a target proposal message, acquiring a consensus view difference between the consensus view ID corresponding to the second block and a consensus view ID corresponding to the first block, wherein the target proposal message is a proposal message for proposing the second block generated in the block proposal phase in which consensus validation is performed on the second block; and

in accordance with a determination that the consensus view difference is less than or equal to a consensus view difference threshold, determining that the target proposal message meets the cache condition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2023
From: LIU, PAN
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 062371/0078 →
Priority Claims (1)
CN 202011420516.3 · Dec 8, 2020 · national
Continuity (2)
Continuation PCTCN2021129944 · Nov 11, 2021
Related Publication 20230066467A1 · Mar 2, 2023