CPC G06F 21/57 (2013.01) [G06F 21/64 (2013.01); H04L 9/50 (2022.05)] | 6 Claims |
1. A method of providing a secure naming system, the method comprising:
receiving, by a namespace administrator, a name registration;
registering a name-binding associated with the name registration in an initial specific node of an index tree, the name-binding comprising an index and a hash of the name registration;
the initial specific node of the index tree spending an unspent transaction output from a previous node of the index tree, wherein the unspent transaction originates from a publicly accessible transaction log;
wherein each node of the index tree represents a registration of a different, separate unit of digital information and a different, separate verifiable key derived therefrom, each separate unit of digital information originating from a separate source, the index tree providing secure access of specific digital information originating from a specific source by the end-point device, wherein the endpoint devices trusts the specific source while avoiding trusting the server;
computing a verifiable random function of the name registration, the verifiable random function using a private key to compute and wherein the verifiable random function can be publicly verified;
determining a proof of existence of the name-binding in the initial specific node of the index tree, the proof of existence represented as a path of transaction from a root node of the index tree to the initial specific node of the index tree;
receiving a query of the name registration from an end-point device; and
providing the verifiable random function, the proof of existence, and the name-binding to the end-point device and wherein the end-point device derives the index of the initial specific node of the index tree using the verifiable random function, verifies the proof of existence, and determines whether the name-binding hashes to a value matching in the proof of existence.
|