IP Library Granted Patent US 12,034,867
Granted Patent B2
US 12,034,867 · App. 17/399,803 · Granted Jul 9, 2024

Blockchain with random committee selection

Inventors: Yacov Manevich (Haifa, IL); Artem Barger (Haifa, IL); Hagar Meir (Haifa, IL)
Assignee: International Business Machines Corporation
H04L9/3255H04L9/3236H04L9/50H04L2209/46H04L2209/56
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 12,034,867
App. No.
17/399,803
Granted
Jul 9, 2024
Kind
B2
Abstract

An example operation may include one or more of storing blockchain blocks committed to a blockchain based on a protocol executed by a current consensus committee of a blockchain network, receiving random values from the blockchain blocks which are created by nodes of the current consensus committee, randomly determining nodes of a next consensus committee of the blockchain network with respect to the current consensus committee based on the random values created by the nodes of the current consensus committee, and storing a new block to the blockchain based on a protocol based executed by the nodes of the next consensus committee.

Claims (49)

1. An apparatus, comprising:

a processor that, when executing instructions stored in an associated memory, is configured to:

receive random values from firstborn blockchain blocks that are committed to a blockchain and that are created by corresponding nodes of a current consensus committee of a blockchain network, wherein the firstborn blocks are the first blocks created by the corresponding nodes;

create a random seed using the random values from the firstborn blocks;

randomly determine nodes of a next consensus committee of the blockchain network with respect to the current consensus committee based on the random seed; and

store a new block to the blockchain based on a protocol executed by the nodes of the next consensus committee.

2. The apparatus of claim 1 , wherein the current consensus committee and the next consensus committee comprise different respective subsets of nodes from among a larger set of nodes included in the blockchain network.

3. The apparatus of claim 1 , wherein the processor is further configured to:

detect a committee change notification in a last block produced by the current consensus committee, wherein the committee change notification indicates that a change from the current consensus committee to the next consensus committee will occur, and

wherein, when the processor randomly determines nodes of the next consensus committee, the processor is further configured to:

randomly determine the nodes of the next consensus committee in response to a detection of the committee change notification.

4. The apparatus of claim 1 , wherein the random values comprise randomly sampled coefficients from a polynomial equation.

5. The apparatus of claim 1 , wherein the random values are encrypted, and

wherein the processor is further configured to:

receive and verify zero-knowledge proofs (ZKPs) from the nodes of the current consensus committee that prove a correctness of an encryption of the random values.

6. The apparatus of claim 1 , wherein the processor is configured to:

map segments of the random seed to node identifiers of the nodes in the next consensus committee.

7. The apparatus of claim 1 , wherein, when the processor receives the random values, the processor is further configured to:

receive the random values piggybacked via pre-prepare messages from the nodes of the current consensus committee.

8. A method, comprising:

storing blockchain blocks committed to a blockchain based on a protocol executed by a current consensus committee of a blockchain network;

receiving random values from firstborn blockchain blocks that are committed to a blockchain and that are created by corresponding nodes of a current consensus committee of a blockchain network, wherein the firstborn blocks are the first blocks created by the corresponding nodes;

randomly determining nodes of a next consensus committee of the blockchain network with respect to the current consensus committee based on the random values created by the nodes of the current consensus committee;

creating a random seed using the random values from the firstborn blocks; and

storing a new block to the blockchain based on a protocol executed by the nodes of the next consensus committee.

9. The method of claim 8 , wherein the current consensus committee and the next consensus committee comprise different respective subsets of nodes from among a larger set of nodes included in the blockchain network.

10. The method of claim 8 , wherein the method further comprises:

detecting a committee change notification in a last block produced by the current consensus committee, wherein the committee change notification indicates that a change from the current consensus committee to the next consensus committee will occur; and

wherein the randomly determining the nodes of the next consensus committee further comprises:

randomly determining the nodes of the next consensus committee in response to the detecting.

11. The method of claim 8 , wherein the random values comprise randomly sampled coefficients from a polynomial equation.

12. The method of claim 8 , wherein the random values are encrypted, and

wherein the receiving further comprises:

receiving zero-knowledge proofs (ZKPs) from the nodes of the current consensus committee proving a correctness of an encryption of the random values.

13. The method of claim 8 , wherein the method further comprises:

mapping segments of the random seed to node identifiers of the nodes in the next consensus committee.

14. The method of claim 8 , wherein, the receiving the random values further comprises:

receiving the random values piggybacked via pre-prepare messages from the nodes of the current consensus committee.

15. A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform comprising:

storing blockchain blocks committed to a blockchain based on a protocol executed by a current consensus committee of a blockchain network;

receiving random values from firstborn blockchain blocks that are committed to a blockchain and that are created by corresponding nodes of a current consensus committee of a blockchain network, wherein the firstborn blocks are the first blocks created by the corresponding nodes;

randomly determining nodes of a next consensus committee of the blockchain network with respect to the current consensus committee based on the random values created by the nodes of the current consensus committee;

creating a random seed using the random values from the firstborn blocks; and

storing a new block to the blockchain based on a protocol executed by the nodes of the next consensus committee.

16. The non-transitory computer-readable medium of claim 15 , wherein the current consensus committee and the next consensus committee comprise different respective subsets of nodes from among a larger set of nodes included in the blockchain network.

17. The non-transitory computer-readable medium of claim 15 , wherein the instructions further cause the processor to perform:

detecting a committee change notification in a last block produced by the current consensus committee, wherein the committee change notification indicates that a change from the current consensus committee to the next consensus committee will occur; and

wherein the randomly determining the nodes of the next consensus committee further comprises:

randomly determining the nodes of the next consensus committee in response to the detecting.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2021
From: MANEVICH, YACOV; BARGER, ARTEM; MEIR, HAGAR
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057151/0978 →
Continuity (1)
Related Publication 20230059580A1 · Feb 23, 2023