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 |
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.
|