US 11,658,831 B2
Validation of the integrity of data
Michael Stuart Jacobs, Monmouth (GB); and James Zorab, Monmouth (GB)
Assigned to The Ascent Group Ltd, Monmouth (GB)
Appl. No. 16/88,604
Filed by The Ascent Group Ltd, Monmouth (GB)
PCT Filed Mar. 30, 2017, PCT No. PCT/GB2017/050896
§ 371(c)(1), (2) Date Sep. 26, 2018,
PCT Pub. No. WO2017/168159, PCT Pub. Date Oct. 5, 2017.
Claims priority of application No. 1605343 (GB), filed on Mar. 30, 2016.
Prior Publication US 2019/0103975 A1, Apr. 4, 2019
Int. Cl. H04L 9/00 (2022.01); G06F 21/64 (2013.01); H04L 9/32 (2006.01); G06F 16/901 (2019.01); G06F 21/60 (2013.01)
CPC H04L 9/50 (2022.05) [G06F 16/9014 (2019.01); G06F 21/602 (2013.01); G06F 21/64 (2013.01); H04L 9/3239 (2013.01)] 9 Claims
OG exemplary drawing
 
1. A computer-implemented method of enabling validation of an integrity of data by reference to a plurality of unique data items (“HASH_LINKED”) stored in a hash chain on at least one computing device, wherein the hash chain is produced at least by:
(a) combining at least one HASH_LINKED already recorded on the hash chain with a newly added data source and hashing the resulting combination to produce a new hash (“HASH_SALTED”);
(b) storing the HASH_SALTED in a new record of a database stored on the at least one computing device; and
(c) combining, in the new record, the HASH_SALTED with a most recent HASH_LINKED and hashing the combination to produce a further HASH_LINKED stored to another field in the new record, such that a most recent HASH_SALTED and the further HASH_LINKED are permanently linked by position in the database,
wherein (a) to (c) are repeated in multiple iterations,
wherein following each repeat of (a), each most recent HASH_LINKED is combined with a succeeding HASH_SALTED in (c) and hashed to produce a succeeding further HASH_LINKED stored in the new record, and
wherein the at least one HASH_LINKED already recorded on said hash chain is a record on the hash chain preceding the most recent HASH_LINKED,
wherein the at least one HASH_LINKED comprises two HASH_PRIORs and a single HASH_PREVIOUS,
wherein the two HASH_PRIORs each comprise any HASH_LINKED that has already been incorporated at least once into later HASH_SALTEDs,
wherein the single HASH_PREVIOUS comprises a hash drawn from a collection of recently added HASH_LINKEDs which has not yet been combined with later sources to create new HASH_SALTEDs,
wherein (a) combining at least one HASH_LINKED comprises (a) combining the two HASH_PRIORs, the single HASH_PREVIOUS, a SALT, and the newly added data source and hashing the resulting combination to produce the new HASH_SALTED,
wherein at periodic intervals a BLOCK CONFIRMATION RECORD is created hashing a combination of a previous HASH_LINKED from a prior iteration and a file containing all records created since a previous BLOCK CONFIRMATION RECORD so as to create the HASH_SALTED to be stored in a pre-determined position within the hash chain, and
wherein the value of the HASH_SALTED is combined with the most recent HASH_LINKED on the hash chain to produce a new most recent HASH_LINKED stored in the new record.