# US 2022/0286295 A1 · Systems, methods, and storage media for selective graph-based disclosure of a computer data structure

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2022/0286295 A1
- Document ID: US20220286295A1
- Status: Published application
- Kind: A1
- Application number: 17/654,056
- Filed: 2022-03-08
- Published: 2022-09-08
- Earliest claimed: 2021-03-08
- Assignees: Bloom Protocol, LLC
- Applicants: Bloom Protocol, LLC
- Inventors: Dustin van Schouwen
- Web page: https://patentgrep.com/patent/US20220286295A1

## CPC

- H04L 9/3247: {involving digital signatures}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, and storage media for selective graph-based disclosure of a computer data structure are disclosed. Exemplary implementations may: generate a plurality of nodes from the computer data structure; generate at least one first subcomponent indicating at least one identifier for each of the plurality of nodes; generate at least one fourth subcomponent for each property possessed by each of the plurality of nodes; cryptographically sign the plurality of subcomponents with a cryptographic private key held by at least one user; assign a common identifier for the computer data structure to each of the plurality of subcomponents; and disclose at least one of the subcomponents by presenting the subcomponent along with a cryptographic signature of the subcomponent by the at least one user.

## Claims

### Claim 1

A system configured for selective graph-based disclosure of a computer data structure, the system comprising:
one or more hardware processors configured by machine-readable instructions to:
generate a plurality of nodes from the computer data structure;
generate at least one first subcomponent indicating at least one identifier for each of the plurality of nodes;
generate at least one fourth subcomponent for each property possessed by each of the plurality of nodes, the fourth subcomponent indicating each property possessed by each node;
cryptographically sign the plurality of subcomponents with a cryptographic private key held by at least one user;
assign a common identifier for the computer data structure to each of the plurality of subcomponents; and
disclose at least one of the subcomponents by presenting the subcomponent along with a cryptographic signature of the subcomponent by the at least one user.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more hardware processors are further configured by machine-readable instructions to:
verify that the plurality of subcomponents share the same common identifier for the computer data structure;
verify that the plurality of subcomponents are signed with the cryptographic private key of the at least one user.

### Claim 3 (depends on 2)

The system of claim 2, wherein the one or more hardware processors are further configured by machine-readable instructions to generate at least one second subcomponent indicating a relationship between each node and at least one other node.

### Claim 4 (depends on 3)

The system of claim 3, wherein the one or more hardware processors are further configured by machine-readable instructions to generate at least one third subcomponent for each of the plurality of nodes, the third subcomponent listing what properties are possessed by each node.

### Claim 5 (depends on 4)

The system of claim 4, wherein the one or more hardware processors are further configured by machine-readable instructions to generate at least one fifth subcomponent for the computer data structure, the fifth subcomponent including metadata about the computer data structure.

### Claim 6 (depends on 3)

The system of claim 3, wherein the at least one second subcomponent includes an identifier for the node and the at least one other node.

### Claim 7 (depends on 4)

The system of claim 4, wherein the at least one third subcomponent includes an identifier and property name associated for each property possessed by each of the plurality of nodes.

### Claim 8 (depends on 1)

The system of claim 1, wherein the at least one fourth subcomponent includes an identifier, property name, and property value for each property possessed by each of the plurality of nodes.

### Claim 9 (depends on 5)

The system of claim 5, wherein an unverified subcomponent prevents the disclosure of the entire computer data structure.

### Claim 10 (depends on 3)

The system of claim 3, wherein the one or more hardware processors are further configured by machine-readable instructions to:
associate at least two fourth subcomponents with their corresponding nodes;
reconstruct a portion of the computer data structure from the association.

### Claim 11 (depends on 10)

The system of claim 10, wherein the one or more hardware processors are further configured by machine-readable instructions to:
identify a root node of the data structure from the plurality of nodes;
find at least one associated second subcomponent associated with the root node;
find at least one associated node with the root node through the associated second subcomponent;
associate the root node with the at least one associated node;
recursively continue the finding and association steps based on the relationship between the associated second subcomponents and at least one associated nodes.

### Claim 12 (depends on 3)

The system of claim 3, wherein the relationship between the plurality of nodes forms a graph, with nodes forming nodes of the graph and relationships between individual nodes forming an edge of the graph.

### Claim 13

A method for selective graph-based disclosure of a computer data structure, the method comprising:
generating a plurality of nodes from the computer data structure;
generating at least one first subcomponent indicating at least one identifier for each of the plurality of nodes;
generating at least one fourth subcomponent for each property possessed by each of the plurality of nodes, the fourth subcomponent indicating each property possessed by each node;
cryptographically signing the plurality of subcomponents with a cryptographic private key held by at least one user;
assigning a common identifier for the computer data structure to each of the plurality of subcomponents; and
disclosing at least one of the subcomponents by presenting the subcomponent along with a cryptographic signature of the subcomponent by the at least one user.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
verifying that the plurality of subcomponents share the same common identifier for the computer data structure;
verifying that the plurality of subcomponents are signed with the cryptographic private key of the at least one user.

### Claim 15 (depends on 14)

The method of claim 14, further comprising generating at least one second subcomponent indicating a relationship between each node and at least one other node.

### Claim 16 (depends on 15)

The method of claim 15, further comprising generating at least one third subcomponent for each of the plurality of nodes, the third subcomponent listing what properties are possessed by each node.

### Claim 17 (depends on 16)

The method of claim 16, further comprising generating at least one fifth subcomponent for the computer data structure, the fifth subcomponent including metadata about the computer data structure.

### Claim 18 (depends on 15)

The method of claim 15, wherein the at least one second subcomponent includes an identifier for the node and the at least one other node.

### Claim 19 (depends on 16)

The method of claim 16, wherein the at least one third subcomponent includes an identifier and property name associated for each property possessed by each of the plurality of nodes.

### Claim 20 (depends on 13)

The method of claim 13, wherein the at least one fourth subcomponent includes an identifier, property name, and property value for each property possessed by each of the plurality of nodes.

### Claim 21 (depends on 17)

The method of claim 17, wherein an unverified subcomponent prevents the disclosure of the entire computer data structure.

### Claim 22 (depends on 15)

The method of claim 15, further comprising:
associating at least two fourth subcomponents with their corresponding nodes; and
reconstructing a portion of the computer data structure from the association.

### Claim 23 (depends on 22)

The method of claim 22, further comprising:
identifying a root node of the data structure from the plurality of nodes;
finding at least one associated second subcomponent associated with the root node;
finding at least one associated node with the root node through the associated second subcomponent;
associating the root node with the at least one associated node; and
recursively continuing the finding and association steps based on the relationship between the associated second subcomponents and at least one associated nodes.

### Claim 24 (depends on 15)

The method of claim 15, wherein the relationship between the plurality of nodes forms a graph, with nodes forming nodes of the graph and relationships between individual nodes forming an edge of the graph.

### Claim 25

A non-transient computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method for selective graph-based disclosure of a computer data structure comprising:
generating a plurality of nodes from the computer data structure;
generating at least one first subcomponent indicating at least one identifier for each of the plurality of nodes;
generating at least one fourth subcomponent for each property possessed by each of the plurality of nodes, the fourth subcomponent indicating each property possessed by each node;
cryptographically signing the plurality of subcomponents with a cryptographic private key held by at least one user;
assigning a common identifier for the computer data structure to each of the plurality of subcomponents; and
disclosing at least one of the subcomponents by presenting the subcomponent along with a cryptographic signature of the subcomponent by the at least one user.
