Abstract
A distributed event synchronization may be provided by a plurality of nodes in communication with one another via a network. An event module of one of the plurality of nodes may receive data about an event to be codified in a distributed ledger. The event module may place the event in an event queue for distributed block negotiation. A ledger module of the one of the plurality of nodes may perform the block negotiation with at least one other node in the network. Performing the block negotiation may comprise sharing the event queue; determining a greatest common set of shared events comprising the event; when a consensus quorum of the plurality of nodes has determined the greatest common set, creating a block comprising the greatest common set of shared events; sharing local data relating to the block; receiving additional data relating to the block from the at least one other node...
Claims
- A system for providing distributed event synchronization, the system comprising:
- a plurality of nodes in communication with one another via a network, each node comprising:
- a processor;
- a memory;
- an event module in communication with the processor and the memory and configured to:
- receive data about an event to be codified in a distributed ledger; and
- place the event in an event queue for distributed block negotiation; and
- a ledger module in communication with the processor and the memory and configured to perform the block negotiation with at least one other node in the network by:
- sharing the event queue;
- determining a greatest common set of shared events comprising the event;
- when a consensus quorum of the plurality of nodes has determined the greatest common set, creating a block comprising the greatest common set of shared events;
- sharing local data relating to the block;
- receiving additional data relating to the block from the at least one other node; and
- when the local data and the additional data agree, writing the block into a distributed ledger shared by the memory of each of the plurality of nodes.
- The system of claim 1, wherein:
- the local data comprises a local hash of the block; and
- the ledger module is further configured to generate the local hash of the block.
- The system of claim 1, wherein the additional data comprises at least one additional hash from the at least one other node.
- The system of claim 1, wherein the event module is further configured to verify at least one fact in the data about the event.
- The system of claim 4, wherein verifying the at least one fact comprises receiving verification from a verification subsystem, an external verification source, or a combination thereof.
- The system of claim 1, wherein the event module is further configured to share the data about the event with the at least one other node in the network.
- The system of claim 6, wherein the at least one other node in the network is
- configured to independently verify at least one fact in the data about the event.
- The system of claim 1, wherein the consensus quorum comprises each of the plurality of nodes.
- The system of claim 1, wherein the consensus quorum comprises a majority of the plurality of nodes.
- The system of claim 1, wherein the ledger module is further configured to re-queue the event when no consensus quorum has determined the greatest common set.
- The system of claim 1, wherein the ledger module is further configured to re-queue the event when the local hash and the additional hash disagree.
- The system of claim 1, wherein the event comprises a rewards point exchange, a rewards point earning, a rewards point payment, a contract creation, a contract rescindment, an investment, an account adjustment, or a combination thereof.
- The system of claim 1, further comprising a client comprising:
- a client processor;
- a client memory; and
- a client module configured to connect to at least one of the plurality of nodes via the network and submit the data about the event to the at least one node.
- The system of claim 13, wherein the ledger module is further configured to communicate to the client an indication that the block has been written into the distributed ledger.
- The system of claim 1, wherein the distributed ledger comprises a blockchain.
- A method for providing distributed event synchronization, the method comprising:
- receiving, with an event module of one of a plurality of nodes in
- communication with one another via a network, data about an event to be codified in a distributed ledger;
- placing, with the event module, the event in an event queue for distributed block negotiation;
- performing, with a ledger module of the one of the plurality of nodes, the block negotiation with at least one other node in the network by:
- sharing the event queue;
- determining a greatest common set of shared events comprising the event;
- when a consensus quorum of the plurality of nodes has determined the greatest common set, creating a block comprising the greatest common set of shared events;
- generating a local hash of the block;
- sharing local data relating to the block;
- receiving additional data relating to the block from the at least one other node; and
- when the local data and the additional data agree, writing the block into a distributed ledger shared by the memory of each of the plurality of nodes.
- The method of claim 16, wherein the local data comprises a local hash of the block, the method further comprising generating, with the ledger module, the local hash of the block.
- The method of claim 16, wherein the additional data comprises at least one additional hash from the at least one other node.
- The method of claim 16, further comprising verifying, with the event module, at least one fact in the data about the event.
- The method of claim 19, wherein verifying the at least one fact comprises receiving verification from a verification subsystem, an external verification source, or a combination thereof.
- The method of claim 16, further comprising sharing, with the event module, the data about the event with the at least one other node in the network.
- The method of claim 21, further comprising independently verifying, with the at least one other node in the network, at least one fact in the data about the event.
- The method of claim 16, wherein the consensus quorum comprises each of the
- plurality of nodes.
- The method of claim 16, wherein the consensus quorum comprises a majority of the plurality of nodes.
- The method of claim 16, further comprising re-queueing, with the ledger module, the event when no consensus quorum has determined the greatest common set.
- The method of claim 16, further comprising re-queueing, with the ledger module, the event when the local hash and the additional hash disagree.
- The method of claim 16, wherein the event comprises a rewards point exchange, a rewards point earning, a rewards point payment, a contract creation, a contract rescindment, an investment, an account adjustment, or a combination thereof.
- The method of claim 16, further comprising:
- connecting, with a client, to at least one of the plurality of nodes via the network and;
- submitting, with the client, the data about the event to the at least one node.
- The method of claim 28, further comprising communicating, with the ledger module, to the client an indication that the block has been written into the distributed ledger.
- The method of claim 16, wherein the distributed ledger comprises a blockchain.
Applicants
-
Manifold Tech Inc
Explore more patents:
Inventors
-
Seger Robert Allan
Explore more patents:
CPC Classifications
-
G06Q20/3829
Explore more patents:
-
G06Q30/0233
Explore more patents:
-
G06Q2220/00
Explore more patents:
-
H04L67/04
Explore more patents:
-
H04L67/10
Explore more patents:
-
H04L67/1095
Explore more patents:
-
H04L67/20
Explore more patents:
-
H04L67/42
Explore more patents:
-
H04L69/40
Explore more patents:
-
H04L2209/38
Explore more patents:
-
H04L2209/56
Explore more patents:
Document Preview
- Publication: Apr 27, 2017
-
Application:
Sep 14, 2016
US 2016/0051727 W
-
Priority:
Nov 10, 2015
US 201562253460 P
-
Priority:
Oct 21, 2015
US 201562244376 P