IP Library Granted Patent US 11,245,757
Granted Patent B2
US 11,245,757 · App. 16/767,559 · Granted Feb 8, 2022

Computer-implemented system and method for propagation and communication of data in a network such as a blockchain network

Inventors: Silvia Bartolucci (London, GB); Daniel Joseph (London, GB); Simone Madeo (London, GB)
Assignee: nChain Licensing AG
H04L67/108G06Q20/065H04L45/16H04L63/1441
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,245,757
App. No.
16/767,559
Granted
Feb 8, 2022
Kind
B2
Abstract

A method of propagating data packets in a network of nodes is disclosed. The method, implemented at one of the nodes, includes: generating at least one data packet of a first type; collecting a set of data packets of the first type during a first time period, the set including the at least one generated data packet and at least one data packet of the first type received from one or more first nodes in the network; and for each data packet in the set: randomly select two or more neighbouring nodes connected to said one of the nodes; transmit, to each of the two or more selected neighbouring nodes: the data packet, wherein the two or more selected neighbouring nodes are configured to relay the data packet to one or more second nodes in the network using a mode of data propagation that is arbitrarily selected for that neighbouring node. The invention is particularly suited for implementation on a blockchain network such as, for example, the Bitcoin blockchain.

Claims (37)

1. A node to propagate data packets in a network of nodes, each node in the network having one or more connections to other nodes, the node comprising:

a processor;

a network interface to provide network connectivity; and

memory including processor-executable instructions that, when executed by the processor, cause the processor to:

generate at least one data packet of a first type;

collect a set of data packets of the first type during a first time period, the set including the at least one generated data packet and at least one data packet of the first type received from one or more first nodes in the network; and

for each data packet in the set:

arbitrarily select two or more neighbouring nodes connected to the node; and

transmit the data packet to each of the two or more selected neighbouring nodes,

wherein the two or more selected neighbouring nodes are configured to relay the data packet to one or more second nodes in the network using a mode of data propagation that is randomly selected for that neighbouring node.

2. The node claimed in claim 1 , wherein the first time period has a predefined length.

3. The node claimed in claim 1 , wherein the instructions, when executed, cause the processor to perform the transmitting in response to determining that a triggering condition has been met.

4. The node claimed in claim 3 , wherein the triggering condition comprises expiry of a predetermined duration since a time of generation of the at least one data packet of the first type by the node.

5. The node claimed in claim 3 , wherein the triggering condition comprises expiry of a predetermined duration since a time of receipt of a first of the at least one data packet of the first type from the one or more first nodes.

6. The node claimed in claim 3 , wherein the triggering condition comprises a number of data packets collected during the first time period reaching a threshold number.

7. The node according to claim 1 , wherein the mode of data propagation for a neighbouring node is arbitrarily selected between a first mode and a second mode, wherein:

in the first mode, the data packet is relayed to an arbitrarily selected subset of nodes that are connected to the neighbouring node; and

in the second mode, the data packet is relayed to all nodes connected to the neighbouring node.

8. The node according to claim 1 , wherein the instructions, when executed, prevent the processor from transmitting any data packets of the first type during the first time period.

9. A computer-implemented method of propagating data packets in a network of nodes, each node in the network having one or more connections to other nodes, the method, implemented at one of the nodes, comprising:

generating at least one data packet of a first type;

collecting a set of data packets of the first type during a first time period, the set including the at least one generated data packet and at least one data packet of the first type received from one or more first nodes in the network; and

for each data packet in the set:

arbitrarily select two or more neighbouring nodes connected to said one of the nodes; and

transmit the data packet to each of the two or more selected neighbouring nodes,

wherein the two or more selected neighbouring nodes are configured to relay the data packet to one or more second nodes in the network using a mode of data propagation that is randomly selected for that neighbouring node.

10. The method of claim 9 , wherein the transmitting is performed in response to determining that a triggering condition has been met.

11. The method of claim 10 , wherein the triggering condition comprises expiry of a predetermined duration since the time of generation of the at least one data packet of the first type by said one of the nodes.

12. A processor-readable medium storing processor-executable instructions to participate in a process for propagating data packets in a network of nodes, wherein the processor-executable instructions, when executed by a processor in one of the participating nodes, cause the processor to carry out the method claimed in claim 11 .

13. The method of claim 10 , wherein the triggering condition comprises expiry of a predetermined duration since the time of receipt of a first of the at least one data packet of the first type from the one or more first nodes.

14. A processor-readable medium storing processor-executable instructions to participate in a process for propagating data packets in a network of nodes, wherein the processor-executable instructions, when executed by a processor in one of the participating nodes, cause the processor to carry out the method claimed in claim 13 .

15. The method of claim 10 , wherein the triggering condition comprises the number of data packets collected during the first time period reaching a threshold number.

16. A processor-readable medium storing processor-executable instructions to participate in a process for propagating data packets in a network of nodes, wherein the processor-executable instructions, when executed by a processor in one of the participating nodes, cause the processor to carry out the method claimed in claim 15 .

17. A non-transitory processor-readable medium storing processor-executable instructions to participate in a process for propagating data packets in a network of nodes, wherein the processor-executable instructions, when executed by a processor in one of the participating nodes, cause the processor to carry out the method claimed in claim 10 .

18. The method of claim 9 , further comprising preventing transmission of any data packets of the first type during the first time period.

19. A processor-readable medium storing processor-executable instructions to participate in a process for propagating data packets in a network of nodes, wherein the processor-executable instructions, when executed by a processor in one of the participating nodes, cause the processor to carry out the method claimed in claim 18 .

20. A non-transitory processor-readable medium storing processor-executable instructions to participate in a process for propagating data packets in a network of nodes, wherein the processor-executable instructions, when executed by a processor in one of the participating nodes, cause the processor to carry out the method claimed in claim 9 .

Assignments (2)
CHANGE OF NAME Recorded Dec 3, 2021
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 058772/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2020
From: BARTOLUCCI, SILVIA; JOSEPH, DANIEL; MADEO, SIMONE
To: NCHAIN HOLDINGS LTD
Reel/Frame 052768/0389 →
Priority Claims (1)
GB 1719654 · Nov 27, 2017 · national
Continuity (1)
Related Publication 20200389519A1 · Dec 10, 2020
Cited By (1)
US 12,445,930