IP Library Granted Patent US 10,944,624
Granted Patent B2
US 10,944,624 · App. 16/779,033 · Granted Mar 9, 2021

Changing a master node in a blockchain system

Inventor: Peng Lin (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L41/0668G06F16/27H04L41/0813
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,944,624
App. No.
16/779,033
Granted
Mar 9, 2021
Kind
B2
Abstract

Implementations of this specification provide a method and an apparatus for changing a master node in a blockchain system. An example method performed by a backup node in the blockchain system includes determining that an epoch change is to occur in a blockchain system, generating a random number, and in response to determining that the random number satisfies an epoch change trigger condition, sending an epoch change request message to multiple network nodes other than the backup node in the blockchain system. The backup node receives a request acknowledgement message from at least one of the multiple network nodes, the request acknowledgement message indicating that the backup node is to serve as the new master node, and in response to receiving a number of request acknowledgement messages that is greater than a predetermined number of messages, the backup node sends an epoch change acknowledgement message to the multiple network nodes.

Claims (42)

1. A method comprising:

determining, at a backup node in a blockchain system, that an epoch change is to occur in the blockchain system, the blockchain system including multiple network nodes, the multiple network nodes including a current master node and a plurality of backup nodes;

in response to determining that the epoch change is to occur in the blockchain system, generating, by the backup node, a first random number;

in response to determining that the first random number satisfies an epoch change trigger condition, sending, by the backup node, an epoch change request message to multiple network nodes other than the backup node in the blockchain system to initiate the epoch change, wherein the epoch change request message indicates a request for changing a current epoch with the current master node to a new epoch with the backup node serving as a new master node, and wherein the epoch change request message comprises the first random number and proof information of the first random number, the first random number and the proof information of the first random number having been generated by using a verifiable random function algorithm, such that a number of backup nodes that concurrently attempt to initiate the epoch change is fewer than all backup nodes in the blockchain system;

receiving, at the backup node, a request acknowledgement message from at least one of the multiple network nodes, wherein the request acknowledgement message indicates that the backup node is to serve as the new master node; and

in response to receiving, at the backup node, a number of request acknowledgement messages that is greater than a predetermined number of messages, sending, by the backup node to the multiple network nodes, an epoch change acknowledgement message.

2. The method according to claim 1 , wherein the epoch change trigger condition comprises the first random number being less than a first predetermined threshold, or the first random number being greater than a second predetermined threshold.

3. The method according to claim 1 , wherein the request acknowledgment message comprises a proposal number of a proposal in the current epoch and a node identifier of a network node sending the request acknowledgment message.

4. The method according to claim 3 , wherein the epoch change acknowledgment message comprises the proposal number of the proposal in the current epoch and a node identifier of the backup node.

5. The method according to claim 1 , wherein determining, at the backup node in the blockchain system, that the epoch change is to occur comprises:

determining, at the backup node, that consensus processing for a proposal in the current epoch has not been completed within a predetermined time period.

6. The method according to claim 5 , wherein the verifiable random function algorithm is based on a second random number and a proposal number of the proposal in the current epoch, the second random number having been generated in a master node changing process of selecting the current master node for the current epoch; and

the request acknowledgement message is provided by the at least one of the multiple network nodes, based on the first random number and the proof information of the first random number.

7. The method according to claim 5 , wherein the consensus processing comprises three-stage consensus processing, and the request acknowledgment message comprises second-stage consensus commitment information and third-stage consensus commitment information that had been made by a network node sending the request acknowledgment message.

8. The method according to claim 7 , wherein the epoch change acknowledgment message further comprises a second-stage consensus commitment information set and a third-stage consensus commitment information set that includes information from each network node sending the request acknowledgment message.

9. 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 operations comprising:

determining, at a backup node in a blockchain system, that an epoch change is to occur in the blockchain system, the blockchain system including multiple network nodes, the multiple network nodes including a current master node and a plurality of backup nodes;

in response to determining that the epoch change is to occur in the blockchain system, generating, by the backup node, a first random number;

in response to determining that the first random number satisfies an epoch change trigger condition, sending, by the backup node, an epoch change request message to multiple network nodes other than the backup node in the blockchain system to initiate the epoch change, wherein the epoch change request message indicates a request for changing a current epoch with the current master node to a new epoch with the backup node serving as a new master node, and wherein the epoch change request message comprises the first random number and proof information of the first random number, the first random number and the proof information of the first random number having been generated by using a verifiable random function algorithm, such that a number of backup nodes that concurrently attempt to initiate the epoch change is fewer than all backup nodes in the blockchain system;

receiving, at the backup node, a request acknowledgement message from at least one of the multiple network nodes, wherein the request acknowledgement message indicates that the backup node is to serve as the new master node; and

in response to receiving, at the backup node, a number of request acknowledgement messages that is greater than a predetermined number of messages, sending, by the backup node to the multiple network nodes, an epoch change acknowledgement message.

10. The system according to claim 9 , wherein the epoch change trigger condition comprises the first random number being less than a first predetermined threshold, or the first random number being greater than a second predetermined threshold.

11. The system according to claim 9 , wherein the request acknowledgment message comprises a proposal number of a proposal in the current epoch and a node identifier of a network node sending the request acknowledgment message.

12. The system according to claim 11 , wherein the epoch change acknowledgment message comprises the proposal number of the proposal in the current epoch and a node identifier of the backup node.

13. The system according to claim 9 , wherein determining, at the backup node in the blockchain system, that the epoch change is to occur comprises:

determining, at the backup node, that consensus processing for a proposal in the current epoch has not been completed within a predetermined time period.

14. The system according to claim 13 , wherein the verifiable random function algorithm is based on a second random number and a proposal number of the proposal in the current epoch, the second random number having been generated in a master node changing process of selecting the current master node for the current epoch; and

the request acknowledgement message is provided by the at least one of the multiple network nodes, based on the first random number and the proof information of the first random number.

15. The system according to claim 13 , wherein the consensus processing comprises three-stage consensus processing, and the request acknowledgment message comprises second-stage consensus commitment information and third-stage consensus commitment information that had been made by a network node sending the request acknowledgment message.

16. The system according to claim 15 , wherein the epoch change acknowledgment message further comprises a second-stage consensus commitment information set and a third-stage consensus commitment information set that includes information from each network node sending the request acknowledgment message.

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

determining, at a backup node in a blockchain system, that an epoch change is to occur in the blockchain system, the blockchain system including multiple network nodes, the multiple network nodes including a current master node and a plurality of backup nodes;

in response to determining that the epoch change is to occur in the blockchain system, generating, by the backup node, a first random number;

in response to determining that the first random number satisfies an epoch change trigger condition, sending, by the backup node, an epoch change request message to multiple network nodes other than the backup node in the blockchain system to initiate the epoch change, wherein the epoch change request message indicates a request for changing a current epoch with the current master node to a new epoch with the backup node serving as a new master node, and wherein the epoch change request message comprises the first random number and proof information of the first random number, the first random number and the proof information of the first random number having been generated by using a verifiable random function algorithm, such that a number of backup nodes that concurrently attempt to initiate the epoch change is fewer than all backup nodes in the blockchain system;

receiving, at the backup node, a request acknowledgement message from at least one of the multiple network nodes, wherein the request acknowledgement message indicates that the backup node is to serve as the new master node; and

in response to receiving, at the backup node, a number of request acknowledgement messages that is greater than a predetermined number of messages, sending, by the backup node to the multiple network nodes, an epoch change acknowledgement message.

18. The computer-readable medium according to claim 17 , wherein the epoch change trigger condition comprises the first random number being less than a first predetermined threshold, or the first random number being greater than a second predetermined threshold.

19. The computer-readable medium according to claim 17 , wherein the request acknowledgment message comprises a proposal number of a proposal in the current epoch and a node identifier of a network node sending the request acknowledgment message.

20. The computer-readable medium according to claim 17 , wherein determining, at the backup node in the blockchain system, that the epoch change is to occur comprises:

determining, at the backup node, that consensus processing for a proposal in the current epoch has not been completed within a predetermined time period.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: LIN, PENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054856/0854 →
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 →