| CPC H04L 9/50 (2022.05) [G06F 16/1805 (2019.01); G06F 16/2246 (2019.01); G06F 16/27 (2019.01); G06F 21/62 (2013.01); H04L 9/3247 (2013.01)] | 16 Claims |

|
1. A method of using a tree structure overlaid on a blockchain maintained across servers of a blockchain network, the tree structure comprising a plurality of nodes and edges between nodes, wherein each node is a different transaction recorded on the blockchain, and each edge connects from a respective child node to a respective parent node, the edges being formed by each transaction comprising a transaction ID and each child node specifying the transaction ID of the respective parent node in a respective payload of the child node, and wherein one of the parent nodes is a root node of the tree structure; the method comprising, performed by an operating system, file system or antivirus software on client user equipment being a client of the blockchain network:
at request of a user of the client user equipment, instigating a requested file operation to be performed on a current instance of a file stored locally on the client user equipment, the requested file operation comprising at least one of reading the file, modifying the file, executing the file, or deleting the file; and
in response to the instigation of the requested file operation:
inspecting the blockchain to identify at least part of the tree structure, including at least identifying a target one of the child nodes which includes a record of a reference instance of the file recorded in the respective payload of the target child node, and identifying a path comprising one or more edges back through the tree structure from the target child node to the root node;
performing checks comprising:
A) for each edge along the identified path from the target child node back to the root node, checking that the respective child node is signed by a key associated with the respective parent node, and
B) checking that the current instance of the file stored locally on the client user equipment matches the record of the reference instance included in the target child node;
verifying the current instance of the file at least on condition that checks A) and B) are positive; and
enabling the user to perform the requested file operation on the current instance of the file on condition of said verifying, and based on said enabling performing the requested file operation locally on the client user equipment.
|