# US 2019/0356469 A1 · Identifying faults in a blockchain ordering service

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

- Number: US 2019/0356469 A1
- Document ID: US20190356469A1
- Status: Published application
- Kind: A1
- Application number: 15/981,407
- Filed: 2018-05-16
- Published: 2019-11-21
- Earliest claimed: 2018-05-16
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Pralhad Dinesh Deshpande; Proshanta Sarkar; Santanu Mitra; Sudip Dutta
- Web page: https://patentgrep.com/patent/US20190356469A1

## CPC

- G06Q 20/02: involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- G06Q 20/3827: {Use of message hashing}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3265: {using certificate chains, trees or paths; Hierarchical trust model}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An example operation may include one or more of initiating a timer to begin timing an audit procedure, when the timer expires after a predefined period of time, randomly selecting a committer node member of a blockchain, transmitting a request for a hash of a blockchain block, comparing the hash of the blockchain block, received from the randomly selected committer node, to a known value of the hash of the blockchain block, and determining whether the hash of the blockchain block received matches the known value of the hash of the blockchain block.

## Claims

### Claim 1

A method, comprising:
initiating a timer to begin timing an audit procedure;
when the timer expires after a predefined period of time, randomly selecting a committer node member of a blockchain;
transmitting a request for a hash of a blockchain block;
comparing the hash of the blockchain block, received from the randomly selected committer node, to a known value of the hash of the blockchain block; and
determining whether the hash of the blockchain block received matches the known value of the hash of the blockchain block.

### Claim 2 (depends on 1)

The method of claim 1, wherein the request is transmitted from another committer node member of the blockchain different from the randomly selected committer node.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining an ordering service used to order blockchain transactions is operating faulty when the hash of the blockchain block received does not match the known value of the hash of the blockchain block.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining an ordering service used to order blockchain transactions is operating correctly when the hash of the blockchain block received matches the known value of the hash of the blockchain block.

### Claim 5 (depends on 3)

The method of claim 3, further comprising:
transmitting an error notification to an administrator when the ordering service is determined to be operating faulty.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
transmitting another request to the randomly selected committer node when no response is received after a predetermined period of time.

### Claim 7 (depends on 4)

The method of claim 4, further comprising:
resetting the timer to a random period of time, upon expiration of which, another attempt to initiate the audit procedure is performed.

### Claim 8

An apparatus, comprising:
a processor configured to:
initiate a timer to begin to time an audit procedure;
when the timer expires after a predefined period of time, randomly select a committer node member of a blockchain;
a transmitter configured to transmit a request for a hash of a blockchain block;
wherein the processor is further configured to
compare the hash of the blockchain block, received from the randomly selected committer node, to a known value of the hash of the blockchain block; and
determine whether the hash of the blockchain block received matches the known value of the hash of the blockchain block.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the request is transmitted from another committer node member of the blockchain different from the randomly selected committer node.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the processor is further configured to
determine an ordering service used to order blockchain transactions operates faulty when the hash of the blockchain block received does not match the known value of the hash of the blockchain block.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein the processor is further configured to
determine an ordering service used to order blockchain transactions operates correctly when the hash of the blockchain block received matches the known value of the hash of the blockchain block.

### Claim 12 (depends on 10)

The apparatus of claim 10, wherein the transmitter is further configured to
transmit an error notification to an administrator when the ordering service is determined to operate faulty.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the transmitter is further configured to
transmit another request to the randomly selected committer node when no response is received after a predetermined period of time.

### Claim 14 (depends on 11)

The apparatus of claim 11, wherein the processor is further configured to
reset the timer to a random period of time, upon expiration of which, another attempt to initiate the audit procedure is performed.

### Claim 15

A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform:
initiating a timer to begin timing an audit procedure;
when the timer expires after a predefined period of time, randomly selecting a committer node member of a blockchain;
transmitting a request for a hash of a blockchain block;
comparing the hash of the blockchain block, received from the randomly selected committer node, to a known value of the hash of the blockchain block; and
determining whether the hash of the blockchain block received matches the known value of the hash of the blockchain block.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the request is transmitted from another committer node member of the blockchain different from the randomly selected committer node.

### Claim 17 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the processor is further configured to perform:
determining an ordering service used to order blockchain transactions is operating faulty when the hash of the blockchain block received does not match the known value of the hash of the blockchain block.

### Claim 18 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the processor is further configured to perform:
determining an ordering service used to order blockchain transactions is operating correctly when the hash of the blockchain block received matches the known value of the hash of the blockchain block; and
resetting the timer to a random period of time, upon expiration of which, another attempt to initiate the audit procedure is performed.

### Claim 19 (depends on 17)

The non-transitory computer readable storage medium of claim 17, wherein the processor is further configured to perform:
transmitting an error notification to an administrator when the ordering service is determined to be operating faulty.

### Claim 20 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the processor is further configured to perform:
transmitting another request to the randomly selected committer node when no response is received after a predetermined period of time.
