IP Library Granted Patent US 12,445,930
Granted Patent B2
US 12,445,930 · App. 18/433,315 · Granted Oct 14, 2025

Systems and methods for propagating data packets in a network of nodes

Inventors: Silvia Bartolucci (London, GB); Simone Madeo (London, GB)
Assignee: NCHAIN LICENSING AG
H04W40/02H04W24/02
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 12,445,930
App. No.
18/433,315
Granted
Oct 14, 2025
Kind
B2
Abstract

Techniques are presented for a method of propagating data packets in a network of nodes. The method includes: generating at least one data packet of a first type; collecting a set of first data packets of the first type during a first time period the set including at least one data packet received from one or more other nodes in the network; arbitrarily selecting a subset of entry nodes to the first node to which a subset of the collected and generated data packets will be forwarded to; and transmitting the data packets to the subset of arbitrarily selected entry nodes.

Claims (40)

1. A computer-implemented method performed at a first node in a network of nodes for propagating data packets in the network of nodes, and the network of nodes comprises a plurality of one or more first entry nodes, the method comprising:

generating at least one data packet of a first type;

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

arbitrarily selecting a first subset of entry nodes to the first node to which a subset of the collected and generated data packets will be forwarded to;

transmitting the subset of collected and generated data packets to the subset of arbitrarily selected entry nodes;

receiving, by the first subset of entry nodes, the data packets from the first node;

relaying the data packets to a second subset of entry nodes using a mode of propagation that is randomly selected for each second entry node;

building a routing data structure that defines an allocation scheme for each node that adopts a random differential relay protocol, and

using the routing data structure to manage which transactions are directed to which node of the network and at what time.

2. The method of claim 1 , wherein the data packet of the first type comprises a blockchain transaction.

3. The method of claim 1 , wherein the length of time period T is predefined and varies based on parameters including one of: average connection time, average number of transactions received per unit of time, or a number of incoming connections to the node within the network.

4. The method of claim 1 , wherein during the time period, T, the first node is only permitted to accumulate data packets of the first type, and is prevented from transmitting any data packets of the first type for the duration of time period T.

5. The method of claim 1 , further comprising:

querying the network to obtain fresh addresses of its peers, wherein the first node queries one or more database source names (DSN) embedded in Bitcoin Core, BitcoinJ, or other blockchain protocol, and maintained by Bitcoin community members; and

as a response, receiving at the first node, one or more DSN records showing the IP addresses of available full nodes which may accept incoming connections.

6. The method of claim 1 , wherein the mode of propagation comprises either a standard diffusion process or a random differential relay process.

7. The method of claim 6 , wherein a higher predefined probability of being selected as the mode of propagation is associated with the random differential relay mode compared to the standard diffusion process.

8. The method of claim 1 , wherein selecting the mode of propagation comprises:

receiving, by the first subset of entry nodes, a message from the first node;

generating, a random value, appending the random value to the message, and hashing the result; and

checking the hash value and obtaining the mode of propagation based on predetermined rules regarding the hash value of the result.

9. The method of claim 1 , wherein selecting the mode of propagation comprises a randomized process where the probability of selecting one of the modes is greater than that of selecting the other of the modes.

10. A computer-implemented system comprising a network of a plurality of nodes, each of the nodes comprising a processor and a memory, the memory comprising instructions that, in response to execution by the processor, cause the system to at least:

generate at least one data packet of a first type at a first node;

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

arbitrarily select a first subset of entry nodes to the first node to which a subset of the collected and generated data packets will be forwarded to;

transmit the subset of collected and generated data packets to the subset of arbitrarily selected entry nodes;

receive, at the first subset of entry nodes, the data packets from the first node;

relay the data packets to a second subset of entry nodes using a mode of propagation that is randomly selected for each second entry node;

build a routing data structure that defines an allocation scheme for each node that adopts a random differential relay protocol, and

use the routing data structure to manage which transactions are directed to which node of the network and at what time.

11. A non-transitory computer-readable medium storing instructions thereon that, as a result of execution by a processor of a computer system, cause the computer system to at least:

generate at least one data packet of a first type at a first node of a network;

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

arbitrarily select a first subset of entry nodes to the first node to which a subset of the collected and generated data packets will be forwarded to;

transmit the subset of collected and generated data packets to the subset of arbitrarily selected entry nodes;

receive, at the first subset of entry nodes, the data packets from the first node;

relay the data packets to a second subset of entry nodes using a mode of propagation that is randomly selected for each second entry node;

build a routing data structure that defines an allocation scheme for each node that adopts a random differential relay protocol, and

use the routing data structure to manage which transactions are directed to which node of the network and at what time.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2024
From: BARTOLUCCI, SILVIA; MADEO, SIMONE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 066392/0477 →
CHANGE OF NAME Recorded Feb 6, 2024
From: NCHAIN HOLDINGS LTD.
To: NCHAIN LICENSING AG
Reel/Frame 066507/0814 →
Priority Claims (1)
GB 1807835 · May 15, 2018 · national
Continuity (3)
Continuation 17982488 · Nov 7, 2022
Continuation 17055448
Related Publication 20240251324A1 · Jul 25, 2024
References Cited (25)
US 11245757B2 · Bartolucci · 2022 [cited by examiner]
US 11489751B2 · Bartolucci · 2022 [cited by examiner]
US 11496945B2 · Bartolucci · 2022 [cited by applicant]
US 11743328B2 · Bartolucci · 2023 [cited by examiner]
US 20030128687A1 · Worfolk · 2003 [cited by examiner]
US 20070150928A1 · Hottinen · 2007 [cited by examiner]
US 20110116397A1 · Imanaka · 2011 [cited by applicant]
US 20130182625A1 · Kuehnel et al. · 2013 [cited by applicant]
US 20150098443A1 · Ankaiah et al. · 2015 [cited by applicant]
US 20190082007A1 · Klarman · 2019 [cited by examiner]
US 20200389519A1 · Bartolucci · 2020 [cited by examiner]
EP 3753220A1 · 2020 [cited by applicant]
JP 2002059779A · 2002 [cited by applicant]
JP 2006228201A · 2006 [cited by applicant]
JP 2012129857A · 2012 [cited by applicant]
Anonymous, “Bips/bip-dandelion.mediawiki,” GitHub, retrieved from https://github.com/dandelion-org/bips/blob/eaaccf89f3674d64a5ca6f2d433660a7667bee80/bip-dandelion.mediawiki, May 9, 2018, 9 pages. [cited by applicant]
Anonymous, “Bips/bip-dandelion.mediawiki,” GitHub, retrieved from https://github.com/dandelion-org/bips/blob/master/bip-dandelion.mediawiki#Implementation, Jun. 25, 2018, 11 pages. [cited by applicant]
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. [cited by applicant]
Bojja et al., “Dandelion: Redesigning the Bitcoin Network for Anonymity,” Jan. 16, 2017, 19 pages. [cited by applicant]
Diaz et al., “Towards Measuring Anonymity,” Springer International Publishing, Jan. 1, 2003, 15 pages. [cited by applicant]
Fanti et al., “Spy vs. Spy: Rumor Source Obfuscation,” Apr. 26, 2015, 14 pages. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/IB2019/053826, mailed Sep. 16, 2019, filed May 9, 2019, 10 pages. [cited by applicant]
Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” Bitcoin, Oct. 31, 2008, https://bitcoin.org/bitcoin.pdf, 9 pages. [cited by applicant]
Satoshi et al., “Connection Limits,” Bitcoin Forum, Aug. 9, 2010, https://bitcointalk.org/index.php?topic=741.0;prev_next=prev, 2 pages. [cited by applicant]
UK IPO Search Report mailed Oct. 29, 2018, Patent Application No. GB1807835.2, 3 pages. [cited by applicant]