| CPC H04L 9/0643 (2013.01) [G06F 9/45508 (2013.01); G06F 9/466 (2013.01); G06F 16/9024 (2019.01); H04L 9/50 (2022.05)] | 20 Claims |

|
1. A system, comprising:
a non-transitory memory; and
one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the one or more hardware processors to:
obtain instruction to prune data stored in a tamper-evident data store, wherein:
the data includes a first program state of a first program at a first time,
the first program is one of a plurality of programs having program state stored in the tamper-evident data store,
the instruction identifies the first program with an identifier that distinguishes the first program from a second program among the plurality of programs,
the tamper-evident data store comprises a directed acyclic graph of cryptographic hash pointers,
a first subset of the cryptographic hash pointers have cryptographic hash values based on the first program state of the first program at the first time,
a second subset of the cryptographic hash pointers have cryptographic hash values based on a second program state of the first program at a second time,
a third subset of the cryptographic hash pointers have cryptographic hash values based on the first program state of the first program at the first time, the second program state of the first program at the second time, and a program state of the second program, and
the tamper-evident data store comprises or is associated with a record that links the first subset of the cryptographic hash pointers to the second subset of the cryptographic hash pointers;
in response to the instruction and based on the identifier and the record that links the first subset of the cryptographic hash pointers to the second subset of the cryptographic hash pointers, select:
a first subset of nodes of the directed acyclic graph having first content based on the first program state of the first program at the first time, the cryptographic hash values of the first subset of the cryptographic hash pointers being based on the first content, and
a second subset of nodes of the directed acyclic graph having second content based on the second program state of the first program at the second time, the cryptographic hash values of the second subset of the cryptographic hash pointers being based on the second content; and
prune the first program state and the second program state from the tamper-evident data store by pruning the first content and the second content, wherein:
after the pruning, cryptographic hash values of the directed acyclic graph of cryptographic hash pointers are internally consistent, and
after the pruning, the program state of the second program remains in the tamper-evident data store.
|