US 11,856,100 B2
Partitioning a blockchain network
Dean Kramer, London (GB); Martin Sewell, London (GB); and Bassem Ammar, Lancaster (GB)
Assigned to nChain Licensing AG, Zug (CH)
Appl. No. 17/050,836
Filed by nChain Licensing AG, Zug (CH)
PCT Filed Apr. 24, 2019, PCT No. PCT/IB2019/053378
§ 371(c)(1), (2) Date Oct. 26, 2020,
PCT Pub. No. WO2019/207500, PCT Pub. Date Oct. 31, 2019.
Claims priority of application No. 1806907 (GB), filed on Apr. 27, 2018; application No. 1806909 (GB), filed on Apr. 27, 2018; application No. 1806911 (GB), filed on Apr. 27, 2018; application No. 1806914 (GB), filed on Apr. 27, 2018; and application No. 1806930 (GB), filed on Apr. 27, 2018.
Prior Publication US 2021/0240733 A1, Aug. 5, 2021
Int. Cl. H04L 9/32 (2006.01); G06F 16/27 (2019.01); G06F 16/23 (2019.01); G06Q 20/06 (2012.01); G06Q 20/36 (2012.01); G06Q 20/38 (2012.01); H04L 9/06 (2006.01); G06F 9/38 (2018.01); G06Q 20/22 (2012.01); G06F 16/901 (2019.01); G06F 16/22 (2019.01); H04L 9/00 (2022.01)
CPC H04L 9/32 (2013.01) [G06F 9/3836 (2013.01); G06F 16/2246 (2019.01); G06F 16/2379 (2019.01); G06F 16/278 (2019.01); G06F 16/9027 (2019.01); G06Q 20/065 (2013.01); G06Q 20/0658 (2013.01); G06Q 20/223 (2013.01); G06Q 20/3674 (2013.01); G06Q 20/3678 (2013.01); G06Q 20/3827 (2013.01); H04L 9/0618 (2013.01); H04L 9/0643 (2013.01); H04L 9/3239 (2013.01); H04L 9/50 (2022.05); H04L 2209/56 (2013.01)] 14 Claims
OG exemplary drawing
 
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.