# US 2019/0173666 A1 · Hierarchical blockchain consensus optimazation scheme

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

- Number: US 2019/0173666 A1
- Document ID: US20190173666A1
- Status: Published application
- Kind: A1
- Application number: 15/829,567
- Filed: 2017-12-01
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Ruslan Ardashev; Nitin Gaur
- Web page: https://patentgrep.com/patent/US20190173666A1

## CPC

- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- 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: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An embodiment of the invention may include a method, computer program product and system for consensus optimization. The embodiment may include implementing a hierarchy of computing nodes. The hierarchy includes a plurality of levels. An nth level includes a plurality of subgroups of computing nodes. Each subgroup contains a leader computing node. An n+1 level includes all of the leader computing nodes of the nth level. The embodiment may include transmitting messages from a first computing node to a second computing node. The second computing node is within a same subgroup of the first computing node. The embodiment may include transmitting messages from the first computing node to a third computing node. The third computing node is a leader computing node from a different subgroup of the first computing node. The embodiment may include determining a consensus. The consensus is determined by computing nodes located at a highest level.

## Claims

### Claim 1

A method for determining a consensus amongst a plurality of computing nodes within a network, the method comprising:
implementing a hierarchy of computing nodes, wherein the hierarchy comprises a plurality of levels, and wherein an nth level comprises a plurality of subgroups of computing nodes, and wherein each subgroup contains a leader computing node, and wherein an n+1 level includes all of the leader computing nodes of the nth level;
transmitting consensus-related messages from a first computing node of the plurality of computing nodes to a second computing node of the plurality of computing nodes, wherein the second computing node is within a same subgroup of the first computing node;
transmitting consensus-related messages from the first computing node of the plurality of computing nodes to a third computing node of the plurality of computing nodes, wherein the third computing node is a leader computing node from a different subgroup of the first computing node; and
determining a consensus of the plurality of nodes, wherein the consensus is determined by content of the consensus-related messages received by computing nodes of the plurality of computing nodes located at a highest level of the hierarchy.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
returning the consensus of the plurality of nodes, determined by the computing nodes of the plurality of computing nodes located at the highest level of the hierarchy, to the plurality of computing nodes located at the levels below the highest level of the hierarchy.

### Claim 3 (depends on 1)

The method of claim 1, wherein the highest level of the hierarchy comprises a single subgroup of all the computing nodes within the highest level.

### Claim 4 (depends on 1)

The method of claim 1, wherein the implemented hierarchy of computing nodes is configured based on a total number of consensus-related messages transmitted by the implemented hierarchy.

### Claim 5 (depends on 4)

The method of claim 4, wherein the total number of consensus-related messages transmitted by the hierarchy is calculated utilizing an equation (k)(j)+x+y, where k is a total number of subgroups of computing nodes within the hierarchy, where j is a calculated number of consensus-related messages transmitted within each subgroup of computing nodes within the hierarchy, where x is a calculated number of consensus-related messages transmitted between leader computing nodes within the hierarchy, and where y is a calculated number of consensus-related messages transmitted from non-leader computing nodes to leader computing nodes.

### Claim 6 (depends on 1)

The method of claim 1, wherein the implemented hierarchy of computing nodes is configured based on attributes of the network, and wherein attributes of the network are selected from the group consisting of size of the plurality of computing nodes, number of transactions processed by the plurality of computing nodes, geographic disparity between computing nodes within the plurality of computing nodes, and computational processing speed of computing nodes within the plurality of computing nodes.

### Claim 7 (depends on 1)

The method of claim 1, wherein the leader computing node contained within each subgroup is selected via TCP IP heartbeat election, wherein election of the leader computing node is randomized among received heartbeat messages within a containing subgroup of computing nodes.

### Claim 8

A computer program product for determining a consensus amongst a plurality of computing nodes within a network, the computer program product comprising:
one or more computer-readable tangible storage devices and program instructions stored on at least one of the one or more computer-readable tangible storage devices, the program instructions comprising:
program instructions to implement a hierarchy of computing nodes, wherein the hierarchy comprises a plurality of levels, and wherein an nth level comprises a plurality of subgroups of computing nodes, and wherein each subgroup contains a leader computing node, and wherein an n+1 level includes all of the leader computing nodes of the nth level;
program instructions to transmit consensus-related messages from a first computing node of the plurality of computing nodes to a second computing node of the plurality of computing nodes, wherein the second computing node is within a same subgroup of the first computing node;
program instructions to transmit consensus-related messages from the first computing node of the plurality of computing nodes to a third computing node of the plurality of computing nodes, wherein the third computing node is a leader computing node from a different subgroup of the first computing node; and
program instructions to determine a consensus of the plurality of nodes, wherein the consensus is determined by content of the consensus-related messages received by computing nodes of the plurality of computing nodes located at a highest level of the hierarchy.

### Claim 9 (depends on 8)

The computer program product of claim 8, further comprising:
program instructions to return the consensus of the plurality of nodes, determined by the computing nodes of the plurality of computing nodes located at the highest level of the hierarchy, to the plurality of computing nodes located at the levels below the highest level of the hierarchy.

### Claim 10 (depends on 8)

The computer program product of claim 8, wherein the highest level of the hierarchy comprises a single subgroup of all the computing nodes within the highest level.

### Claim 11 (depends on 8)

The computer program product of claim 8, wherein the implemented hierarchy of computing nodes is configured based on a total number of consensus-related messages transmitted by the implemented hierarchy.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the total number of consensus-related messages transmitted by the hierarchy is calculated utilizing an equation (k)(j)+x+y, where k is a total number of subgroups of computing nodes within the hierarchy, where j is a calculated number of consensus-related messages transmitted within each subgroup of computing nodes within the hierarchy, where x is a calculated number of consensus-related messages transmitted between leader computing nodes within the hierarchy, and where y is a calculated number of consensus-related messages transmitted from non-leader computing nodes to leader computing nodes.

### Claim 13 (depends on 8)

The computer program product of claim 8, wherein the implemented hierarchy of computing nodes is configured based on attributes of the network, and wherein attributes of the network are selected from the group consisting of size of the plurality of computing nodes, number of transactions processed by the plurality of computing nodes, geographic disparity between computing nodes within the plurality of computing nodes, and computational processing speed of computing nodes within the plurality of computing nodes.

### Claim 14 (depends on 8)

The computer program product of claim 8, wherein the leader computing node contained within each subgroup is selected via TCP IP heartbeat election, wherein election of the leader computing node is randomized among received heartbeat messages within a containing subgroup of computing nodes.

### Claim 15

A computer system for determining a consensus amongst a plurality of computing nodes within a network, the computer system comprising:
one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more computer-readable tangible storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the program instructions comprising:
program instructions to implement a hierarchy of computing nodes, wherein the hierarchy comprises a plurality of levels, and wherein an nth level comprises a plurality of subgroups of computing nodes, and wherein each subgroup contains a leader computing node, and wherein an n+1 level includes all of the leader computing nodes of the nth level;
program instructions to transmit consensus-related messages from a first computing node of the plurality of computing nodes to a second computing node of the plurality of computing nodes, wherein the second computing node is within a same subgroup of the first computing node;
program instructions to transmit consensus-related messages from the first computing node of the plurality of computing nodes to a third computing node of the plurality of computing nodes, wherein the third computing node is a leader computing node from a different subgroup of the first computing node; and
program instructions to determine a consensus of the plurality of nodes, wherein the consensus is determined by content of the consensus-related messages received by computing nodes of the plurality of computing nodes located at a highest level of the hierarchy.

### Claim 16 (depends on 15)

The computer system of claim 15, further comprising:
program instructions to return the consensus of the plurality of nodes, determined by the computing nodes of the plurality of computing nodes located at the highest level of the hierarchy, to the plurality of computing nodes located at the levels below the highest level of the hierarchy.

### Claim 17 (depends on 15)

The computer system of claim 15, wherein the highest level of the hierarchy comprises a single subgroup of all the computing nodes within the highest level.

### Claim 18 (depends on 15)

The computer system of claim 15, wherein the implemented hierarchy of computing nodes is configured based on a total number of consensus-related messages transmitted by the implemented hierarchy.

### Claim 19 (depends on 18)

The computer system of claim 18, wherein the total number of consensus-related messages transmitted by the hierarchy is calculated utilizing an equation (k)(j)+x+y, where k is a total number of subgroups of computing nodes within the hierarchy, where j is a calculated number of consensus-related messages transmitted within each subgroup of computing nodes within the hierarchy, where x is a calculated number of consensus-related messages transmitted between leader computing nodes within the hierarchy, and where y is a calculated number of consensus-related messages transmitted from non-leader computing nodes to leader computing nodes.

### Claim 20 (depends on 15)

The computer system of claim 15, wherein the implemented hierarchy of computing nodes is configured based on attributes of the network, and wherein attributes of the network are selected from the group consisting of size of the plurality of computing nodes, number of transactions processed by the plurality of computing nodes, geographic disparity between computing nodes within the plurality of computing nodes, and computational processing speed of computing nodes within the plurality of computing nodes.
