IP Library Granted Patent US 10,679,217
Granted Patent B2
US 10,679,217 · App. 16/523,580 · Granted Jun 9, 2020

Methods and devices for sending transaction information and for consensus verification

Inventor: Ning Li (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06Q20/401G06Q20/3821H04L9/0637H04L67/104
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 10,679,217
App. No.
16/523,580
Granted
Jun 9, 2020
Kind
B2
Abstract

Examples of methods and devices for sending transaction information and performing consensus verification are described. In one example of the methods, a first consensus node receives transaction information and sends the transaction information to a second consensus node. The first consensus node receives a consensus verification failure notification from the second consensus node. The consensus verification failure notification includes an information identifier of the transaction information. In response to receiving the consensus verification failure notification, the first consensus node resends the transaction information to the second consensus node based at least on the consensus verification failure notification.

Claims (78)

1. A computer-implemented method for sending transaction information, comprising:

receiving, by a first consensus node, transaction information;

sending the transaction information to a second consensus node;

receiving a consensus verification failure notification from the second consensus node, wherein the consensus verification failure notification comprises an information identifier of the transaction information, wherein the consensus verification failure notification indicates that at least a portion of the transaction information is missing from a transaction pool of the second consensus node and that a verification on the transaction information fails;

in response to receiving the consensus verification failure notification, determining whether a transaction pool of the first consensus node stores the transaction information that corresponds to the information identifier comprised in the consensus verification failure notification; and

in response to determining that the transaction pool of the first consensus node stores the transaction information that corresponds to the information identifier comprised in the consensus verification failure notification, resending, by the first consensus node, the transaction information that corresponds to the information identifier to the second consensus node.

2. The computer-implemented method of claim 1 , wherein receiving, by the first consensus node, the transaction information comprises:

receiving, by the first consensus node, the transaction information from a client device.

3. The computer-implemented method of claim 1 , wherein sending the transaction information to the second consensus node comprises:

creating a thread for each other consensus node; and

sending the transaction information to the second consensus node through the thread.

4. The computer-implemented method of claim 3 , wherein sending the transaction information to the second consensus node through the thread comprises:

resending the transaction information to the second consensus node through the thread in response to determining that the second consensus node fails to receive the transaction information, until it is determined that the second consensus node receives the transaction information or a predetermined sending stop condition is satisfied.

5. The computer-implemented method of claim 4 , wherein determining that the second consensus node receives the transaction information comprises:

determining that the second consensus node receives the transaction information in response to determining that a response signal returned by the second consensus node is received through the thread within a specified time period; and

wherein determining that the second consensus node fails to receive the transaction information comprises:

determining that the second consensus node fails to receive the transaction information in response to determining that no response signal returned by the second consensus node is received through the thread within the specified time period.

6. The computer-implemented method of claim 4 , wherein the predetermined sending stop condition comprises:

a number of times of sending the transaction information to the second consensus node reaches a predetermined number of times; or

a time duration that elapsed since a first time the transaction information was sent to the second consensus node exceeds a predetermined duration.

7. The computer-implemented method of claim 4 , wherein in response to determining that the predetermined sending stop condition is satisfied, the method further comprises:

adding the transaction information to a predetermined queue; and

wherein resending the transaction information to the second consensus node based on the consensus verification failure notification comprises:

searching the predetermined queue for the transaction information that corresponds to the information identifier of the transaction information in the consensus verification failure notification; and

sending the transaction information to the second consensus node.

8. The computer-implemented method of claim 1 , further comprising:

receiving, by the second consensus node, a preprocessed block from the first consensus node;

performing consensus verification on the preprocessed block based on transaction information stored in a transaction pool of the second consensus node and transaction information comprised in the preprocessed block;

in response to determining that at least a portion of the transaction information comprised in the preprocessed block does not exist in the transaction pool of the second consensus node, determining, by the second consensus node, an information identifier of the transaction information comprised in the preprocessed block; and

sending, by the second consensus node, a consensus verification failure notification to the first consensus node, wherein the consensus verification failure notification comprises the information identifier of the transaction information.

9. A non-transitory computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving, by a first consensus node, transaction information;

sending the transaction information to a second consensus node;

receiving a consensus verification failure notification from the second consensus node, wherein the consensus verification failure notification comprises an information identifier of the transaction information, wherein the consensus verification failure notification indicates that at least a portion of the transaction information is missing from a transaction pool of the second consensus node and that a verification on the transaction information fails;

in response to receiving the consensus verification failure notification, determining whether a transaction pool of the first consensus node stores the transaction information that corresponds to the information identifier comprised in the consensus verification failure notification; and

in response to determining that the transaction pool of the first consensus node stores the transaction information that corresponds to the information identifier comprised in the consensus verification failure notification, resending, by the first consensus node, the transaction information that corresponds to the information identifier to the second consensus node.

10. The non-transitory computer-readable medium of claim 9 , wherein sending the transaction information to the second consensus node comprises:

creating a thread for each other consensus node; and

sending the transaction information to the second consensus node through the thread.

11. The non-transitory computer-readable medium of claim 10 , wherein sending the transaction information to the second consensus node through the thread comprises:

resending the transaction information to the second consensus node through the thread in response to determining that the second consensus node fails to receive the transaction information, until it is determined that the second consensus node receives the transaction information or a predetermined sending stop condition is satisfied.

12. The non-transitory computer-readable medium of claim 11 , wherein determining that the second consensus node receives the transaction information comprises:

determining that the second consensus node receives the transaction information in response to determining that a response signal returned by the second consensus node is received through the thread within a specified time period; and

wherein determining that the second consensus node fails to receive the transaction information comprises:

determining that the second consensus node fails to receive the transaction information in response to determining that no response signal returned by the second consensus node is received through the thread within the specified time period.

13. The non-transitory computer-readable medium of claim 11 , wherein the predetermined sending stop condition comprises:

a number of times of sending the transaction information to the second consensus node reaches a predetermined number of times; or

a time duration that elapsed since a first time the transaction information was sent to the second consensus node exceeds a predetermined duration.

14. The non-transitory computer-readable medium of claim 11 , wherein in response to determining that the predetermined sending stop condition is satisfied, the operations further comprise:

adding the transaction information to a predetermined queue; and

wherein resending the transaction information to the second consensus node based on the consensus verification failure notification comprises:

searching the predetermined queue for the transaction information that corresponds to the information identifier of the transaction information in the consensus verification failure notification; and

sending the transaction information to the second consensus node.

15. The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise:

receiving, by the second consensus node, a preprocessed block from the first consensus node;

performing consensus verification on the preprocessed block based on transaction information stored in a transaction pool of the second consensus node and transaction information comprised in the preprocessed block;

in response to determining that at least a portion of the transaction information comprised in the preprocessed block does not exist in the transaction pool of the second consensus node, determining, by the second consensus node, an information identifier of the transaction information comprised in the preprocessed block; and

sending, by the second consensus node, a consensus verification failure notification to the first consensus node, wherein the consensus verification failure notification comprises the information identifier of the transaction information.

16. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving, by a first consensus node, transaction information;

sending the transaction information to a second consensus node;

receiving a consensus verification failure notification from the second consensus node, wherein the consensus verification failure notification comprises an information identifier of the transaction information, wherein the consensus verification failure notification indicates that at least a portion of the transaction information is missing from a transaction pool of the second consensus node and that a verification on the transaction information fails;

in response to receiving the consensus verification failure notification, determining whether a transaction pool of the first consensus node stores the transaction information that corresponds to the information identifier comprised in the consensus verification failure notification; and

in response to determining that the transaction pool of the first consensus node stores the transaction information that corresponds to the information identifier comprised in the consensus verification failure notification, resending, by the first consensus node, the transaction information that corresponds to the information identifier to the second consensus node.

17. The computer-implemented system of claim 16 , wherein sending the transaction information to the second consensus node comprises:

creating a thread for each other consensus node; and

sending the transaction information to the second consensus node through the thread.

18. The computer-implemented system of claim 17 , wherein sending the transaction information to the second consensus node through the thread comprises:

resending the transaction information to the second consensus node through the thread in response to determining that the second consensus node fails to receive the transaction information, until it is determined that the second consensus node receives the transaction information or a predetermined sending stop condition is satisfied.

19. The computer-implemented system of claim 18 , wherein determining that the second consensus node receives the transaction information comprises:

determining that the second consensus node receives the transaction information in response to determining that a response signal returned by the second consensus node is received through the thread within a specified time period; and

wherein determining that the second consensus node fails to receive the transaction information comprises:

determining that the second consensus node fails to receive the transaction information in response to determining that no response signal returned by the second consensus node is received through the thread within the specified time period.

20. The computer-implemented system of claim 18 , wherein the predetermined sending stop condition comprises:

a number of times of sending the transaction information to the second consensus node reaches a predetermined number of times; or

a time duration that elapsed since a first time the transaction information was sent to the second consensus node exceeds a predetermined duration.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2019
From: LI, NING
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 050992/0486 →
Priority Claims (1)
CN 2017 1 0181241 · Mar 24, 2017 · national
Continuity (2)
Continuation PCTCN2018079439 · Mar 19, 2018
Related Publication 20190347663A1 · Nov 14, 2019
Cited By (1)
US 12,244,681