Files
pse.dev/data/projects/circom-mpc.ts
Kalidou Diagne 926cf9e5dd feat: research page (#316)
* feat: research page
2025-04-09 06:35:30 +01:00

47 lines
2.4 KiB
TypeScript

import {
ProjectCategory,
ProjectContent,
ProjectInterface,
ProjectStatus,
} from "@/lib/types"
const content: ProjectContent = {
en: {
tldr: "PSE Research project that enables the use of the Circom language to develop MPC applications.",
description: `Circom-MPC is a set of projects designed to compile and run arithmetic and boolean MPC circuits written in Circom.
In this project, we envisioned MPC as a broader paradigm, where MPC serves as an umbrella for generic techniques such as Zero-Knowledge Proof, Garbled Circuit, Secret-Sharing, or Fully Homomorphic Encryption.
Throughout this research the team produced some valuable resources and insights, including:
- Implementation of [circom-2-arithc](https://github.com/namnc/circom-2-arithc), a fork of the Circom compiler that targets arithmetic circuits, which can be fed into any MPC backend
- Example integration of circom-2-arithc with the popular Secret-Sharing based backend MP-SPDZ in [circom-MP-SPDZ](https://github.com/namnc/circom-mp-spdz).
- Proof of concept application using [MPC-ML](https://hackmd.io/YsWhryEtQ0WwKyerSL8oCw#Circomlib-ML-Patches-and-Benchmarks) with [keras-2-circom-MP-SPDZ](https://github.com/namnc/circom-mp-spdz/blob/main/ML-TESTS.md) which extends keras-2-circom-ZK to [keras-2-circom-MPC](https://github.com/namnc/keras2circom).
- [Modular Layer benchmarks](https://github.com/namnc/circom-mp-spdz/blob/main/BENCHMARK.md) for the keras model.
We decided to sunset the project for a few reasons:
- The overwhelming amount of effort to fully implement it.
- The low current traction of users (could be due to Circom). Hence an [MPC-Framework](https://pse.dev/en/projects/mpc-framework) variant may be of more public interest.
- The existence of competitors such as [Sharemind MPC into Carbyne Stack](https://cyber.ee/uploads/Sharemind_MPC_CS_integration_a01ca476a7.pdf).
Therefore, we will leave it as a paradigm, and hope that any interested party will pick it up and continue its development.
`,
},
}
export const circomMpc: ProjectInterface = {
id: "circom-mpc",
category: ProjectCategory.RESEARCH,
projectStatus: ProjectStatus.INACTIVE,
section: "pse",
content,
image: "",
imageAlt: "Circom-MPC",
name: "Circom-MPC",
links: {
github: "https://github.com/namnc/circom-2-arithc",
},
tags: {
keywords: ["mpc", "circom", "mp-spdz"],
themes: ["research"],
},
}