Update projects: Private Proof Delegation and MPC (#289)

* Update MPC related projects + Add Private Proof Delegation to projects page
This commit is contained in:
tkmct
2025-03-02 01:20:49 +09:00
committed by GitHub
parent c8527afa09
commit 61c20975ab
4 changed files with 37 additions and 43 deletions

View File

@@ -19,7 +19,6 @@ import { jubmoji } from './projects/jubmoji'
import { maci } from './projects/maci'
import { maciPlatform } from './projects/maci-platform'
import { mopro } from './projects/mopro'
import { mpc } from './projects/mpc'
import { circomMpc } from './projects/circom-mpc'
import { mpcStats } from './projects/mpc-stats'
import { nfctap } from './projects/cursive'
@@ -48,6 +47,7 @@ import { zkml } from './projects/zkml'
import { Zkopru } from './projects/zkopru'
import { zkp2p } from './projects/zkp2p'
import { mpcFramework } from './projects/mpc-framework'
import { privateProofDelegation } from './projects/private-proof-delegation'
import { pod2 } from './projects/pod2'
/**
@@ -59,7 +59,6 @@ export const projects: ProjectInterface[] = [
ZKSecurityFramework,
pse_halo2,
sonobe,
mpc,
rln,
zkitter,
mopro,
@@ -104,5 +103,6 @@ export const projects: ProjectInterface[] = [
circomMpc,
publiclyVerifiableGarbledCircuit,
mpcFramework,
privateProofDelegation,
pod2,
]

View File

@@ -1,40 +0,0 @@
import {
ProjectCategory,
ProjectContent,
ProjectInterface,
ProjectStatus,
} from "@/lib/types"
const content: ProjectContent = {
en: {
tldr: "Collection of MPC research projects",
description: `
## Overview
We are dedicated group in PSE to research and explore Secure Multi-Party Computation. Current focus area of us are programmability/accessibility, publicly verifiability research and KZG extractable witness encryption implementation. Our active projects include Circom-MPC, TypeScript-MPC tooling, publicly verifiable garbled circuit research and KZG extractable witness encryption implementation.
### Programmability/Accessibility
We are exploring easier programmability and accessibility develop and run MPC program.
[Circom-MPC](/projects/circom-mpc) is a set of projects designed to compile and run arithmetic and boolean MPC circuits. The framework includes circom-2-arithc, a fork of Circom tailored for creating MPC-compatible circuits, and circom-mp-spdz, which combines the compiler with MP-SPDZ, enabling the execution of compiled circuits in MPC. Circom-MPC aims to facilitate the development and deployment of privacy-preserving computations.
TypeScript-MPC tooling is a tools to write MPC program in TypeScript and run them on browsers. [Summon](https://github.com/voltrevo/summon) is a compiler to compile TypeScript program to arithmetic/boolean circuit to run on multi party setting. You can run the compiled circuit using mpz backend on browser.
### [Publicly verifiable garbled circuit research](/projects/publicly-verifiable-garbled-circuit)
We are actively researching on publicly verifiable garbled circuit. This will lead to constant round publicly verifiable 2 party computation. Currently we're exploring two ways to achieve this. The first approach is based on authenticated garbling and vector OLE and the second approach is based on commited OT and zkp.
### Extractable witness encryption for KZG commitments implementation
KZG extractable witness encryption is a protocol to build extractable witness encryption using KZG polynomial commitment scheme. The opening proofs of KZG polynomial commitment work as decryption key of witness encryption.
You can find the detail of the protocol [here](https://eprint.iacr.org/2024/264). With this protocol, we can achieve single round non-designated chooser oblivious transfer protocol called Laconic OT. [Keaki](https://github.com/brech1/keaki) is an implementation of this protocol.
`,
},
}
export const mpc: ProjectInterface = {
id: "mpc",
category: ProjectCategory.RESEARCH,
projectStatus: ProjectStatus.ACTIVE,
section: "pse",
content,
image: "",
imageAlt: "MPC",
name: "MPC",
tags: {
keywords: ["MPC", "tools", "Circom", "TypeScript"],
themes: ["research"],
},
}

View File

@@ -0,0 +1,34 @@
import {
ProjectCategory,
ProjectContent,
ProjectInterface,
ProjectStatus,
} from "@/lib/types"
const content: ProjectContent = {
en: {
tldr: "Private proof delegation",
description: `
Private Proof Delegation (PPD) involes the generation of a Zero-Knowledge Proof (ZKP) in a delegating manner, i.e. a client interacts with a server or a set of servers and together they generate a ZKP that testifies the correctness of a chosen statement by the client (with the private witness held by the client) that is (1) publicly verifiable by any party not participating in the proof generation procedure, and (2) the client will still withhold the secrecy of their witness.
See more details [here](https://hackmd.io/qdYZCxweQmix8ezdh7l-Aw?view).`,
}
}
export const privateProofDelegation: ProjectInterface = {
id: "private-proof-delegation",
category: ProjectCategory.RESEARCH,
projectStatus: ProjectStatus.ACTIVE,
section: "pse",
content,
image: "",
imageAlt: "Private proof delegation",
name: "Private proof delegation",
links: {
website: "https://hackmd.io/qdYZCxweQmix8ezdh7l-Aw?view",
github: "https://github.com/privacy-scaling-explorations/private-proof-delegation-docs",
},
tags: {
keywords: ["fhe", "zkp", "tee"],
themes: ["research"],
},
}

View File

@@ -17,7 +17,7 @@ See more details [here](https://hackmd.io/@namncc/B1md-dp4ke).`,
export const publiclyVerifiableGarbledCircuit: ProjectInterface = {
id: "publicly-verifiable-garbled-circuit",
category: ProjectCategory.RESEARCH,
projectStatus: ProjectStatus.ACTIVE,
projectStatus: ProjectStatus.INACTIVE,
section: "pse",
content,
image: "",