# US 12,192,387 B2 · Endorsement policy consolidation in blockchain networks

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

- Number: US 12,192,387 B2
- Document ID: US12192387B2
- Status: Granted
- Kind: B2
- Application number: 17/806,974
- Filed: 2022-06-15
- Published: 2023-12-21
- Granted: 2025-01-07
- Earliest claimed: 2022-06-15
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Manish Sethi; Andrew John Coleman
- Web page: https://patentgrep.com/patent/US12192387B2

## CPC

- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system receives an operation by a trusted node on a blockchain, simulates an execution of the operation, and captures endorsement policy information related to the execution of the operation.

## Claims

### Claim 1

A system comprising:
a memory; and
a processor in communication with the memory, the processor being configured to perform processes comprising:
receiving an operation by a trusted node on a blockchain, wherein the operation includes a read for one or more private data collections;
simulating, by the trusted node, a full set of all endorsers needed to validate the operation;
capturing endorsement policy information of the full set of all endorsers related to the validation of the operation;
determining one or more endorsement policies associated with individual states for each IDs of each private data collection;
merging, based on the captured endorsement policy information, an endorsement policy for the operation with the one or more endorsement policies from a subset of the endorsers to generate a merged policy, wherein the subset of endorsers is related to the validation of the operation; and
endorsing the operation with the merged policy.

### Claim 2 (depends on 1)

The system for claim 1, wherein the captured endorsement policy information includes, identifications (IDs) of each smart contract encountered, the IDs of each private data collection, and an ID of a chaincode for the blockchain where the operation is to be executed.

### Claim 3 (depends on 2)

The system of claim 2, further comprising:
capturing, for each read operation, IDs of each contract and ledger encountered in order to determine data availability constraints.

### Claim 4 (depends on 3)

The system of claim 3, wherein the data availability constraints comprise one or more nodes that have a capacity to execute a read operation.

### Claim 5 (depends on 4)

The system of claim 4, further comprising:
determining, based on the captured endorsement policy information, the one or more endorsement policies applicable to the operation; and
combining the one or more endorsement policies together with the data availability constraints to generate one or more merged policies.

### Claim 6 (depends on 5)

The system of claim 5 further comprising, selecting, based on an efficiency of the one or more merged policies-, the merged policy from the one or more merged policies.

### Claim 7 (depends on 6)

The system of claim 6, wherein an efficiency of an efficient endorsement is determined by considering one or more elements selected from a group consisting of a height of the blockchain on the one or more nodes, local verse remote node usage, and a total number of endorsements.

### Claim 8

A method comprising:
receiving an operation by a trusted node on a blockchain, wherein the operation includes a read for one or more private data collections;
simulating, by the trusted node, a full set of all endorsers needed to validate the operation;
capturing endorsement policy information of the full set of all endorsers related to the validation of the operation;
determining one or more endorsement policies associated with individual states for each IDs of each private data collection;
merging, based on the captured endorsement policy information, an endorsement policy for the operation with the one or more endorsement policies from a subset of the endorsers to generate a merged policy, wherein the subset of endorsers is related to the validation of the operation; and
endorsing the operation with the merged policy.

### Claim 9 (depends on 8)

The method of claim 8, wherein the captured endorsement policy information includes, identifications (IDs) of each smart contract encountered, the IDs of each private data collection, and an ID of a chaincode for the blockchain where the operation is to be executed.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
capturing, for each read operation, IDs of each contract and ledger encountered in order to determine data availability constraints, wherein the data availability constraints comprise one or more nodes that have a capacity to execute a read operation.

### Claim 11 (depends on 8)

The method of claim 8, wherein the operation includes a write.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
determining, based on the captured endorsement policy information, the one or more endorsement policies applicable to the operation; and
combining the one or more endorsement policies together with data availability constraints to generate one or more merged policies.

### Claim 13 (depends on 12)

The method of claim 12 further comprising, selecting, based on an efficiency of the one or more merged policies, the merged policy from the one or more merged policies.

### Claim 14 (depends on 13)

The method of claim 13, wherein an efficiency of an efficient endorsement is determined by considering one or more elements selected from a group consisting of a height of the blockchain on the one or more nodes, local verse remote node usage, and a total number of endorsements.

### Claim 15

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 to perform a method, the method comprising:
receiving an operation by a trusted node on a blockchain, wherein the operation includes a read for one or more private data collections;
simulating, by the trusted node, a full set of all endorsers needed to validate the operation;
capturing endorsement policy information of the full set of all endorsers related to the validation of the operation;
determining one or more endorsement policies associated with individual states for each IDs of each private data collection;
merging, based on the captured endorsement policy information, an endorsement policy for the operation with the one or more endorsement policies from a subset of the endorsers to generate a merged policy, wherein the subset of endorsers is related to the validation of the operation; and
endorsing the operation with the merged policy.

### Claim 16 (depends on 15)

The computer program product for claim 15, wherein the captured endorsement policy information includes, identifications (IDs) of each smart contract encountered, the IDs of each private data collection, and an ID of a chaincode for the blockchain where the operation is to be executed.

### Claim 17 (depends on 16)

The computer program product of claim 16, further comprising:
capturing, for each read operation, the IDs of each contract and ledger encountered in order to determine data availability constraints.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the operation includes a write.
