Blind Match
Blind Match is TripleBlind’s implementation of a well-known secure multiparty computation known as a 🔗Private Set Intersection. Blind Match allows data from multiple sources to be privately joined based on a common identifier, returning only the values of the identifier that are found across all datasets. This allows a data provider to find the records in common with other data providers, without revealing any information apart from membership of the record to those sets. It is possible to create a common set of records (with features from multiple data providers), and use this intersection to train a model with Blind Learning.
Operation
- Use the
intersect()
method to match your dataset against one or more dataset assets. - When using
add_agreement()
to allow a counterparty to use your dataset for a Blind Match, useOperation.PRIVATE_SET_INTERSECTION
for theoperation
parameter.
Parameters
intersect_with: Union[Asset, List[Asset]]
- Other table(s) to intersect against. Can be
Assets
or paths to local files.
match_column: Union[str, List[str]] = ["id0", "id1"]
- Name of the column to match. If not the same in all datasets, a list of the matching column names, starting with the initiator asset and then listing a name in each
intersect_with
dataset. - If a single fieldname is provided, each dataset must have the same name for that
match_column
, eg. “ID”.
job_name: Optional[str]
- Reference name for this process. This name will appear in the Access Request, Process History, and Audit Reports.
silent: Optional[bool]
- Suppress status messages during execution? Default is to show messages.
Limitations
- Blind Match is a powerful operation and can only be used when the initiator owns at least one of the datasets in the computation. This restriction makes the private set intersection completely privacy-preserving, as data is not moved between parties. Only membership information of the identifiers is revealed.