IP Library Granted Patent US 11,336,455
Granted Patent B2
US 11,336,455 · App. 16/583,239 · Granted May 17, 2022

Consensus protocol for blockchain DAG structure

Inventor: Daniel Ford (Mount Kisco, NY)
Assignee: International Business Machines Corporation
H04L9/3239H04L9/0637H04L9/0643H04L67/1065H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,336,455
App. No.
16/583,239
Granted
May 17, 2022
Kind
B2
Abstract

An example operation may include one or more of receiving a chain of blocks from a blockchain comprising a directed acyclic graph (DAG) format in which blocks are independently hash-linked to multiple blocks, identifying temporal relationships between blocks in the chain of blocks based on a structure of the chain of blocks in the DAG format, determining a sequential linear order of the chain of blocks in the DAG format based on the identified temporal relationships, and storing the sequential linear order of the chain of blocks.

Claims (33)

1. A computing system comprising:

a processor configured to

receive a chain of blocks from a blockchain which comprises a directed acyclic graph (DAG) format in which two or more blocks are independently hash-linked to a shared parent block,

identify temporal relationships between the two or more blocks that are independently hash-linked to the shared parent block based on random gossip between blockchain peers of the blockchain, and

determine a sequential linear order of the chain of blocks in the DAG format based on the identified temporal relationships; and

a storage configured to store the sequential linear order of the chain of blocks.

2. The computing system of claim 1 , wherein the processor is further configured to perform a blockchain consensus process with a plurality of peer nodes based on the sequential linear order of the chain of blocks.

3. The computing system of claim 1 , wherein the chain of blocks in the DAG format comprise a plurality of subsets of linear chains of blocks of a plurality of peers, where the plurality of subsets of linear chains of blocks comprise interconnections therebetween based on the random gossip.

4. The computing system of claim 1 , wherein the processor is configured to generate a graph in the DAG format that comprises nodes that correspond to the blocks with edges therebetween that correspond to hash links, and identify the temporal relationships based on a structure of the edges between the nodes on the graph.

5. The computing system of claim 4 , wherein the processor is configured to transform a parent relationship on the graph via addition of an edge from a child node to a node that is linked to a parent node of the child node, and remove an edge between the child node and the parent node.

6. The computing system of claim 4 , wherein the processor is configured to transform cyclical nodes on the graph via aggregation of nodes that have a same relative temporal relationship into a single cycle node which encompasses the aggregated nodes.

7. The computing system of claim 6 , wherein the processor is further configured to create an order among the aggregated nodes encompassed in the single cycle node based on a predefined protocol.

8. The computing system of claim 4 , wherein the processor is configured to identify two different paths between a pair of nodes on the graph, and remove a shorter path between the pair of nodes among the two different paths.

9. A method comprising:

receiving a chain of blocks from a blockchain comprising a directed acyclic graph (DAG) format in which two or more blocks are independently hash-linked to a shared parent block;

identifying temporal relationships between the two or more blocks that are independently hash-linked to the shared parent block based on random gossip between blockchain peers of the blockchain;

determining a sequential linear order of the chain of blocks in the DAG format based on the identified temporal relationships; and

storing the sequential linear order of the chain of blocks.

10. The method of claim 9 , further comprising performing a blockchain consensus process with a plurality of peer nodes based on the sequential linear order of the chain of blocks.

11. The method of claim 9 , wherein the chain of blocks in the DAG format comprises a plurality of subsets of linear chains of blocks of a plurality of peers, where the plurality of subsets of linear chains of blocks comprise interconnections therebetween based on the random gossip.

12. The method of claim 9 , wherein the identifying comprises generating a graph in the DAG format comprising nodes corresponding to the blocks with edges therebetween corresponding to hash links, and the identifying the temporal relationships comprises identifying the temporal relationships based on a structure of the edges between the nodes on the graph.

13. The method of claim 12 , wherein the identifying comprises transforming a parent relationship on the graph via addition of an edge from a child node to a node that is linked to a parent node of the child node, and removing an edge between the child node and the parent node.

14. The method of claim 12 , wherein the identifying comprises transforming cyclical nodes on the graph via aggregation of nodes having a same relative temporal relationship into a single cycle node which encompasses the aggregated nodes.

15. The method of claim 14 , wherein the transforming the cycle nodes further comprises creating an order among the aggregated nodes encompassed in the single cycle node based on a predefined protocol.

16. The method of claim 12 , wherein the identifying comprises identifying two different paths between a pair of nodes on the graph, and removing a shorter path between the pair of nodes among the two different paths.

17. A non-transitory computer-readable medium comprising instructions, that when read by a processor, cause the processor to perform a method comprising:

receiving a chain of blocks from a blockchain comprising a directed acyclic graph (DAG) format in which two or more blocks are independently hash-linked to a shared parent block;

identifying temporal relationships between the two or more blocks that are independently hash-linked to the shared parent block based on random gossip between blockchain peers of the blockchain;

determining a sequential linear order of the chain of blocks in the DAG format based on the identified temporal relationships; and

storing the sequential linear order of the chain of blocks.

18. The non-transitory computer-readable medium of claim 17 , further comprising performing a blockchain consensus process with a plurality of peer nodes based on the sequential linear order of the chain of blocks.

19. The non-transitory computer-readable medium of claim 17 , wherein the chain of blocks in the DAG format comprises a plurality of subsets of linear chains of blocks of a plurality of peers, where the plurality of subsets of linear chains of blocks comprise interconnections therebetween based on the random gossip.

20. The non-transitory computer-readable medium of claim 17 , wherein the identifying comprises generating a graph in the DAG format comprising nodes corresponding to the blocks with edges therebetween corresponding to hash links, and the identifying the temporal relationships comprises identifying the temporal relationships based on a structure of the edges between the nodes on the graph.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2019
From: FORD, DANIEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 050492/0869 →
Continuity (1)
Related Publication 20210091957A1 · Mar 25, 2021
Cited By (2)
US 12,645,574 US 12,689,664