IP Library Granted Patent US 10,693,957
Granted Patent B2
US 10,693,957 · App. 16/715,126 · Granted Jun 23, 2020

System and method for adding node in blockchain network

Inventors: Guilu Xie (Hangzhou, CN); Ning Xia (Hangzhou, CN)
Assignee: ALIBABA GROUP HOLDING LIMITED
H04L67/1065H04L9/0637H04L9/0643H04L2209/38
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,693,957
App. No.
16/715,126
Granted
Jun 23, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for adding a node in a blockchain network are provided. One of the methods includes: obtaining, by a current consensus node of the blockchain network, a first transaction comprising a first request for adding the node as a new consensus node of the blockchain network; in response to that consensus verification of the first transaction succeeds, executing the first transaction and numbering the node in a node list based on numbers of a plurality of current consensus nodes of the blockchain network; and performing view change for the node to participate in future consensus verification as the new consensus node of the blockchain network.

Claims (53)

1. A computer-implemented method for adding a node in a blockchain network, performed by a current consensus node of the blockchain network, comprising:

obtaining a first transaction comprising a first request for adding the node as a new consensus node of the blockchain network performing consensus verification of the first transaction;

in response to that consensus verification of the first transaction succeeds, executing the first transaction and numbering the node in a node list based on numbers of a plurality of current consensus nodes of the blockchain network;

obtaining from the node a second transaction comprising a second request for activating the node;

performing consensus verification of the second transaction;

in response to that the consensus verification of the second transaction succeeds, executing the second transaction for activating the node; and

performing view change for the node to participate in future consensus verification as the new consensus node of the blockchain network.

2. The method of claim 1 , wherein the first transaction is configured to invoke a blockchain contract deployed in a blockchain that is maintained by the blockchain network.

3. The method of claim 2 , wherein the blockchain contract comprises a genesis contract or a system contract.

4. The method of claim 1 , wherein the obtaining, by a current consensus node, a first transaction comprises:

obtaining the first transaction from a client-side device or a command console of a controller.

5. The method of claim 1 , wherein:

the current consensus node locally maintains the node list, the node list comprising one or more of the following: consensus node identifier, consensus node IP address, and consensus node port number; and

the plurality of consensus nodes are numbered sequentially in the node list.

6. The method of claim 1 , wherein the node list is in a world state of a blockchain maintained by the blockchain network.

7. The method of claim 1 , wherein the numbering the node in a node list based on numbers of a plurality of current consensus nodes of the blockchain network comprises:

adding an identifier of the node to an end of the node list and sequentially numbering the node based on the numbers of the plurality of consensus nodes in the node list; or

reordering the plurality of consensus nodes and the node in the node list according to a node attribute.

8. The method of claim 1 , wherein the performing view change comprises initiating the view change in response to detecting any of the following conditions:

a number of consensus nodes in the node list is inconsistent with a number of consensus nodes in a current view; and

consensus node identifiers in the node list are inconsistent with consensus node identifiers in the current view.

9. The method of claim 1 , wherein the performing view change comprises initiating the view change in response to receiving a message broadcast by the node for initiating view change.

10. The method of claim 1 , wherein the performing view change comprises initiating the view change in response to detecting any of the following conditions:

a number of activated consensus nodes in the node list is inconsistent with a number of activated consensus nodes in a current view; and

identifiers of activated consensus nodes in the node list are inconsistent with identifiers of the activated consensus nodes in the current view.

11. The method of claim 1 , wherein a number of replicas in the view change is a total number of consensus nodes including the node.

12. A non-transitory computer-readable storage medium for adding a node in a blockchain network, the storage medium implemented in a current consensus node of the blockchain network, the storage medium configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

obtaining a first transaction comprising a first request for adding the node as a new consensus node of the blockchain network performing consensus verification of the first transaction;

in response to that consensus verification of the first transaction succeeds, executing the first transaction and numbering the node in a node list based on numbers of a plurality of current consensus nodes of the blockchain network;

obtaining from the node a second transaction comprising a second request for activating the node;

performing consensus verification of the second transaction;

in response to that the consensus verification of the second transaction succeeds, executing the second transaction for activating the node; and

performing view change for the node to participate in future consensus verification as the new consensus node of the blockchain network.

13. The storage medium of claim 12 , wherein the first transaction is configured to invoke a blockchain contract deployed in a blockchain that is maintained by the blockchain network.

14. The storage medium of claim 13 , wherein the blockchain contract comprises a genesis contract or a system contract.

15. The storage medium of claim 12 , wherein the obtaining, by a current consensus node, a first transaction comprises:

obtaining the first transaction from a client-side device or a command console of a controller.

16. The storage medium of claim 12 , wherein:

the current consensus node locally maintains the node list, the node list comprising one or more of the following: consensus node identifier, consensus node IP address, and consensus node port number; and

the plurality of consensus nodes are numbered sequentially in the node list.

17. A system for adding a node in a blockchain network, the system implemented in a current consensus node of the blockchain network, the system comprising one or more processors and one or more computer-readable memories coupled to the one or more processors and having instructions stored thereon that are executable by the one or more processors to perform operations comprising:

obtaining a first transaction comprising a first request for adding the node as a new consensus node of the blockchain network performing consensus verification of the first transaction;

in response to that consensus verification of the first transaction succeeds, executing the first transaction and numbering the node in a node list based on numbers of a plurality of current consensus nodes of the blockchain network;

obtaining from the node a second transaction comprising a second request for activating the node;

performing consensus verification of the second transaction;

in response to that the consensus verification of the second transaction succeeds, executing the second transaction for activating the node; and

performing view change for the node to participate in future consensus verification as the new consensus node of the blockchain network.

18. The system of claim 17 , wherein the first transaction is configured to invoke a blockchain contract deployed in a blockchain that is maintained by the blockchain network.

19. The system of claim 17 , wherein the obtaining, by a current consensus node, a first transaction comprises:

obtaining the first transaction from a client-side device or a command console of a controller.

20. The system of claim 17 , wherein:

the current consensus node locally maintains the node list, the node list comprising one or more of the following: consensus node identifier, consensus node IP address, and consensus node port number; and

the plurality of consensus nodes are numbered sequentially in the node list.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053796/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053702/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: XIE, GUILU; XIA, NING
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051332/0897 →