| 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)] | 12 Claims |

|
1. A computer-implemented method for maintaining blocks of a blockchain across nodes of a sharded blockchain network comprising a plurality of shards, wherein:
each node is a member of one or more shards, and each node stores a UTXO set for each shard of which it is a member and block data for all shards of which it is a member;
the method comprising, at a given node that is a member of a particular subset of the plurality of shards:
receiving a new block of the blockchain including a plurality of transactions;
generating data representing the new block, by:
generating a list of transaction identifiers for a first plurality of transactions that are part of the new block and associated with the particular subset of the plurality of shards; and
generating a Partial Merkle Tree from transaction identifiers for a second plurality of transactions that are part of the new block;
storing the data representing the new block in the block data for the shard; and
propagating the block data to other nodes in the shard;
wherein in generating the data representing the new block, the node validates transactions having an input that relates to a UTXO stored in one of its stored UTXO sets, while bypassing validation of transactions that are part of the new block and not having an input that relates to a UTXO stored in one of its stored UTXO sets.
|