IP Library Granted Patent US 11,706,295
Granted Patent B2
US 11,706,295 · App. 17/153,227 · Granted Jul 18, 2023

System and a method implementing a directed acyclic graph (DAG) consensus algorithm via a gossip protocol

Inventor: Carsten Bleser Rasmussen (Hillerød, DK)
Assignee: I25S ApS
H04L67/1095G06F16/9024H04L69/03
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,706,295
App. No.
17/153,227
Granted
Jul 18, 2023
Kind
B2
Abstract

The invention relates to a computer-implemented method for exchanging information, through a DAG/Hashgraph consensus algorithm via a gossip protocol, the method includes making a first given node select a second given node randomly and send reference information; determining based on the reference information which node events are in front of that of the others; if the reference information implies that the events of the first given node is in front of that of the second given node, then sending a cancellation information to the first given node, preventing, in consequence, the first given node from sending DAG-event information to the second given node; if the reference information implies that the events of the second given node is in front of that of the first given node, then making the first given node send DAG-event information to the second given node; and soon through the network.

Claims (36)

1. A computer-implemented method comprising instructions stored on a non-transitory computer readable storage medium and executed on a computing system provided with a hardware processor and memory for exchanging information among distributed computer nodes connected in a specific network, by implementing a Directed Acyclic Graph consensus algorithm, which is a Hash graph consensus algorithm via a gossip protocol, the method comprising steps of:

making a first given node select a second given node randomly and send reference information;

wherein the second given node determines which node events are in front of the events of the first given node based on the reference information; and

wherein a cancellation information is sent to the first given node, when the events of the first given node are in front of the events of the second given node, thereby preventing the first given node from sending DAG-event information to the second given node; and

wherein the first given node is configured to send DAG-event information) to the second given node, and then the second given node is configured to send DAG-event information to the first given node, and so on for other nodes, so as to synchronize and propagate the DAG event information through the network, when the events of the second given node is in front of the events of the first given node;

wherein the first given node is configured to find the events which are in front of the events known by the second given node from the list of events received from the second given node; and collect this list of those events and send information back to the second given node and so on for other nodes, so as to synchronize and propagate the events information through the network;

wherein the number of transactions between the nodes is limited via the cancellation information such that the node stops the communication of the information, thereby decreasing the use of computer resources in the calculations, storing and transmission of the information;

wherein the reference information comprises a list of altitude values for each node, and wherein the reference information relates to the order of node events, and wherein the order of node events is determined by keeping track of an ordinate value of every event, and wherein the order of events are not based on time and do not need time consensus.

2. The computer-implemented method according to claim 1 , wherein the order of node events is determined by making each node keep track of an integer value called Altitude, which increases for each event created in a node.

3. The computer-implemented method according to claim 1 , wherein the reference information is sent via a Tidal-wave, and/or the cancellation information is sent via a Breaking-wave.

4. The computer-implemented method according to claim 1 , characterized in that the second sending of DAG-event information from the second given node to the first given node is the second and last wave of DAG-event information.

5. The computer-implemented method according to claim 1 , comprising a step for sending another cancellation information if a node receives information that is not in a predetermined sequence of exchange of information and/or if a node receives information from a node with which it already exchanged information.

6. A system for exchanging information among distributed computer nodes connected in a specific network, through a Directed Acyclic Graph consensus algorithm which is a Hash graph consensus algorithm via gossip protocol, the system comprising:

means for making a first given node select a second given node randomly and send reference information;

the system being preferably characterized by:

means for determining based on the reference information which node events are in front of the others;

means for sending a cancellation information to the first given node, when the reference information implies that the events of the first given node are in front of the events of the second given node, thereby preventing, in consequence, the first given node from sending DAG-event information to the second given node; and

means for making the first given node send DAG-event information to the second given node, when the reference information implies that the events of the second given node are in front of the events of the first given node, and

means for making then the second given node send DAG-event information to the first given node and so on for other nodes, so as to synchronize and propagate the DAG event information through the network;

wherein the first given node is configured to find the events which are in front of the events known by the second given node from the list of events received from the second given node, and collect this list of those events and send information back to the second given node and so on for other nodes, so as to synchronize and propagate the events information through the network;

wherein the number of transactions between the nodes is limited via the cancellation information such that the node stops the communication of the information, thereby decreasing the use of computer resources in the calculations, storing and transmission of the information;

wherein the reference information comprises a list of altitude values for each node, and wherein the reference information relates to the order of node events, and

wherein the order of node events is determined by keeping track of an ordinate value of every event, and wherein the order of events are not based on time and do not need time consensus.

7. The system according to claim 6 , comprising means for making each node keeps track of an integer value called Altitude, which increases for each event created in a node to determine the order of node events.

8. The system according to claim 6 , comprising means for sending wherein the reference information via a Tidal-wave, and means for sending the cancellation information via a Breaking-wave.

9. The system according to claim 6 , characterized by means for limiting the number of transmissions of DAG-event information between the first given node and the second given node.

10. The system according to claim 6 , comprising means for sending another cancellation information if a node receives information that is not in a predetermined sequence of exchange of information; and/or if a node receives information from a node with which it already exchanged information.

11. A network comprising one or more central unit, in particular, one or more computerized central unit, and connection(s) to additional command units implementing transactions, in particular, computerized command units, the central unit(s) comprising a system for exchanging information among distributed computer nodes connected in a specific network, by implementing a Directed Acyclic Graph consensus algorithm which is a Hash graph consensus algorithm via gossip protocol, the system comprising:

means for making a first given node select a second given node randomly and send reference information;

the system being preferably characterized by:

means for determining based on the reference information which node events are in front of the others;

means for sending a cancellation information to the first given node when the reference information implies that the events of the first given node are in front of the events of the second given node, thereby preventing, in consequence, the first given node from sending DAG-event information to the second given node; and

means for making the first given node send DAG-event information to the second given node when the reference information implies that the events of the second given node are in front of the events of the first given node, and preferably, means for making then the second given node send DAG-event information to the first given node, and so on for other nodes, so as to synchronize and propagate the DAG event information through the network;

wherein the first given node is configured to find the events which are in front of the events known by the second given node from the list of events received from the second given node, and collect this list of those events and send information back to the second given node and so on for other nodes, so as to synchronize and propagate the events information through the network;

wherein the reference information comprises a list of altitude values for each node, and wherein the number of transactions between the nodes is limited via the cancellation information such that the node stops the communication of the information, thereby decreasing the use of computer resources in the calculations, storing and transmission of the information;

wherein the reference information relates to the order of node events, and wherein the order of node events is determined by keeping track of an ordinate value of every event, and wherein the order of events are not based on time and do not need time consensus.

Assignments (3)
CHANGE OF NAME Recorded May 22, 2023
From: I25S AG
To: DECARD AG
Reel/Frame 063711/0339 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2021
From: I25S APS
To: I25S AG
Reel/Frame 057721/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2021
From: RASMUSSEN, CARSTEN BLESER
To: I25S APS
Reel/Frame 055309/0409 →
Priority Claims (1)
EP 20020031 · Jan 20, 2020 · regional
Continuity (1)
Related Publication 20210227027A1 · Jul 22, 2021