# US 2021/0105282 A1 · Decentralized access control for authorized modifications of data using a cryptographic hash

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

- Number: US 2021/0105282 A1
- Document ID: US20210105282A1
- Status: Published application
- Kind: A1
- Application number: 17/100,491
- Filed: 2020-11-20
- Published: 2021-04-08
- Earliest claimed: 2018-06-11
- Assignees: Fogchain Inc.
- Applicants: FogChain Inc.
- Inventors: Nathanael Phillip Coonrod
- Web page: https://patentgrep.com/patent/US20210105282A1

## CPC

- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 63/104: {Grouping of entities}
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 63/123: {received data contents, e.g. message integrity}
- 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

Embodiments of network devices for access control are described. In some embodiments, an access control processor of a first node receives a request from a requestor node on an unsecure network to join a first group of nodes on a secure network, where the first node coordinates network activities of the first group of nodes including a plurality of partitioned nodes of a network. In response to receiving the request, the access control processor assigns the requestor node to a first pool of the first group of nodes that are configured to perform authorized modifications of data including a cryptographic hash to protect the data against unauthorized modifications. In some embodiments, the access control processor initiates the authorized modifications of the data using one or more nodes assigned to the first pool and one or more nodes of a second pool of the first group of nodes.

## Claims

### Claim 1

An access control method comprising:
by at least one processor of a first node:
receiving a request from a requester node to join a first group of nodes, the first node configured to monitor data shared in the first group of nodes comprising a plurality of partitioned nodes;
in response to the request, assigning the requester node to a first pool of the first group of nodes, wherein one or more nodes of the first pool are configured to perform one or more authorized modifications of data without receiving blockchain tokens for the one or more authorized modifications, the data comprising a blockchain including at least one cryptographic hash configured to protect the data against unauthorized modifications;
determining a technical performance of the requester node based on an authorized modification of the data using one or more nodes assigned to the first pool including the requester node; and
in response to determining that the technical performance of the requester node satisfies a threshold, reassigning the requester node to a second pool of the first group of nodes, wherein one or more nodes in the second pool perform one or more authorized modifications of the data and receives blockchain tokens for the one or more authorized modifications.

### Claim 2 (depends on 1)

The method of claim 1, wherein the request is received on an unsecured network, and the plurality of partitioned nodes are on a secured network.

### Claim 3 (depends on 1)

The method of claim 1, wherein the technical performance comprises at least one of a latency, computational power, responsiveness, or security feature.

### Claim 4

A non-transitory computer storage medium storing computer-executable instructions that, when executed by a processor, cause the processor to perform a method comprising:
receiving a request from a requester node to join a first group of nodes, a first node configured to monitor data shared in the first group of nodes comprising a plurality of partitioned nodes;
in response to the request, assigning the requester node to a first pool of the first group of nodes, wherein one or more nodes of the first pool are configured to perform one or more authorized modifications of data without receiving blockchain tokens for the one or more authorized modifications, the data comprising a blockchain including at least one cryptographic hash configured to protect the data against unauthorized modifications;
determining a first technical performance of the requester node based on an authorized modification of the data using one or more nodes assigned to the first pool including the requester node; and
in response to determining that the first technical performance of the requester node satisfies a first threshold, reassigning the requester node to a second pool of the first group of nodes, wherein one or more nodes in the second pool perform one or more authorized modifications of the data and receives blockchain tokens for the one or more authorized modifications.

### Claim 5 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the first technical performance comprises at least one of a latency, computational power, responsiveness, or security feature.

### Claim 6 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the method further comprises:
receiving a second technical performance for subsequent modifications of the blockchain for the requester node;
determining that the second technical performance for the requester node satisfies a second threshold; and
reassigning the requester node from the second pool to the first pool.

### Claim 7 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the first threshold is pre-determined.

### Claim 8 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the first threshold is based on a performance characteristic of other nodes in the first group of nodes.

### Claim 9 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein reassigning the requester node from the first pool to the second pool includes replacing a node in the second pool with the requester node.

### Claim 10 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the method further comprises:
receiving a second technical performance characteristic for a plurality of nodes of the first group of nodes, including the requester node, associated with one or more modifications of the blockchain; and
based on the second technical performance characteristic, assigning the requester node as a block hash node for the first group of nodes, wherein the block hash node is configured to generate a block hash for the blockchain.

### Claim 11 (depends on 10)

The non-transitory computer storage medium of claim 10, wherein the method further comprises:
receiving a generated block hash for the blockchain from the block hash node; and
initiating one or more modifications for the blockchain by initiating computations for the generated block hash.

### Claim 12 (depends on 10)

The non-transitory computer storage medium of claim 10, wherein the method further comprises:
determining that a predetermined time period elapsed; and
in response to determining that the predetermined time period elapsed, assign a different node of the first group of nodes as the block hash node.

### Claim 13 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the method further comprises:
assessing network traffic for the first group of nodes;
determining that the network traffic for the first group of nodes satisfies a traffic threshold;
in response to determining that the network traffic for the first group of nodes satisfies the traffic threshold, repartitioning the first group of nodes into a first subset of nodes and a second subset of nodes;
assigning the first subset of nodes to the first group of nodes;
assigning the second subset of node to a second group of nodes; and
assigning a node of the second subset of nodes to manage activities for the second group of nodes.

### Claim 14 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the method further comprises:
determining that a predetermined time period elapsed before receiving results of one or more modifications from a node in the second pool;
assigning a node on the first pool to perform the one or more modifications for the blockchain; and
updating a second technical performance characteristic for the node in the second pool and the node on the first pool.

### Claim 15 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the method further comprises:
determining that a modification of the blockchain is to be performed across one or more nodes of the first group of nodes and one or more nodes of a second group of nodes;
connecting with a second node of the second group of nodes coordinating activities of the second group of nodes by sharing information related to the modification of the blockchain; and
initiating the modification of the blockchain across the first and second group of nodes.

### Claim 16 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein the method further comprises:
assigning the first node to a second group of nodes, wherein the first node is configured to manage activities for the first group of nodes and for the second group of nodes.

### Claim 17 (depends on 4)

The non-transitory computer storage medium of claim 4, wherein one or more modifications of the blockchain include verifying one or more transactions or blocks of the blockchain.

### Claim 18

An access control system comprising:
a first node including at least one processor, the at least one processor configured to:
receive a request from a requester node to join a first group of nodes, the first node configured to monitor data shared in the first group of nodes comprising a plurality of partitioned nodes;
in response to the request, assign the requester node to a first pool of the first group of nodes, wherein one or more nodes of the first pool are configured to perform one or more authorized modifications of data without receiving blockchain tokens for the one or more authorized modifications, the data comprising a blockchain including at least one cryptographic hash configured to protect the data against unauthorized modifications;
determine a first technical performance of the requester node based on an authorized modification of the data using one or more nodes assigned to the first pool including the requester node; and
in response to determining that the first technical performance of the requester node satisfies a first threshold, reassign the requester node to a second pool of the first group of nodes, wherein one or more nodes in the second pool performs one or more authorized modifications of the data and receives blockchain tokens for the one or more authorized modifications.

### Claim 19 (depends on 18)

The access control system of claim 18, wherein the first technical performance comprises at least one of a latency, computational power, responsiveness, or security feature.

### Claim 20 (depends on 18)

The access control system of claim 18, wherein the at least one processor is further configured to:
receive a second technical performance characteristic for subsequent modifications of the blockchain for the requester node;
determine that the second technical performance characteristic for the requester node satisfies a second threshold; and
assign the requester node from the second pool to the first pool.
