IP Library Granted Patent US 12,238,168
Granted Patent B1
US 12,238,168 · App. 17/496,397 · Granted Feb 25, 2025

Systems and methods for data integrity and authentication in a content-addressable peer-to-peer storage network

Inventor: James A. Thomason (Las Vegas, NV)
Assignee: EDJX, Inc.
H04L67/1097H04L9/0825H04L9/3242H04L9/3247
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,238,168
App. No.
17/496,397
Filed
Oct 7, 2021
Granted
Feb 25, 2025
Kind
B1
Art Unit
2439
USPC
713/168
Abstract

The present invention is a data protocol providing notarization of a data between two or more nodes on a content-addressable peer-to-peer storage network. A node generates a new data block, which is witnessed by peer nodes to increase the integrity of the data. Each peer node responds to the node's signature request with an encoded digital signature of the data using a private key. The node appends the signature from each witness node to the data block and then generates a cryptographic hash of the entire data block, which is used as the identity of the block.

Claims (53)

1. A method of providing notarization on a content-addressable peer-to-peer storage network comprising:

providing a plurality of nodes, wherein each of the plurality of nodes is connected to at least one other node and is a zero-configuration edge node, wherein each of the plurality of nodes maintains a registry of the plurality of nodes in the form of data blocks, a registry of data blocks the node possesses or has learned from other nodes, and a number of data blocks which are persisted to the node;

a first node of the plurality of nodes generating at least one new data block populated with data, signing the data with a signature, and appending the signature to the at least one new data block;

hashing the data using an algorithm, thereby creating a hash of the data;

signing the hash of the data using an encoded digital signature and appending the encoded digital signature to the at least one new data block;

triggering an event to an event handler and sending a signature request to a randomly selected set of peer nodes including the hash of the data;

each of the randomly selected set of peer nodes extracting the hash of the data and signing the hash of the data using a peer encoded digital signature, thereby creating a peer signed hash of the data;

each of the randomly selected set of peer nodes sending the peer signed hash of the data to the event handler;

validating the peer encoded digital signature;

the first node appending the peer encoded digital signature to the at least one new data block for each of the randomly selected set of peer nodes;

generating a block identification by hashing the at least one new data block with the peer encoded digital signature from each of the randomly selected set of peer nodes; and

gossiping existence of the at least one new data block to adjacent nodes.

2. The method of claim 1 , further including determining a quorum of the randomly selected set of peer nodes is present.

3. The method of claim 1 , further including one or more of the adjacent nodes requesting the at least one new data block from the first node.

4. The method of claim 1 , further including one or more of the adjacent nodes gossiping existence of the at least one new data block to at least one additional node.

5. The method of claim 1 , wherein the at least one new data block includes metadata, and wherein the metadata includes node information, at least one link to another data block, and/or a number of cryptographic signatures and node identities.

6. The method of claim 1 , further including configuring a number of peer nodes to form the randomly selected set of peer nodes.

7. The method of claim 1 , further including validating the peer encoded digital signature using a public key from each of the randomly selected set of peer nodes.

8. The method of claim 1 , wherein the at least one new data block includes a parent block and at least one child block.

9. The method of claim 1 , further including encrypting communication between nodes using public key cryptography.

10. The method of claim 1 , wherein one or more of the adjacent nodes is operable to purge at least one data block to store the at least one new data block.

11. A method of providing notarization on a content-addressable peer-to-peer storage network comprising:

providing a plurality of nodes, wherein each of the plurality of nodes is connected to at least one other node and is a zero-configuration edge node, wherein each of the plurality of nodes maintains a registry of the plurality of nodes in the form of data blocks, a registry of data blocks the node possesses or has learned from other nodes, and a number of data blocks which are persisted to the node;

a first node of the plurality of nodes generating at least one new data block populated with data, signing the data with a signature, and appending the signature to the at least one new data block;

hashing the data using an algorithm, thereby creating a hash of the data;

signing the hash of the data using an encoded digital signature and appending the encoded digital signature to the at least one new data block;

triggering an event to an event handler and sending a signature request to a randomly selected set of peer nodes including the hash of the data;

each of the randomly selected set of peer nodes extracting the hash of the data and signing the hash of the data using a peer encoded digital signature, thereby creating a peer signed hash of the data;

each of the randomly selected set of peer nodes sending the peer signed hash of the data to the event handler;

the event handler validating the peer encoded digital signature;

the first node validating the peer encoded digital signature and appending the peer encoded digital signature to the at least one new data block for each of the randomly selected set of peer nodes;

generating a block identification by hashing the at least one new data block with the peer encoded digital signature from each of the randomly selected set of peer nodes; and

the event handler gossiping existence of the at least one new data block to adjacent nodes.

12. A system for providing notarization on a content-addressable peer-to-peer storage network comprising:

a plurality of nodes, wherein each of the plurality of nodes is connected to at least one other node and is a zero-configuration edge node, wherein the plurality of nodes are servers, comprised of at least a processor and a memory, wherein each of the plurality of nodes maintains a registry of the plurality of nodes in the form of data blocks, a registry of data blocks the node possesses or has learned from other nodes, and a number of data blocks which are persisted to the node;

wherein a first node of the plurality of nodes is operable to generate at least one new data block populated with data and sign the data with a signature, wherein the signature is appended to the at least one new data block;

wherein the first node is operable to hash the data using an algorithm, thereby creating a hash of the data;

wherein the first node is operable to sign the hash of the data using an encoded digital signature and append the encoded digital signature to the at least one new data block;

wherein the first node is operable to trigger an event to an event handler;

wherein the event handler is operable to send a signature request to a randomly selected set of peer nodes including the hash of the data;

wherein each of the randomly selected set of peer nodes is operable to extract the hash of the data and sign the hash of the data using a peer encoded digital signature, thereby creating a peer signed hash of the data;

wherein each of the randomly selected set of peer nodes is operable to send the peer signed hash of the data to the event handler;

wherein the first node is operable to validate the peer encoded digital signature and append the peer encoded digital signature to the at least one new data block for each of the randomly selected set of peer nodes;

wherein the first node is operable to generate a block identification by hashing the at least one new data block with the peer encoded digital signature from each of the randomly selected set of peer nodes; and

wherein the event handler is operable to gossip existence of the at least one new data block to adjacent nodes.

13. The system of claim 12 , wherein the at least one new data block includes metadata, and wherein the metadata includes node information, at least one link to another data block, and/or a number of cryptographic signatures and node identities.

14. The system of claim 12 , wherein a number of peer nodes to form the randomly selected set of peer nodes is configurable.

15. The system of claim 12 , wherein the encoded digital signature is an elliptic curve digital signature.

16. The system of claim 12 , wherein the peer encoded digital signature is validated using a public key from each of the randomly selected of peer nodes.

17. The system of claim 12 , wherein the at least one new data block includes a parent block and at least one child block.

18. The system of claim 12 , wherein communication between nodes is encrypted using public key cryptography.

19. The method of claim 1 , wherein at least one of the plurality of nodes is operable to purge at least one data block to store the at least one new data block after a purging threshold storage level is reached.

20. The system of claim 12 , wherein at least one of the plurality of nodes is operable to purge at least one data block to store the at least one new data block after a purging threshold storage level is reached.

Assignments (4)
SECURITY INTEREST Recorded Jun 19, 2023
From: EDJX, INC.
To: TARHEEL PROPERTIES, LLC; INTERSOUTH PARTNERS VII, LP
Reel/Frame 063986/0629 →
RELEASE OF SECURITY INTEREST Recorded Jul 13, 2022
From: R. STEVEN VETTER REVOCABLE TRUST
To: EDJX, INC.
Reel/Frame 060498/0249 →
SECURITY INTEREST Recorded Jun 8, 2022
From: EDJX, INC.
To: R. STEVEN VETTER REVOCABLE TRUST
Reel/Frame 060140/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2021
From: THOMASON, JAMES A.
To: EDJX, INC.
Reel/Frame 057758/0192 →
Continuity (1)
Provisional Application 63089864 · Oct 9, 2020
References Cited (23)
US 9104326B2 · Frank et al. · 2015 [cited by applicant]
US 9880756B2 · Mutalik et al. · 2018 [cited by applicant]
US 9904603B2 · Mutalik et al. · 2018 [cited by applicant]
US 10445698B2 · Hunn · 2019 [cited by applicant]
US 10559202B2 · Yang et al. · 2020 [cited by applicant]
US 11507562B1 · Luedtke · 2022 [cited by examiner]
US 20050044369A1 · Anantharaman · 2005 [cited by examiner]
US 20070110063A1 · Tang · 2007 [cited by examiner]
US 20140123123A1 · Bahls · 2014 [cited by examiner]
US 20180331832A1 · Pulsifer · 2018 [cited by applicant]
US 20180349621A1 · Schvey · 2018 [cited by examiner]
US 20190014149A1 · Cleveland · 2019 [cited by examiner]
US 20190036764A1 · Canessa et al. · 2019 [cited by applicant]
US 20190327180A1 · Todd et al. · 2019 [cited by applicant]
US 20190386995A1 · Chafe et al. · 2019 [cited by applicant]
US 20200019626A1 · Todd et al. · 2020 [cited by applicant]
US 20200125604A1 · Canessa et al. · 2020 [cited by applicant]
US 20200153786A1 · Ward et al. · 2020 [cited by applicant]
US 20200409571A1 · Saad · 2020 [cited by examiner]
US 20210306133A1 · Mathew · 2021 [cited by examiner]
US 20210385065A1 · Syed · 2021 [cited by examiner]
US 20220294863A1 · Floyd · 2022 [cited by examiner]
WO WO2020002948A1 · 2020 [cited by examiner]