IP Library › Granted Patent US 11,699,185
Granted Patent B2
US 11,699,185 · App. 17/110,253 · Granted Jul 11, 2023

Systems and methods for privacy-preserving inventory matching

Inventors: Gilad Asharov (New York, NY); Tucker Richard Balch (Suwanee, GA); Hans Buehler (London, GB); Richard Hua (Millburn, NJ); Antigoni Ourania Polychroniadou (New York, NY); Maria Manuela Veloso (Pittsburgh, PA)
Assignee: JPMORGAN CHASE BANK, N.A.
G06Q40/04G06Q20/383G06Q20/3829G06Q20/401G06Q30/08G06Q40/02H04L9/008G06Q2220/00H04L2209/46
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 11,699,185
App. No.
17/110,253
Granted
Jul 11, 2023
Kind
B2
Abstract

Systems and methods for privacy-preserving inventory matching are disclosed. In one embodiment, in an information processing apparatus comprising at least one computer processor, a method for inventory matching may include: (1) receiving, from each of a plurality of clients, a masked submission comprising an identification of at least one security to buy or sell and a desired quantity to buy or sell; (2) aggregating the masked submissions resulting in a sum of the desired quantities to buy or sell; (3) matching at least two of the clients to conduct a transaction based on aggregation and their respective masked submissions; and (4) conducing the transaction between the matched clients.

Claims (40)

1. A method for inventory matching, comprising:

in an information processing apparatus comprising at least one computer processor:

receiving, from a first client application, a first masked submission, wherein:

the first masked submission includes a first masked long value and a first masked short value for a symbol;

the first masked long value and the first masked short value are generated using a first common key; and

the first common key is computed using a first public key generated by the first client application and a second public key generated by a second client application;

receiving, from the second client application, a second masked submission, wherein:

the second masked submission includes a second masked long value and a second masked short value for the symbol;

the second masked long value and the second masked short value are generated using a second common key; and

the second common key is computed using the first public key generated by the first client application and the second public key generated by the second client application;

aggregating the first masked submission and the second masked submission, wherein the aggregating includes:

canceling the first common key and the second common key against each other; and

providing a first sum based on the first masked submission and a second sum based on the second masked submission;

identifying a number of shares of the symbol that can be traded based on the first sum based on the first masked submission and the second sum based on the second masked submission; and

conducting a trade of the identified number of shares between the first client application and the second client application.

2. The method of claim 1 , wherein the masked submissions are submitted using a secure Multi-Party Computation (MPC) cryptographic protocol.

3. The method of claim 1 , wherein the masked submissions are submitted using an additive or fully homomorphic encryption scheme.

4. The method of claim 1 , wherein an identity of a first client user of the first client application and an identity of a second client user of the second client application is not revealed until the trade is conducted.

5. The method of claim 1 , where a secure Multi-Party Computation (MPC) cryptographic protocol is used to implement a matching algorithm.

6. The method of claim 1 , where an additive homomorphic encryption scheme is used to implement a matching algorithm.

7. The method of claim 4 , wherein at least one of the first client user and the second client user is an online client.

8. The method of claim 4 , wherein at least one of the first client user and the second client user is a fail-stop client.

9. The method of claim 4 , wherein at least one of the first client user and the second client user commits to executing the trade.

10. The method of claim 1 , wherein a buy or sell indication included in the masked submissions is represented as a 1 or 0, respectively.

11. A non-transitory computer readable storage medium, including instructions stored thereon, wherein the instructions, when read and executed by one or more computers, cause the one or more computers to perform steps comprising:

generating, at a first client application, a first public key;

generating, at a second client application, a second public key;

receiving, at the first client application, the second public key;

receiving, at the second client application, the first public key;

computing, by the first client application, a first common key based on the first public key and the second public key;

computing, by the second client application, a second common key based on the first public key and the second public key;

generating, at the first client application, a first masked submission, wherein the first masked submission includes a first masked long value and a first masked short value for a symbol generated using the first common key;

submitting the first masked submission to an operator server;

generating, by the second client application, a second masked submission, wherein the second masked submission includes a second masked long value and a second masked short value for the symbol generated using the second common key;

submitting the second masked submission to the operator server;

aggregating, by the operator server, the first masked submission and the second masked submission, wherein the aggregating includes:

canceling the first common key and the second common key against each other; and

providing a first sum based on the first masked submission and a second sum based on the second masked submission;

identifying, by the operator server, a number of shares of the symbol that can be traded based on the first sum based on the first masked submission and the second sum based on the second masked submission; and

conducting a trade of the identified number of shares between the first client application and the second client application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: ASHAROV, GILAD; BALCH, TUCKER RICHARD; BUEHLER, HANS; HUA, RICHARD; POLYCHRONIADOU, ANTIGONI OURANIA; VELOSO, MARIA MANUELA
To: JPMORGAN CHASE BANK , N.A.
Reel/Frame 063727/0163 →
Priority Claims (1)
GR 20190100549 · Dec 6, 2019 · national
Continuity (1)
Related Publication 20210174441A1 · Jun 10, 2021