IP Library Granted Patent US 12,265,523
Granted Patent B2
US 12,265,523 · App. 18/395,618 · Granted Apr 1, 2025

Probabilistic relay for efficient propagation in a blockchain network

Inventors: Simone Madeo (London, GB); Patrick Motylinski (London, GB); Giuseppe Destefanis (London, GB); Stephane Vincent (Luxembourg, LU)
Assignee: NCHAIN LICENSING AG
G06F16/2379H04L9/0643H04L9/3093H04L67/10H04L67/104H04L9/50
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,265,523
App. No.
18/395,618
Granted
Apr 1, 2025
Kind
B2
Abstract

A computer-implemented method for a node of a blockchain network comprising receiving or generating data for distribution in the blockchain network, said node having a plurality of interfaces, said data corresponding to an object such as a transaction or a block. The transaction can be a Bitcoin transaction for recordal in a blockchain. The method determines a correlation matrix having correlation coefficients representing the correlation between data processed at each interface of said node. From the correlation matrix a correlation index for each interface is determined. A threshold or indicator is calculated and data or objects such as Bitcoin transactions are relayed from nodes via interfaces according to a set of correlation coefficients of interface receiving the data. An indicator or threshold can derived from the correlation matrix and data is relayed if the correlation between the receiving interface and the other interface is lower than the indicator.

Claims (138)

1. A computer-implemented method, comprising:

determining a correlation matrix having correlation coefficients representing a correlation between data processed at each interface of a node of a blockchain network, said node having a plurality of interfaces connected to peer nodes;

receiving data at a receiving interface of said node, wherein the data corresponds to a transaction, determining a correlation index to determine whether the transaction is unique;

selecting one or more other interfaces of said node according to a set of the correlation coefficients of the receiving interface, wherein the selection is based at least in part on a metric derived from the correlation matrix and historical data regarding previous transmissions at the selected interfaces;

dynamically adjusting the correlation matrix and the metric in response to network changes; and

relaying said received data from the selected one or more other interfaces based on the adjusted correlation matrix.

2. The method according to claim 1 , wherein an indicator is derived from the correlation matrix and data is relayed if the correlation between the receiving interface and the or each other interface is lower than the indicator.

3. The method according to claim 2 , wherein the indicator is used to determine a metric, said metric setting criteria for selecting which of the other interfaces are selected relaying data.

4. The method according to claim 1 , in which the data resides in network packets representing a serialised transaction and an identification representing the connection to an adjacent or peer node.

5. The method according to claim 1 , wherein the node establishes the correlation matrix by monitoring:

(i) data identifiers of each packet of data processed through each interface; and

(ii) identical transactions processed through pairs of interfaces; and

determines a correlation coefficient between any two interfaces therefrom.

6. The method according to claim 1 , wherein the correlation matrix having m(m−1) elements is used to determine a correlation index of an interface a, as follows:

c

a

=

i

=

0

a

-

1

c

ai

+

i

=

a

+

1

m

-

1

c

ai

wherein m is the number of interfaces connected to peer nodes, c a is the correlation index of an interface a, and C ia is a correlation coefficient.

7. The method according to claim 1 , wherein the correlation matrix having m(m−1) elements is used to determine a set of correlation coefficients for an interface a, as follows:

{

C

a

}

=

[

c

0

a

,

c

1

a

,

c

am

-

1

]

.

wherein c a is the correlation index of the interface a.

8. The method according to claim 1 , wherein the indicator is determined by:

determining a set of correlation coefficients, derived from the correlation matrix, for each interface connected to a peer node, said set having the connection coefficients between each interface; and

deriving an average or median value from said set.

9. The method according to claim 1 , wherein the number of interfaces selected for relay from an interface is dependent upon a metric derived from a set of correlation coefficients for an interface is determined from

m

*

(

a

)

=

i

=

0

m

=

1

θ

i

(

a

)

wherein a is the interface, m is the number of interfaces connected to peer nodes, m*(a) is the number of nodes selected for relay interfaces of a node, and θ is the metric that is compared to an indicator, such as the average value ( c a ) of the set of correlation of coefficients of an interface within the set {c a }, wherein

θ

i

(

a

)

=

{

1

,

c

ai

c

a

_

0

c

ai

>

c

a

_

.

10. The method according to claim 1 , wherein relaying data is further based on at least one of:

(i) a reset time, being the time since node initiation or start-up; and

(ii) a change time, being the time between change events including at least a new peer node connecting to an interface;

a terminated connection to an interface; and

an interface connecting to a node categorised or judged to be malicious.

11. The method according to claim 1 , wherein upon node initiation the node connects with peer nodes and relays data via all interfaces for the reset time period, during which the correlation matrix is established, and after said period of time has passed the node relays all data if the correlation between the receiving interface and the other interface is lower than the indicator.

12. The method according to claim 10 , wherein upon detecting a change event the correlation matrix is reset and re-determined.

13. The method according to claim 10 , wherein upon detecting a change event the node relays all objects from the node via interfaces if the correlation between the receiving interface and the other interface is above the indicator.

14. The method according to claim 10 , wherein upon detecting a disconnection of a peer node from an interface the correlation matrix is reset and re-determined.

15. The method according to claim 10 , wherein upon detecting a connection between a new peer node with an interface, said interface relays data via all interfaces for:

(i) the reset time; and/or

(ii) the change time.

16. A non-transitory computer readable storage medium comprising non-transitory computer-executable instructions that, when executed, configure a processor to execute operations, the operations comprising:

determining a correlation matrix having correlation coefficients representing a correlation between data processed at each interface of a node of a blockchain network, said node having a plurality of interfaces connected to peer nodes;

receiving data at a receiving interface of said node, wherein the data corresponds to a transaction, determining a correlation index to determine whether the transaction is unique;

selecting one or more other interfaces of said node according to a set of the correlation coefficients of the receiving interface, wherein the selection is based at least in part on a metric derived from the correlation matrix and historical data regarding previous transmissions at the selected interfaces;

dynamically adjusting the correlation matrix and the metric in response to network changes; and

relaying said received data from the selected one or more other interfaces based on the adjusted correlation matrix.

17. An electronic device comprising:

an interface device;

one or more processors coupled to the interface device; and

a memory coupled to the one or more processors, the memory storing operations to be executed by the one or more processors, the operation comprising:

determining a correlation matrix having correlation coefficients representing a correlation between data processed at each interface of a node of a blockchain network, said node having a plurality of interfaces connected to peer nodes;

receiving data at a receiving interface of said node, wherein the data corresponds to a transaction, determining a correlation index to determine whether the transaction is unique;

selecting one or more other interfaces of said node according to a set of the correlation coefficients of the receiving interface, wherein the selection is based at least in part on a metric derived from the correlation matrix and historical data regarding previous transmissions at the selected interfaces;

dynamically adjusting the correlation matrix and the metric in response to network changes; and

relaying said received data from the selected one or more other interfaces based on the adjusted correlation matrix.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2024
From: MADEO, SIMONE; MOTYLINSKI, PATRICK; DESTEFANIS, GIUSEPPE; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 066809/0880 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2024
From: MADEO, SIMONE; MOTYLINSKI, PATRICK; DESTEFANIS, GIUSEPPE; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 066810/0107 →
CHANGE OF NAME Recorded Mar 18, 2024
From: NCHAIN HOLDINGS LTD.
To: NCHAIN LICENSING AG
Reel/Frame 066816/0974 →
Priority Claims (2)
GB 1710517 · Jun 30, 2017 · national
GB 1713363 · Aug 21, 2017 · national
Continuity (3)
Continuation 17751466 · May 23, 2022
Continuation 16627727
Related Publication 20240211466A1 · Jun 27, 2024
References Cited (57)
US 6487194B1 · Kirkby · 2002 [cited by applicant]
US 7644150B1 · Nucci et al. · 2010 [cited by applicant]
US 8352585B2 · Hu et al. · 2013 [cited by applicant]
US 20040233849A1 · Cole · 2004 [cited by applicant]
US 20050080858A1 · Pessach · 2005 [cited by examiner]
US 20050083848A1 · Shao et al. · 2005 [cited by applicant]
US 20050097386A1 · Datta et al. · 2005 [cited by applicant]
US 20050144544A1 · Gariador et al. · 2005 [cited by applicant]
US 20060224748A1 · Gupta et al. · 2006 [cited by applicant]
US 20060265371A1 · Edmond et al. · 2006 [cited by applicant]
US 20080016115A1 · Bahl et al. · 2008 [cited by applicant]
US 20080062870A1 · Clower · 2008 [cited by examiner]
US 20080267083A1 · MacCormick et al. · 2008 [cited by applicant]
US 20090138592A1 · Overcash et al. · 2009 [cited by applicant]
US 20090175172A1 · Prytz et al. · 2009 [cited by applicant]
US 20100185760A1 · Nakahira · 2010 [cited by applicant]
US 20130031211A1 · Johnson et al. · 2013 [cited by applicant]
US 20130259043A1 · Yamashita · 2013 [cited by applicant]
US 20140195656A1 · Hopkins · 2014 [cited by applicant]
US 20140317196A1 · Maenpaa · 2014 [cited by applicant]
US 20150049759A1 · Noyama et al. · 2015 [cited by applicant]
US 20170171222A1 · Ling et al. · 2017 [cited by applicant]
US 20170243212A1 · Castinado et al. · 2017 [cited by applicant]
US 20180181751A1 · Jagadeesan et al. · 2018 [cited by applicant]
US 20180302222A1 · Agrawal · 2018 [cited by examiner]
US 20190018887A1 · Madisetti · 2019 [cited by examiner]
US 20190261433A1 · Turner et al. · 2019 [cited by applicant]
US 20190373521A1 · Crawford · 2019 [cited by examiner]
US 20200059369A1 · Li · 2020 [cited by examiner]
US 20200134206A1 · Thekadath et al. · 2020 [cited by applicant]
US 20200379979A1 · Thekadath · 2020 [cited by examiner]
CN 104994019A · 2015 [cited by applicant]
CN 106603633A · 2017 [cited by applicant]
EP 2031800A1 · 2009 [cited by applicant]
EP 2432164A1 · 2012 [cited by applicant]
EP 2464060A1 · 2012 [cited by applicant]
EP 1690398B1 · 2015 [cited by applicant]
JP 2009049458A · 2009 [cited by applicant]
WO 9963708A2 · 1999 [cited by applicant]
WO 2004110024A1 · 2004 [cited by applicant]
WO 2007127401A2 · 2007 [cited by applicant]
Al Hamra, “Swarming overlay construction strategies,” Proceedings of the 18th International Conference on Computer Communications and Networks (ICCCN) 2009, Aug. 2009, 8 pages. [cited by applicant]
Anonymous, “Bitcoindeveloper Introduction,” Bitcoin Developer, copyright 2009-2020, https://developer.bitcoin.org/reference/intro.html, 2 pages. [cited by applicant]
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. [cited by applicant]
Decker et al., “Information propagation in the Bitcoin network,” IEEE Thirteenth International Conference on Peer-to-Peer Computing (P2P), Sep. 9, 2013, 10 pages. [cited by applicant]
International Search Report and Written Opinion mailed Sep. 20, 2018, Patent Application No. PCT/IB2018/054667, 15 pages. [cited by applicant]
International Search Report and Written Opinion mailed Sep. 26, 2018, Patent Application No. PCT/IB2018/054669, 15 pages. [cited by applicant]
Liang et al., “DagStream: Locality Aware and Failure Resilient Peer-to-Peer Streaming,” Multimedia Computing and Networking 2006 6071:60710L, Jan. 16, 2006, 15 pages. [cited by applicant]
Lu et al., “Content-based peer-to-peer network overlay for full-text federated search,” Large Scale Semantic Access to Content (Text, Image, Video, and Sound), May 30, 2007, 20 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]
Small et al., “Scaling Laws and Tradeoffs in Peer-to-Peer Live Multimedia Streaming,” Proceedings of the 14th ACM International Conference on Multimedia, Oct. 2006, 10 pages. [cited by applicant]
UK Commercial Search Report mailed Jan. 12, 2018, Patent Application No. GB1713363.8, 7 pages. [cited by applicant]
UK Commercial Search Report mailed Nov. 15, 2017, Patent Application No. GB1710517.2, 9 pages. [cited by applicant]
UK IPO Search Report mailed Dec. 11, 2017, Patent Application No. GB1710517.2, 4 pages. [cited by applicant]
UK IPO Search Report mailed Jan. 15, 2018, Patent Application No. GB1713363.8, 5 pages. [cited by applicant]
Zookolaptop et al., “Bitcoin Wizards chat log Oct. 30, 2015,” IRC Log, Oct. 30, 2015, https://irclog.whitequark.org/bitcoin-wizards/2015-12-30, 41 pages. [cited by applicant]