US 12,067,540 B2
Method and system for selectively using network coding for propagating transactions in a blockchain network
Giuseppe Destefanis, London (GB); Simone Madeo, London (GB); Patrick Motylinski, London (GB); Stephane Vincent, Luxembourg (LU); and Craig Steven Wright, London (GB)
Assigned to nChain Licensing AG, Zug (CH)
Appl. No. 16/620,864
Filed by nChain Licensing AG, Zug (CH)
PCT Filed Jun. 4, 2018, PCT No. PCT/IB2018/053978
§ 371(c)(1), (2) Date Dec. 9, 2019,
PCT Pub. No. WO2018/224942, PCT Pub. Date Dec. 13, 2018.
Claims priority of application No. 1709219 (GB), filed on Jun. 9, 2017.
Prior Publication US 2020/0202312 A1, Jun. 25, 2020
Int. Cl. G06Q 20/08 (2012.01); H04B 7/155 (2006.01); H04L 1/00 (2006.01); H04L 9/06 (2006.01); H04L 47/11 (2022.01); H04L 47/38 (2022.01)
CPC G06Q 20/085 (2013.01) [H04B 7/15521 (2013.01); H04L 1/0057 (2013.01); H04L 9/0637 (2013.01); H04L 47/11 (2013.01); H04L 47/38 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A node to propagate blockchain transactions in a network of nodes, each node in the network of nodes, having one or more connections to other nodes, the node comprising:
a processor;
memory;
a network interface; and
an application containing processor-executable instructions that, when executed by the processor, cause the processor to:
determine that the node is a bottleneck for propagation of the blockchain transactions;
receive, via the network interface and over a first time period, a plurality of new blockchain transactions from one or more first nodes in the network of nodes;
combine the plurality of new blockchain transactions using network coding and a local encoding vector to generate a message, wherein the local encoding vector represents an encoding function at the node for a respective input to that node, and wherein the message has a length no longer than a longest blockchain transaction in the plurality of new blockchain transactions; and
send the message and a global encoding vector to one or more second nodes in the network of nodes that do not yet have the plurality of new blockchain transactions instead of sending the plurality of new blockchain transactions to the one or more second nodes, wherein the global encoding vector represents an encoding function at a previous node for all inputs to that node.