Create secure MPC apps easily in TypeScript.
A framework that makes MPC easy, in TypeScript. It supports multiple existing circuit generators and MPC backends, but you can also bring your own.
Try a demo app or quickly spin up your own
To make an MPC app you need three things:
1) Backend
2) Circuit Generator
3) Messaging with each Party
MPC Framework brings these pieces together in a straightforward TypeScript API to make MPC application development easy.
It includes multiple officially supported components for (1) and (2), templates that include (3), and is designed to accommodate new solutions for each component.
The main solution for (2) is Summon, which is a TypeScript-like language for generating circuits.
MPC stands for Multi-Party Computation. In regular computation, all inputs, outputs, and intermediate calculations are necessarily visible on the device performing the computation. MPC, by contrast, allows multiple devices to collaborate on a computation while keeping intermediate calculations and others' inputs private.
Here's some ways that can be useful:
For a bit more of an introduction to MPC, see Barry Whitehat's talk 2PC is for Lovers. The lovers' app described in the talk has been implemented using mpc-framework here.
For a more technical introduction, see Computerphile's video on Garbled Circuits. For a deeper dive: Pragmatic MPC.
A framework for private and verifiable statistical analysis across multiple data providers.
PSE Research project that enables the use of the Circom language to develop MPC applications.