IP Library › Granted Patent US 11,856,100
Granted Patent B2
US 11,856,100 · App. 17/050,836 · Granted Dec 26, 2023

Partitioning a blockchain network

Inventors: Dean Kramer (London, GB); Martin Sewell (London, GB); Bassem Ammar (Lancaster, GB)
Assignee: nChain Licensing AG
H04L9/32G06F9/3836G06F16/2246G06F16/2379G06F16/278G06F16/9027G06Q20/065G06Q20/0658G06Q20/223G06Q20/3674G06Q20/3678G06Q20/3827H04L9/0618H04L9/0643H04L9/3239H04L9/50H04L2209/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 11,856,100
App. No.
17/050,836
Granted
Dec 26, 2023
Kind
B2
Abstract

A computer-implemented method of partitioning a blockchain network into shards is disclosed. The method comprises the steps of identifying a transaction id of a blockchain transaction and allocating the transaction to a shard based on the transaction id.

Claims (36)

1. A computer-implemented method for allocating transactions associated with a blockchain network, wherein the blockchain network is partitioned into a plurality of shards, each shard comprising at least one node, and wherein each node in the blockchain network is associated with at least one shard among the plurality of shards, the method comprising the steps of, at a first node:

identifying a transaction id of a blockchain transaction;

based on the transaction id and the number of shards in the plurality of shards, determining a shard among the plurality of shards;

allocating the transaction to the determined shard;

distributing the transaction to the at least one node in the determined shard; and

communicating a request for shard membership information of a node to another node;

wherein the step of determining the shard further comprises the step of performing an operation using the transaction id, and wherein the step of allocating the transaction to a shard is based on the result of the operation.

2. The method of claim 1 , further comprising the step of communicating shard membership information of a node to another node.

3. The method of claim 1 , wherein the step of communicating is performed using a modified addr message.

4. The method of claim 1 , further comprising:

identifying a second transaction id of a second blockchain transaction; and

allocating the second transaction to another shard based at least in part on the second transaction id of the second blockchain transaction.

5. The method of claim 1 , wherein allocation of the blockchain transaction to the shard is to perform an unspent transaction output check to validate the blockchain transaction.

6. The method of claim 1 , wherein the operation comprises a modulo operation.

7. A system for allocating transactions associated with a blockchain network, wherein the blockchain network is partitioned into a plurality of shards, each shard comprising at least one node, and wherein each node in the blockchain network is associated with at least one shard among the plurality of shards, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, causes the system to:

identify a transaction id of a blockchain transaction;

based on the transaction id and the number of shards in the plurality of shards, determine a shard among the plurality of shards;

allocate the transaction to the determined shard;

distribute the transaction to the at least one node in the determined shard; and

communicate a request for shard membership information of a node to another node;

wherein the step of determining the shard further comprises the step of performing an operation using the transaction id, and wherein the step of allocating the transaction to a shard is based on the result of the operation, and wherein the operation comprises a modulo operation.

8. The system of claim 7 , wherein the memory comprises executable instructions that, as a result of execution by the processor, causes the system to communicate shard membership information of a node to another node.

9. The system of claim 7 , wherein the communication is performed using a modified addr message.

10. The system of claim 7 , wherein the operation comprises a modulo operation.

11. A non-transitory computer-readable storage medium for allocating transactions associated with a blockchain network, wherein the blockchain network is partitioned into a plurality of shards, each shard comprising at least one node, and wherein each node in the blockchain network is associated with at least one shard among the plurality of shards, having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to:

identify a transaction id of a blockchain transaction;

based on the transaction id and the number of shards in the plurality of shards, determine a shard among the plurality of shards;

allocate the transaction to the determined shard;

distribute the transaction to the at least one node in the determined shard; and

communicate a request for shard membership information of a node to another node;

wherein the step of determining the shard further comprises the step of performing an operation using the transaction id, and wherein the step of allocating the transaction to a shard is based on the result of the operation.

12. The non-transitory computer-readable storage medium of claim 11 having stored thereon executable instructions that, as a result of being executed by the processor of the computer system, cause the computer system to communicate shard membership information of a node to another node.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the communication is performed using a modified addr message.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the operation comprises a modulo operation.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2024
From: KRAMER, DEAN; SEWELL, MARTIN
To: NCHAIN LICENSING AG
Reel/Frame 069140/0883 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2023
From: AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 065487/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: KRAMER, DEAN; SEWELL, MARTIN; AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 062627/0251 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: KRAMER, DEAN; SEWELL, MARTIN; AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 062626/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: KRAMER, DEAN; SEWELL, MARTIN; AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 062627/0352 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2023
From: KRAMER, DEAN; SEWELL, MARTIN; AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 062626/0985 →
CHANGE OF NAME Recorded Feb 5, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 062639/0971 →
Priority Claims (5)
GB 1806907 · Apr 27, 2018 · national
GB 1806909 · Apr 27, 2018 · national
GB 1806911 · Apr 27, 2018 · national
GB 1806914 · Apr 27, 2018 · national
GB 1806930 · Apr 27, 2018 · national
Continuity (1)
Related Publication 20210240733A1 · Aug 5, 2021
Cited By (1)
US 12,200,054