IP Library Granted Patent US 11,126,596
Granted Patent B2
US 11,126,596 · App. 16/921,212 · Granted Sep 21, 2021

Blockchain consensus method and device

Inventor: Shifeng Wang (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G06F16/1827G06F16/122
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,126,596
App. No.
16/921,212
Granted
Sep 21, 2021
Kind
B2
Abstract

The present application discloses a blockchain consensus method and device. In the blockchain consensus method, a blockchain node obtains service data on which to perform consensus processing. A service type of the service data is determined. At least one consensus node that provides a consensus service is selected by the blockchain node and from a consensus network based on the service type. The blockchain node sends the service data to the at least one consensus node, so that the at least one consensus node performs consensus processing on the service data.

Claims (68)

1. A blockchain consensus method comprising:

receiving, by a blockchain node of a blockchain network, a request of a service, wherein the request indicates service data, on which to perform the service, wherein the service comprises performance of a consensus process, and wherein the blockchain network comprises a plurality of blockchain nodes;

in response to the request of the service, retrieving, by the blockchain node, the service data from locally stored service data, on which to perform the consensus process;

determining, by the blockchain node, classes of the service based on a service function of the service that was requested or based on a service content of the service that was requested, wherein the service function comprises a function to be performed using the service data and the service content defines an item processed by the service function;

determining, by the blockchain node, one or more service types of the service data corresponding to the classes of the service;

mapping, by the blockchain node, the one or more service types of the service data to one or more consensus algorithms based on a vulnerability of the service data, wherein the vulnerability of the service data indicates whether the service data is vulnerable or invulnerable to an attack;

identifying, by the blockchain node, based on operating principles of the one or more consensus algorithms, a minimum number of consensus nodes to perform the consensus process, wherein the minimum number of consensus nodes comprises a determined percentage of available consensus nodes within the blockchain network designated to process the one or more service types of the service data;

performing, by the blockchain node, a selection of consensus nodes from the blockchain network to perform the consensus process, wherein the selection of consensus nodes is based on the minimum number of consensus nodes and a respective load of each consensus node of consensus nodes in the blockchain network; and

sending, by the blockchain node, the service data to the consensus nodes that were selected to perform the consensus process on the service data.

2. The blockchain consensus method of claim 1 , wherein consensus nodes that were selected comprise a portion of available consensus nodes within the blockchain network that is smaller than the available consensus nodes within the blockchain network for the service data that is invulnerable to the attack.

3. The blockchain consensus method of claim 1 , wherein performing, by the blockchain node, a selection of consensus nodes comprises:

determining a quantity of consensus nodes to participate in the consensus process of the service data, wherein the quantity of consensus nodes satisfies a predetermined quantity; and

selecting, by the blockchain node, the quantity of consensus nodes from the blockchain network.

4. The blockchain consensus method of claim 1 , wherein the respective load of each consensus node of consensus nodes in the blockchain network is included in a sequence of load statuses.

5. The blockchain consensus method of claim 3 , further comprising:

determining, by the blockchain node, a consensus algorithm supported by each consensus node in the blockchain network;

determining, by the blockchain node and based on the consensus algorithm supported by each consensus node, consensus nodes that support the consensus algorithm that comprises a consensus policy; and

selecting a quantity of the consensus nodes from the consensus nodes that support the consensus algorithm.

6. The blockchain consensus method of claim 1 , further comprising:

broadcasting the minimum number of consensus nodes to other blockchain nodes before the service data is sent to the consensus nodes that were selected, wherein the other blockchain nodes vote on whether to agree that the consensus nodes that were selected provide the service; and

wherein sending further comprises:

sending the service data to the consensus nodes that were selected in response to receiving consensus reaching messages sent by the other blockchain nodes.

7. The blockchain consensus method of claim 6 , wherein the method further comprises:

in response to receiving a consensus result and in response to determining a need to globally share the consensus result, sending, by the blockchain node, the consensus result to a consensus node that is independent from the consensus process in the blockchain network, and storing the consensus result for the service data to a blockchain.

8. The blockchain consensus method of claim 6 , wherein the method further comprises:

in response to receiving a consensus result sent by the minimum number of consensus nodes for the service data, storing, by the blockchain node, the consensus result to a blockchain in response to determining a need to not globally share the consensus result.

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

receiving, by a blockchain node of a blockchain network, a request of a service, wherein the request indicates service data, on which to perform the service, wherein the service comprises performance of a consensus process, and wherein the blockchain network comprises a plurality of blockchain nodes;

in response to the request of the service, retrieving, by the blockchain node, the service data from locally stored service data, on which to perform the consensus process;

determining, by the blockchain node, classes of the service based on a service function of the service that was requested or based on a service content of the service that was requested, wherein the service function comprises a function to be performed using the service data and the service content defines an item processed by the service function;

determining, by the blockchain node, one or more service types of the service data corresponding to the classes of the service;

mapping, by the blockchain node, the one or more service types of the service data to one or more consensus algorithms based on a vulnerability of the service data, wherein the vulnerability of the service data indicates whether the service data is vulnerable or invulnerable to an attack;

identifying, by the blockchain node, based on operating principles of the one or more consensus algorithms, a minimum number of consensus nodes to perform the consensus process, wherein the minimum number of consensus nodes comprises a determined percentage of available consensus nodes within the blockchain network designated to process the one or more service types of the service data;

performing, by the blockchain node, a selection of consensus nodes from the blockchain network to perform the consensus process, wherein the selection of consensus nodes is based on the minimum number of consensus nodes and a respective load of each consensus node of consensus nodes in the blockchain network; and

sending, by the blockchain node, the service data to the consensus nodes that were selected to perform the consensus process on the service data.

10. The non-transitory, computer-readable medium of claim 9 , wherein consensus nodes that were selected comprise a portion of available consensus nodes within the blockchain network that is smaller than the available consensus nodes within the blockchain network for the service data that is invulnerable to the attack.

11. The non-transitory, computer-readable medium of claim 9 , wherein performing, by the blockchain node, a selection of consensus nodes comprises:

determining a quantity of consensus nodes to participate in the consensus process of the service data, wherein the quantity of consensus nodes satisfies a predetermined quantity; and

selecting, by the blockchain node, a quantity of consensus nodes from the blockchain network.

12. The non-transitory, computer-readable medium of claim 9 , wherein the respective load of each consensus node of consensus nodes in the blockchain network is included in a sequence of load statuses.

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

determining a consensus algorithm supported by each consensus node in the blockchain network;

determining, based on the consensus algorithm supported by each consensus node, consensus nodes that support the consensus algorithm comprised in a consensus policy; and

selecting a quantity of the consensus nodes from the consensus nodes that support the consensus algorithm.

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

broadcasting the minimum number of consensus nodes to other blockchain nodes before the service data is sent to the consensus nodes that were selected, wherein the other blockchain nodes vote on whether to agree that the consensus nodes that were selected provide the service; and

wherein sending further comprises:

sending the service data to the consensus nodes that were selected in response to receiving consensus reaching messages sent by the other blockchain nodes.

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

in response to determining that a consensus result sent by the consensus nodes that were selected for the service data is received, and in response to determining a need to globally share the consensus result, sending the consensus result for the service data to a consensus node that does not participate in the consensus process in the blockchain network, and storing the consensus result for the service data to a blockchain.

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

in response to determining that a consensus result sent by the consensus nodes that were selected for the service data is received, storing the consensus result for the service data to a blockchain in response to determining a need to not globally share the consensus result.

17. A computer-implemented system comprising:

a memory device having tangible, non-transitory, machine-readable media storing one or more instructions; and

at least one processor interoperably coupled with the memory device, and configured to execute the one or more instructions to perform operations comprising:

receiving, by a blockchain node of a blockchain network, a request of a service, wherein the request indicates service data, on which to perform the service, wherein the service comprises performance of a consensus process, and wherein the blockchain network comprises a plurality of blockchain nodes;

in response to the request of the service, retrieving, by the blockchain node, the service data from locally stored service data, on which to perform the consensus process;

determining, by the blockchain node, classes of the service based on a service function of the service that was requested or based on a service content of the service that was requested, wherein the service function comprises a function to be performed using the service data and the service content defines an item processed by the service function;

determining, by the blockchain node, one or more service types of the service data corresponding to the classes of the service;

mapping, by the blockchain node, the one or more service types of the service data to one or more consensus algorithms based on a vulnerability of the service data, wherein the vulnerability of the service data indicates whether the service data is vulnerable or invulnerable to an attack;

identifying, by the blockchain node, based on operating principles of the one or more consensus algorithms, a minimum number of consensus nodes to perform the consensus process, wherein the minimum number of consensus nodes comprises a determined percentage of available consensus nodes within the blockchain network designated to process the one or more service types of the service data;

performing, by the blockchain node, a selection of consensus nodes from the blockchain network to perform the consensus process, wherein the selection of consensus nodes is based on the minimum number of consensus nodes and a respective load of each consensus node of consensus nodes in the blockchain network; and

sending, by the blockchain node, the service data to the consensus nodes that were selected to perform the consensus process on the service data.

18. The computer-implemented system of claim 17 , wherein consensus nodes that were selected comprise a portion of available consensus nodes within the blockchain network that is smaller than the available consensus nodes within the blockchain network for the service data that is invulnerable to the attack.

19. The computer-implemented system of claim 17 , wherein performing, by the blockchain node, a selection of consensus nodes comprises:

determining a quantity of consensus nodes to participate in the consensus process of the service data, wherein the quantity of consensus nodes satisfies a predetermined quantity; and

selecting, by the blockchain node, a quantity of consensus nodes from the blockchain network.

20. The computer-implemented system of claim 17 , wherein the respective load of each consensus node of consensus nodes in the blockchain network is included in a sequence of load statuses.

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 Aug 24, 2020
From: WANG, SHIFENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 053577/0007 →
Priority Claims (1)
CN 201710405191.3 · May 31, 2017 · national
Continuity (3)
Continuation 16507920 · Jul 10, 2019
Continuation PCTCN2018088947 · May 30, 2018
Related Publication 20200334214A1 · Oct 22, 2020
Cited By (1)
US 12,613,979