# US 12,010,226 B2 · Blockchain data segregation

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

- Number: US 12,010,226 B2
- Document ID: US12010226B2
- Status: Granted
- Kind: B2
- Application number: 17/204,827
- Filed: 2021-03-17
- Published: 2022-09-22
- Granted: 2024-06-11
- Earliest claimed: 2021-03-17
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Yacov Manevich; Dulce B. Ponceleon; Nitin Gaur; Petr Novotny
- Web page: https://patentgrep.com/patent/US12010226B2

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A node in a blockchain network may generate a key for a first ring, wherein the key unlocks a first collection of data, defining a second ring including a second node of a second organization, derive a second key for a second collection of data, wherein the first key and the second key access the second collection of data, and distributing the second key to the second node.

## Claims

### Claim 1

A system comprising:
a memory; and
a processor in communication with the memory, the processor being configured to perform processes comprising:
generating, by a first blockchain node of a first organization in a first ring, a first key for the first ring,
wherein the first key unlocks a first collection of data stored on a blockchain,
wherein a designation code for the first organization is used to generate the first key, and
wherein the designation code for the first organization is stored on the blockchain;
defining, by the first blockchain node, a second ring including a second blockchain node of a second organization;
deriving, by the first blockchain node based on the first key, a second key for a second collection of data,
wherein the first key and the second key access the second collection of data stored on the blockchain,
wherein a second designation code for the second organization is used to generate the second key, and
wherein the second designation code for the second organization is stored on the blockchain;
distributing the second key to the second blockchain node;
defining a third ring, including a third node of a third organization;
deriving, based on the second key and a random number for the third node, a third key for a third collection of data;
storing the random number on the blockchain;
distributing the third key to the third node;
retrieving, by the first blockchain node, the random number;
deriving, by the first blockchain node, the third key using a pseudorandom function, the random number, and the first key; and
decrypting, by the first blockchain node, the third data collection using the third key,
wherein the first collection of data is not able to be accessed using either of the second key and the third key,
wherein the second collection of data is not able to be accessed using the third key.

### Claim 2 (depends on 1)

The system of claim 1, wherein the defining a third node and deriving the third key is performed by the second blockchain node using a second memory and a second processor.

### Claim 3 (depends on 1)

The system of claim 1, wherein the defining a third node and deriving the third key is performed by the first blockchain node.

### Claim 4 (depends on 1)

The system of claim 1, wherein the third key, the first key, and the second key access the third collection of data.

### Claim 5 (depends on 1)

The system of claim 1, further comprising:
defining an additional ring including an additional node of an additional organization;
deriving an additional key, based on the third key, for an additional collection of data; and
distributing the additional key to the additional node.

### Claim 6 (depends on 5)

The system of claim 5, wherein the defining an additional ring, the deriving the additional key, and the distributing the additional key is performed multiple times for multiple nodes of multiple organizations.

### Claim 7

A method comprising:
generating, by a first blockchain node of a first organization in a first ring, a first key for the first ring,
wherein the first key unlocks a first collection of data stored on a blockchain,
wherein a designation code for the first organization is used to generate the first key, and
wherein the designation code for the first organization is stored on the blockchain;
defining, by the first blockchain node, a second ring including a second blockchain node of a second organization;
deriving, by the first blockchain node based on the first key, a second key for a second collection of data,
wherein the first key and the second key access the second collection of data stored on the blockchain,
wherein a second designation code for the second organization is used to generate the second key, and
wherein the second designation code for the second organization is stored on the blockchain;
distributing the second key to the second blockchain node;
defining a third ring, including a third node of a third organization;
deriving, based on the second key and a random number for the third node, a third key for a third collection of data;
storing the random number on the blockchain;
distributing the third key to the third node;
retrieving, by the first blockchain node, the random number;
deriving, by the first blockchain node, the third key using a pseudorandom function, the random number, and the first key; and
decrypting, by the first blockchain node, the third data collection using the third key,
wherein the first collection of data is not able to be accessed using either of the second key and the third key,
wherein the second collection of data is not able to be accessed using the third key.

### Claim 8 (depends on 7)

The method of claim 7, wherein the defining a third node and deriving the third key is performed by the second blockchain node.

### Claim 9 (depends on 7)

The method of claim 7, wherein the defining a third node and deriving the third key is performed by the first blockchain node.

### Claim 10 (depends on 7)

The method of claim 7, wherein the third key, the first key, and the second key access the third collection of data.

### Claim 11 (depends on 7)

The method of claim 7, further comprising:
defining an additional ring including an additional node of an additional organization;
deriving an additional key, based on the third key, for an additional collection of data; and
distributing the additional key to the additional node.

### Claim 12 (depends on 11)

The method of claim 11, wherein the defining an additional ring, the deriving the additional key, and the distributing the additional key is performed multiple times for multiple nodes of multiple organizations.

### Claim 13

A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processors processor to perform a method, the method comprising:
generating, by a first blockchain node of a first organization in a first ring, a first key for the first ring,
wherein the first key unlocks a first collection of data stored on a blockchain,
wherein a designation code for the first organization is used to generate the first key, and
wherein the designation code for the first organization is stored on the blockchain;
defining, by the first blockchain node, a second ring including a second blockchain node of a second organization;
deriving, by the first blockchain node based on the first key, a second key for a second collection of data,
wherein the first key and the second key access the second collection of data stored on the blockchain,
wherein a second designation code for the second organization is used to generate the second key, and
wherein the second designation code for the second organization is stored on the blockchain; and
distributing the second key to the second blockchain node;
defining a third ring, including a third node of a third organization;
deriving, based on the second key and a random number for the third node, a third key for a third collection of data;
storing the random number on the blockchain:
distributing the third key to the third node;
retrieving, by the first blockchain node, the random number;
deriving, by the first blockchain node, the third key using a pseudorandom function, the random number, and the first key; and
decrypting, by the first blockchain node, the third data collection using the third key,
wherein the first collection of data is not able to be accessed using either of the second key and the third key,
wherein the second collection of data is not able to be accessed using the third key.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the defining a third node and deriving the third key is performed by the second blockchain node using a second processor.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein the defining a third node and deriving the third key is performed by the first blockchain node.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein the third key, the first key, and the second key access the third collection of data.

### Claim 17 (depends on 13)

The computer program product of claim 13, further comprising:
defining an additional ring including an additional node of an additional organization;
deriving an additional key, based on the third key, for an additional collection of data; and
distributing the additional key to the additional node.
