IP Library Granted Patent US 11,343,313
Granted Patent B1
US 11,343,313 · App. 17/160,829 · Granted May 24, 2022

Fault tolerant periodic leader rotation for blockchain

Inventors: Yacov Manevich (Haifa, IL); Hagar Meir (Haifa, IL); Artem Barger (Haifa, IL)
Assignee: International Business Machines Corporation
H04L67/1085H04L67/1048H04L67/1051H04L67/1068
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,343,313
App. No.
17/160,829
Granted
May 24, 2022
Kind
B1
Abstract

An example operation may include one or more of storing a list of unavailable blockchain peers that cannot be a lead peer of a blockchain consensus protocol, generating a pre-prepare message comprising a new block of a blockchain, appending commit messages received during a commit stage of a previous block to the blockchain, to the pre-prepare message, where the commit messages identify an unavailable blockchain peer from the list that is now available, and broadcasting the pre-prepare message with the new block and the appended commit messages to a plurality of blockchain peers.

Claims (31)

1. An apparatus comprising:

a storage configured to store a list of unavailable blockchain peers that cannot be a lead peer of a blockchain consensus protocol;

a processor configured to generate a pre-prepare message which comprises a new block of a blockchain, and append commit messages received in a commit stage of a previous block to the blockchain, to the pre-prepare message, where the commit messages identify an unavailable blockchain peer from the list that is now available; and

a network interface configured to broadcast the pre-prepare message with the new block and the appended commit messages to a group of blockchain peers.

2. The apparatus of claim 1 , wherein the processor is configured to append signatures of blockchain peers that provided the commit messages received in the commit stage of the previous block to the pre-prepare message.

3. The apparatus of claim 1 , wherein the processor is further configured to determine that a predetermined threshold of the commit messages include a prepare message from the unavailable blockchain peer received in a prepare stage of the previous block.

4. The apparatus of claim 1 , wherein the processor is further configured to delete an identifier of the unavailable peer from the list of unavailable blockchain peers, in response to the commit messages that identify the unavailable blockchain peer is now available.

5. The apparatus of claim 4 , wherein the processor is further configured to rotate a lead peer of the group of blockchain peers to the now available blockchain peer that is deleted from the list, in response to a consensus among the group of blockchain peers.

6. The apparatus of claim 1 , wherein the processor is configured to delete an identifier of the unavailable peer from the list of unavailable peers if the unavailable peer has only been on the list once or less over a predetermined period.

7. The apparatus of claim 1 , wherein the processor is further configured to determine that at least a predetermined threshold of the commit messages received in the commit stage of the previous block include an identifier that indicates a prepare message was received from the unavailable blockchain peer from the list.

8. The apparatus of claim 1 , wherein the processor is further configured to detect one or more of a fault, a timeout, and a malicious activity of the unavailable blockchain peer, and add the unavailable blockchain peer to the list, prior to generation of the pre-prepare message.

9. The apparatus of claim 1 , wherein the processor is further configured to periodically rotate a lead peer of the group of blockchain peers every predetermined number of blocks while a view remains the same.

10. A method comprising:

storing a list of unavailable blockchain peers that cannot be a lead peer of a blockchain consensus protocol;

generating a pre-prepare message comprising a new block of a blockchain;

appending commit messages received during a commit stage of a previous block to the blockchain, to the pre-prepare message, where the commit messages identify an unavailable blockchain peer from the list that is now available; and

broadcasting the pre-prepare message with the new block and the appended commit messages to a plurality of blockchain peers.

11. The method of claim 10 , wherein the appending comprises appending signatures of blockchain peers that provided the commit messages received during the commit stage of the previous block to the pre-prepare message.

12. The method of claim 10 , wherein the method further comprises determining that a predetermined threshold of the commit messages include a prepare message from the unavailable blockchain peer received during a prepare stage of the previous block.

13. The method of claim 10 , wherein the method further comprises deleting an identifier of the unavailable peer from the list of unavailable blockchain peers, in response to the commit messages that identify the unavailable blockchain peer is now available.

14. The method of claim 13 , wherein the method further comprises rotating a lead peer of the group of blockchain peers to the now available blockchain peer that is deleted from the list, in response to a consensus among the group of blockchain peers.

15. The method of claim 10 , wherein the method further comprises deleting an identifier of the unavailable peer from the list of unavailable peers only if the unavailable peer has been on the list once or less over a predetermined period.

16. The method of claim 10 , wherein the method further comprises determining that at least a predetermined threshold of the commit messages received during the commit stage of the previous block include an identifier that indicates a prepare message was received from the unavailable blockchain peer from the list.

17. The method of claim 10 , wherein the method further comprises detecting one or more of a fault, a timeout, and a malicious activity of the unavailable blockchain peer, and add the unavailable blockchain peer to the list, prior to generation of the pre-prepare message.

18. The method of claim 10 , wherein the method further comprises periodically rotating a lead peer of the group of blockchain peers every predetermined number of blocks while a view remains the same.

19. A non-transitory computer-readable medium comprising instructions which when executed by a processor cause the processor to perform a method comprising:

storing a list of unavailable blockchain peers that cannot be a lead peer of a blockchain consensus protocol;

generating a pre-prepare message comprising a new block of a blockchain;

appending commit messages received during a commit stage of a previous block to the blockchain, to the pre-prepare message, where the commit messages identify an unavailable blockchain peer from the list that is now available; and

broadcasting the pre-prepare message with the new block and the appended commit messages to a plurality of blockchain peers.

20. The non-transitory computer-readable medium of claim 19 , wherein the method further comprises deleting an identifier of the unavailable peer from the list of unavailable blockchain peers, in response to the commit messages that identify the unavailable blockchain peer is now available.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: MANEVICH, YACOV; MEIR, HAGAR; BARGER, ARTEM
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 055064/0250 →
Cited By (2)
US 12,373,424 US 12,695,802