DISTRIBUTED ORDER BOOK SYSTEM
A system is provided for controlling privacy in an exchange of an asset. The system receives an offer query of an offeror that includes an offeror reveal condition, an asset identifier of the asset, and offeror terms of exchange. The system accesses an offeree reveal condition and offeree terms of exchange for the asset. The system determines whether the offeror reveal condition and the offeree reveal condition are satisfied and determines whether the offeror terms of exchange and the offeree terms of exchange are satisfied. When the offeror reveal condition, the offeree reveal condition, the offeror terms of exchange, and the offeree terms of exchange are satisfied, the system reveals the offeror to the offeree and the offeree to the offeror.
1 . A node of a network of nodes, each node of the network including one or more computing systems for matching offers based on a distributed order book stored at nodes of the network, the node comprising:
one or more computer-readable storage mediums for storing
a portion of the distributed order book that includes a pending offer table that includes pending offers that have been published, each pending offer including offeror terms of exchange of an asset;
an entity offer table that includes unpublished entity offers that are not published by the node, each unpublished entity offer including entity terms of exchange of an asset; and
computer-executable instructions for controlling the one or more computing systems to, under control of the node of the network of nodes:
receive from other nodes indications of pending offers by offerors to exchange assets;
upon receiving from another node a first pending offer to exchange a first asset,
determine whether the entity offer table includes a first unpublished entity offer that matches the first pending offer;
upon determining that the entity offer table includes the first entity offer that matches,
send a notification to other nodes that the first pending offer has been fulfilled; and
unless a notification is received from another node indicating that the first pending offer has already been fulfilled,
remove the first unpublished entity offer from the entity offer table; and
record a first transaction to exchange the first asset;
upon receiving from another node a second pending offer to exchange a second asset, add the second pending offer to the pending offer table when the entity offer table does not include a second unpublished entity offer that matches the second pending offer;
upon receiving from another node an indication that a third pending offer is no longer pending, remove the third pending offer from the pending offer table;
upon determining that a first entity offer to exchange a second asset is to be fulfilled,
determine whether the pending offer table includes a fourth pending offer that matches the first entity offer; and
when the pending offer table includes a fourth pending offer that matches the first entity offer,
send a notification to other nodes that the fourth pending offer has been fulfilled; and
unless a notification is received indicating that the fourth pending offer has already been fulfilled, record a second transaction to exchange the second asset and remove the fourth pending offer from the pending offer table; and
one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums.
2 . (canceled)
3 . The node of claim 1 wherein the computer-executable instructions further direct sending to a platform of the network an indication that the fourth pending offer is no longer pending so that the platform can send to nodes of the network and indication that the fourth pending offer is no longer pending.
4 . The node of claim 1 wherein at least one of the plurality of nodes is a central authority that validates transactions prior to the transactions being recorded to verify whether a pending offer is still pending.
5 . The node of claim 1 wherein the computer-executable instructions further when the pending offer table does not includes a fourth pending offer that matches the second entity offer, direct sending to nodes of the network an indication of a fifth pending offer based on entity terms of exchange of the second entity offer.
6 . The node of claim 1 wherein the first pending offer is associated with a reveal condition indicating when the first pending offer can be revealed to the entity.
7 . The node of claim 6 wherein an entity terms of exchange of the first unpublished entity offer is associated with a reveal condition indicating when information of the entity terms of exchange can be revealed to an offeror of a first pending offer.
8 . The node of claim 1 wherein the computer-executable instructions further when a fifth pending offer is for an indicative order, send to a node of the offeror of the fifth pending order an indication of an intent to negotiate.
9 - 19 . (canceled)
20 . A method performed by a node of an entity a network of nodes, each node including one or more computing systems for matching offers based on a distributed order book stored at nodes of the network, the method comprising:
receiving from other nodes an indication of pending offers, each pending offer to exchange an asset;
based on a determination that a first unpublished entity offer associated with the node matches a first pending offer to exchange a first asset,
sending a first notification to other nodes that the first pending offer has been fulfilled; and
directing recording of a first transaction to exchange the first asset;
based on a determination that no unpublished entity offer of the entity is to be matched with a second pending offer, adding the second pending offer to a portion of the distributed order book that includes offers that have been published;
based on a determination that a third pending offer is no longer pending, removing the third pending offer from the pending offer table; and
based on a determination that the pending offer table includes a fourth pending offer to exchange a second asset that matches a second unpublished entity offer,
sending a third notification to other nodes that the fourth pending offer has been fulfilled;
directing recording of a second transaction to exchange the second asset; and
removing the fourth pending offer from the pending offer table.
21 . The method of claim 20 wherein the directing of the recording of the first transaction includes sending a request to a central authority to validate the second transaction prior to the second transaction being recorded to verify whether the first pending offer is still pending.
22 . The method of claim 20 further comprising when the pending offer table does not include a fifth pending offer that matches an entity offer, directing the sending to nodes of the network an indication the entity offer is a pending offer.
23 . The method of claim 20 wherein a fifth pending offer is associated with a reveal condition indicating when the fifth pending offer can be revealed to the entity.
24 . The method of claim 20 wherein an entity offer is associated with a reveal condition indicating when the entity offer can be revealed to an offeror of a fifth pending offer.
25 . The method of claim 20 further comprising when a fifth pending offer of an offeror matches an entity offer, sending to a node of the offeror of the fifth pending offer an indication of an intent to negotiate.