US 11,921,689 B2
Data structure storage optimisation
Mansoor Ahmed-Rengers, Cambridge (GB); and Jonathan Geater, Cambridge (GB)
Assigned to RKVST Limited, Beverley (GB)
Filed by RKVST Limited, Beverley (GB)
Filed on Mar. 20, 2023, as Appl. No. 18/123,919.
Application 18/123,919 is a division of application No. 17/087,055, filed on Nov. 2, 2020, granted, now 11,636,080.
Claims priority of application No. 1916295.7 (GB), filed on Nov. 8, 2019.
Prior Publication US 2023/0229649 A1, Jul. 20, 2023
Int. Cl. G06F 16/22 (2019.01); G06F 16/23 (2019.01); H04L 9/32 (2006.01)
CPC G06F 16/2272 (2019.01) [G06F 16/2365 (2019.01); H04L 9/3242 (2013.01); H04L 9/3247 (2013.01)] 13 Claims
OG exemplary drawing
 
1. A method of verifying a data structure comprising a plurality of linked data blocks, the method performed on a computing device, and comprising:
reading a data block of the data structure;
determining that the data block is a sub-chain end block at an end of a sub-chain in the data structure, the sub-chain comprising a first data block at a start of the sub-chain and at least one intervening data block between the first data block and the sub-chain end block;
extracting a cryptographic hash of the first data block at the start of the sub-chain from the end data block;
computing a cryptographic hash of the first data block at the start of the sub-chain;
determining if the extracted cryptographic hash of the first data block matches the computed cryptographic hash of the first data block,
successfully verifying the integrity of the data blocks of the sub-chain based on the extracted cryptographic hash of the first data block matching the computed cryptographic hash of the first data block; and
only storing a genesis block of the data structure, a sub-chain end block of each sub-chain of the data structure, a first data block of each sub-chain of the data structure, and all blocks of a final sub-chain corresponding to the verified data blocks of the sub-chain thereby enabling a computing device to verify that there are no additions, removals, or modifications to the data structure.