IP Library Granted Patent US 11,843,587
Granted Patent B2
US 11,843,587 · App. 17/939,285 · Granted Dec 12, 2023

Systems and methods for tree-based model inference using multi-party computation

Inventors: Babak Poorebrahim Gilkalaye (Kansas City, MO); Gharib Gharibi (Overland Park, KS); Greg Storm (Kansas City, MO); Riddhiman Das (Parkville, MO)
Assignee: TripleBlind, Inc.
H04L63/0428G06F16/13G06F17/16G06F18/2113G06F18/24G06F21/6245G06N3/04G06N3/048G06N3/082G06N3/098H04L9/008H04L9/0625H04L2209/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,843,587
App. No.
17/939,285
Granted
Dec 12, 2023
Kind
B2
Abstract

A system and method for securely computing an inference of two types of tree-based models, namely XGBoost and Random Forest, using secure multi-party computation protocol. The method includes computing a respective comparison result of each respective node of a plurality of nodes in a tree classifier. Each node has a respective threshold value. The respective comparison result is based on respective data associated with a data owner device being applied to a respective node having the respective threshold value. The method includes computing, based on the respective comparison result, a leaf value associated with the tree classifier, generating a share of the leaf value and transmitting, to the data owner device, a share of the leaf value. The data owner device computes, using a secure multi-party computation and between the model owner device and the data owner device, the leaf value for the respective data of the data owner.

Claims (30)

1. A method comprising:

computing a respective comparison result of each respective node of a plurality of nodes in a tree classifier, wherein each node of the plurality of nodes has a respective threshold value and is associated with a model owner device, wherein the respective comparison result is based on respective data associated with a data owner device being applied to a respective node having the respective threshold value, wherein the respective comparison result does not reveal the respective data to the model owner device and does not reveal the respective threshold value to the data owner device and wherein the model owner device differs from the data owner device;

computing, based on the respective comparison result, a leaf value associated with the tree classifier, wherein computing the leaf value comprises multiplying the respective comparison result with a respective leaf value associated with a respective node of the plurality of nodes and adding together each respective multiplication of the respective comparison result with the respective leaf value associated with a respective node of the plurality of nodes to generate the leaf value and wherein the data owner device computes, using a secure multi-party computation and beaver triplet between the model owner device and the data owner device, the leaf value for the respective data of the data owner device;

generating a share of the leaf value; and

transmitting, from the model owner device to the data owner device, the share of the leaf value.

2. The method of claim 1 , wherein the secure multi-party computation comprises one or more of an addition, a multiplication and a comparison.

3. The method of claim 1 , wherein each of the model owner device and the data owner device receives shares of the respective comparison result.

4. The method of claim 1 , wherein the respective comparison result is either a zero or a one.

5. The method of claim 1 , wherein the method occurs without revealing a set of tree classifiers to the data owner device and without revealing the respective data to the model owner device.

6. A system comprising:

at least one processor; and

a computer-readable storage device storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

computing a respective comparison result of each respective node of a plurality of nodes in a tree classifier, wherein each node of the plurality of nodes has a respective threshold value and is associated with the system, wherein the respective comparison result is based on respective data associated with a data owner device being applied to a respective node having the respective threshold value, wherein the respective comparison result does not reveal the respective data to the system and does not reveal the respective threshold value to the data owner device and wherein a model owner device differs from the data owner device;

computing, based on the respective comparison result, a leaf value associated with the tree classifier, wherein computing the leaf value comprises multiplying the respective comparison result with a respective leaf value associated with a respective node of the plurality of nodes and adding together each respective multiplication of the respective comparison result with the respective leaf value associated with a respective node of the plurality of nodes to generate the leaf value and wherein the data owner device computes, using a secure multi-party computation and beaver triplet between the model owner device and the data owner device, the leaf value for the respective data of the data owner device;

generating a share of the leaf value; and

transmitting, to the data owner device, a share of the leaf value.

7. The system of claim 6 , wherein the secure multi-party computation comprises one or more of an addition, a multiplication and a comparison.

8. The system of claim 6 , wherein each of the model owner device and the data owner device receives shares of the respective comparison result.

9. The system of claim 6 , wherein the respective comparison result is either a zero or a one.

10. The system of claim 6 , wherein the operations occur without revealing a set of tree classifiers to the data owner device and without revealing the respective data to the model owner device.

11. A method comprising:

transmitting shares of respective data from a data owner device to a model owner device, wherein the model owner device:

computes a respective comparison result of each respective node of a plurality of nodes in a tree classifier based on the shares of the respective data, wherein each node of the plurality of nodes has a respective threshold value and is associated with the model owner device, wherein the respective comparison result is based on the shares of the respective data being applied to a respective node having the respective threshold value, wherein the respective comparison result does not reveal the respective data to the model owner device and does not reveal the respective threshold value to the data owner device, and wherein the model owner device differs from the data owner device;

computes, based on the respective comparison result, a leaf value associated with the tree classifier, wherein computing the leaf value comprises multiplying the respective comparison result with a respective leaf value associated with a respective node of the plurality of nodes and adding together each respective multiplication of the respective comparison result with the respective leaf value associated with a respective node of the plurality of nodes to generate the leaf value; and

generates a share of the leaf value, wherein the data owner device further performs step comprising:

receiving, from the model owner device, a share of the leaf value; and

computing, using a secure multi-party computation and beaver triplet between the model owner device and the data owner device, the leaf value for the respective data of the data owner device.

12. The method of claim 11 , wherein the secure multi-party computation comprises one or more of an addition, a multiplication and a comparison.

13. The method of claim 11 , wherein each of the model owner device and the data owner device receives shares of the respective comparison result.

14. The method of claim 11 , wherein the respective comparison result is either a zero or a one.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2024
From: TRIPLEBLIND HOLDINGS, INC.
To: SELFIIE CORPORATION
Reel/Frame 068907/0556 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE SHOULD BE CORRECTED FROM TRIPLEBLIND HOLDING COMPANY TO TRIPLEBLIND HOLDINGS, INC. PREVIOUSLY RECORDED AT REEL: 67568 FRAME: 689. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 24, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDINGS, INC.
Reel/Frame 068722/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDING COMPANY
Reel/Frame 067568/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2023
From: POOREBRAHIM GILKALAYE, BABAK; GHARIBI, GHARIB; STORM, GREG; DAS, RIDDHIMAN
To: TRIPLEBLIND, INC.
Reel/Frame 065260/0119 →
Continuity (12)
Continuation 17180475 · Feb 19, 2021
Continuation In Part 16828085 · Mar 24, 2020
Continuation In Part 16828216 · Mar 24, 2020
Continuation In Part 17176530 · Feb 16, 2021
Continuation 16828354 · Mar 24, 2020
Continuation In Part 16828420 · Mar 24, 2020
Continuation 17743887 · May 13, 2022
Continuation 17742808 · May 12, 2022
Provisional Application 63241255 · Sep 7, 2021
Provisional Application 63020930 · May 6, 2020
Provisional Application 62948105 · Dec 13, 2019
Related Publication 20230006978A1 · Jan 5, 2023