IP Library Granted Patent US 12,028,453
Granted Patent B2
US 12,028,453 · App. 17/050,837 · Granted Jul 2, 2024

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 12,028,453
App. No.
17/050,837
Granted
Jul 2, 2024
Kind
B2
Abstract

A computer-implemented method of partitioning a blockchain network into shards is disclosed. The method comprises identifying a parent blockchain transaction, the parent transaction defined by an output which corresponds to an input of a child blockchain transaction, and allocating the parent transaction and the child transaction to the same shard.

Claims (38)

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:

identifying an input of a given transaction;

identifying an output of an earlier transaction that corresponds to the input of the given transaction;

determining that the earlier transaction is a parent blockchain transaction of the given transaction, the given transaction being a child blockchain transaction;

identifying a shard among the plurality of shards;

allocating the parent blockchain transaction and the child blockchain transaction to the identified shard; and

distributing the parent and child blockchain transactions to at least one node in the determined shard.

2. The computer-implemented method of claim 1 , wherein the parent blockchain transaction is identified using an input, having an index, of a plurality of inputs of the child blockchain transaction, wherein the input used is selected on the basis of the index.

3. The computer-implemented method of claim 1 , wherein the child blockchain transaction has a plurality of inputs, and said step of identifying an output of an earlier transaction comprises:

identifying a plurality of subsets of said inputs, wherein each subset comprises inputs that correspond to outputs from the same earlier transaction,

wherein the parent blockchain transaction is identified as the earlier transaction corresponding to the inputs in the largest subset of inputs.

4. The computer-implemented method of claim 1 , wherein allocating the parent blockchain transaction and the child blockchain transaction to the identified shard causes the identified shard to verify at least one unspent transaction output (UTXO).

5. A system, comprising:

a processor; and

memory including executable instructions, wherein, as a result of execution of the instructions, the processor allocates 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, by:

identifying an input of a given transaction;

identifying an output of an earlier transaction that corresponds to the input of the given transaction;

determining that the earlier transaction is a parent blockchain transaction of the given transaction, the given transaction being a child blockchain transaction;

identifying a shard among the plurality of shards;

allocating the parent blockchain transaction and the child blockchain transaction to the identified shard; and

distributing the parent and child blockchain transactions to at least one node in the determined shard.

6. The system of claim 5 , wherein the parent blockchain transaction is identified using an input, having an index, of a plurality of inputs of the child blockchain transaction, wherein the input used is selected on the basis of the index.

7. The system of claim 5 ,

wherein the child blockchain transaction has a plurality of inputs, and said step of identifying an output of an earlier transaction comprises:

identifying a plurality of subsets of said inputs, wherein each subset comprises inputs that correspond to outputs from the same earlier transaction;

wherein the parent blockchain transaction is identified as the earlier transaction corresponding to the inputs in the largest subset of inputs.

8. The system of claim 5 , wherein the memory further comprises executable instructions that, as a result of execution by the processor, cause the system to allocate blockchain transactions based on transaction identifiers.

9. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to allocate 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, by:

identifying an input of a given transaction;

identifying an output of an earlier transaction that corresponds to the input of the given transaction;

determining that the earlier transaction is a parent blockchain transaction of the given transaction, the given transaction being a child blockchain transaction;

identifying a shard among the plurality of shards;

allocating the parent blockchain transaction and the child blockchain transaction to the identified shard; and

distributing the parent and child blockchain transactions to at least one node in the determined shard.

10. The non-transitory computer-readable storage medium according to claim 9 , wherein the parent blockchain transaction is identified using an input, having an index, of a plurality of inputs of the child blockchain transaction, wherein the input used is selected on the basis of the index.

11. The non-transitory computer-readable storage medium according to claim 9 , wherein the child blockchain transaction has a plurality of inputs, and said step of identifying an output of an earlier transaction comprises:

identifying a plurality of subsets of said inputs, wherein each subset comprises inputs that correspond to outputs from the same earlier transaction,

wherein the parent blockchain transaction is identified as the earlier transaction corresponding to the inputs in the largest subset of inputs.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2024
From: KRAMER, DEAN; SEWELL, MARTIN
To: NCHAIN LICENSING AG
Reel/Frame 066244/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: KRAMER, DEAN; SEWELL, MARTIN; AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 066148/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: KRAMER, DEAN; SEWELL, MARTIN; AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 066148/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: KRAMER, DEAN; SEWELL, MARTIN; AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 066148/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 066149/0317 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: KRAMER, DEAN; SEWELL, MARTIN; AMMAR, BASSEM
To: NCHAIN HOLDINGS LTD
Reel/Frame 066148/0959 →
CHANGE OF NAME Recorded May 7, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063560/0370 →
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 20210234665A1 · Jul 29, 2021