# US 11,310,234 B2 · Securing permissioned blockchain network from pseudospoofing network attacks

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

- Number: US 11,310,234 B2
- Document ID: US11310234B2
- Status: Granted
- Kind: B2
- Application number: 15/814,801
- Filed: 2017-11-16
- Published: 2019-05-16
- Granted: 2022-04-19
- Earliest claimed: 2017-11-16
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Sloane Brakeville; Nitin Gaur
- Web page: https://patentgrep.com/patent/US11310234B2

## CPC

- H04L 63/101: {Access control lists [ACL]}
- G06F 21/33: using certificates
- G06F 21/604: {Tools and structures for managing or administering access control systems}
- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3268: {using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/12: {Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32)}
- H04L 63/14: {for detecting or protecting against malicious traffic}
- H04L 63/1466: {Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks}
- H04W 12/00: Security arrangements; Authentication; Protecting privacy or anonymity
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- H04L 9/06: the encryption apparatus using shift registers or memories for block-wise {or stream} coding, e.g. DES systems {or RC4; Hash functions; Pseudorandom sequence generators}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- 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)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

An example operation may include one or more of identifying a new block to be created for a blockchain via a new block creation cycle, executing chaincode stored in the blockchain, identifying one or more credentials assigned as one credential per registered member organization of the blockchain based on the chaincode, validating the one or more credentials and determining consensus is satisfied via a consensus service, and creating the new block responsive to the consensus being satisfied.

## Claims

### Claim 1

A method, comprising:
identifying a new block to be created fora blockchain via a new block creation cycle;
executing chaincode stored in the blockchain;
identifying a credential received from a blockchain node associated with a member organization of the blockchain based on the chaincode;
performing a uniqueness check for the received credential which determines that the received credential is a duplicate of another credential received from a blockchain node of the same member organization;
accumulating the duplicate credentials that are associated with the same member organization into one accumulated voting credential;
determining consensus of the new block is satisfied based on the accumulated voting credential; and
creating the new block responsive to the consensus being satisfied;
wherein the uniqueness check comprises referencing an access control list (ACL) to identify credentials of the blockchain node that is associated with the same member organization.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
accessing the ACL based on a chaincode instruction; and
determining the received credential is associated with an authorized list of nodes of the member organization based on the ACL.

### Claim 3 (depends on 1)

The method of claim 1, further comprising: determining a threshold number of credentials are valid; and determining the consensus is valid responsive to determining the threshold number of the credentials are valid.

### Claim 4 (depends on 1)

The method of claim 1, further comprising: ordering a plurality of transactions for commitment to the new block; receiving a request to create the new block; and requesting credentials from one or more authorized nodes responsive to receiving the request to create the new block.

### Claim 5 (depends on 1)

The method of claim 1, further comprising: receiving the first credential within a credential bundle; and comparing the credential bundle to an access control list.

### Claim 6 (depends on 5)

The method of claim 5, further comprising: determining whether each credential in the credential bundle is unique via a credential examination; and forwarding results of the credential examination to a consensus service.

### Claim 7

An apparatus, comprising:
a processor configured to:
identify a new block to be created for a blockchain via a new block creation cycle; execute chaincode stored in the blockchain;
identify a first credential received as a first vote from a blockchain node associated with a member organization of the blockchain based on the chaincode;
perform a uniqueness check for the first credential which determines that a second credential is received as a second vote from another blockchain node of the same member organization;
accumulate the first and second votes of the first and second credentials that are associated with the same member organization into a single vote;
determine consensus of the new block is satisfied based on the accumulation of the first and second votes into a single vote; and
create the new block responsive to the consensus being satisfied;
wherein the uniqueness check comprises referencing an access control list (ACL) to identify credentials of blockchain nodes that are that are associated with the same member organization.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the processor is further configured to: access the ACL based on a chaincode instruction; and determine the first credential is associated with an authorized list of nodes of the member organization based on the ACL.

### Claim 9 (depends on 7)

The apparatus of claim 7, wherein the processor is further configured to: determine a threshold number of credentials are valid; and determine the consensus is valid responsive to determination of the threshold number of the credentials are valid.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to: order a plurality of transactions for commitment to the new block; receive a request to create the new block; and request credentials from one or more authorized nodes responsive to receiving the request to create the new block.

### Claim 11 (depends on 7)

The apparatus of claim 7, wherein the processor is further configured to receive the first credential within a credential bundle; and compare the credential bundle to an access control list.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the processor is further configured to determine whether each credential in the credential bundle is unique via a credential examination; and forward results of the credential examination to a consensus service.

### Claim 13

A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform: identifying a new block to be created for a blockchain via a new block creation cycle; executing chaincode stored in the blockchain; identifying a first credential received as a first vote from a blockchain node associated with a member organization of the blockchain based on the chaincode; performing a uniqueness check for the first credential which determines that credential is received as a second vote from another blockchain node of the same member organization; accumulating the first and second votes of the first and second credentials associated with the same member organization into a single vote; determining consensus of the new block is satisfied based on the accumulation of the first and second votes into a single vote; and creating the new block responsive to the consensus being satisfied;
wherein the uniqueness check comprises referencing an access control list (ACL) to identify credentials of blockchain nodes that are that are associated with the same member organization.

### Claim 14 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the processor is further configured to perform: accessing the ACL based on a chaincode instruction; and determining the first credential is associated with an authorized list of nodes of the member organization based on the ACL.

### Claim 15 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the processor is further configured to perform: determining a threshold number of credentials are valid; and determining the consensus is valid responsive to determining the threshold number of the credentials are valid.

### Claim 16 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the processor is further configured to perform: ordering a plurality of transactions for commitment to the new block; receiving a request to create the new block; and requesting credentials from one or more authorized nodes responsive to receiving the request to create the new block.

### Claim 17 (depends on 13)

The non-transitory computer readable storage medium of claim 13, wherein the processor is further configured to perform: receiving the first credential within a credential bundle; comparing the credential bundle to an access control list; determining whether each credential in the credential bundle is unique via a credential examination of the access control list; and forwarding results of the credential examination to a consensus service.
