import { ProjectCategory, ProjectInterface, ProjectStatus } from "@/lib/types" export const vOPRF: ProjectInterface = { id: "vOPRF", image: "", name: "Web2-ID Nullifiers using vOPRF", section: "pse", projectStatus: ProjectStatus.ACTIVE, category: ProjectCategory.RESEARCH, links: { github: "https://github.com/privacy-scaling-explorations/vOPRF-ID/", }, content: { en: { tldr: "Enabling pseudonymous systems for Web2 identities using verifiable Oblivious PseudoRandom Functions (vOPRFs).", description: ` # Web2-ID Nullifiers using vOPRF ## Project Overview Web2-ID Nullifiers is a cryptographic infrastructure project that enables pseudonymous systems for Web2 identities (like email or social accounts) using **verifiable Oblivious PseudoRandom Functions (vOPRFs)**. The project addresses the absence of native nullifiers in Web2 IDs—essential for enabling anonymous voting, forum participation, and other on-chain, privacy-preserving applications—by enabling secure, private nullifier generation tied to Web2 identity proofs (e.g., from zkEmail or TLSNotary). ## Objective The goal is to create a secure, scalable protocol and supporting infrastructure that allows Web2 identities to be used pseudonymously across decentralized applications. This includes building a global registry akin to a "Web2 Semaphore," allowing users to reuse nullifiers without revealing their identity and without requiring trusted parties. ## Project Status - **Stage:** MVP Development - **Status:** Active - **Team Lead:** Rasul Ibragimov - **Team Members:** Aditya Bisht (joining full-time in May) ## Technical Approach The vOPRF protocol enables deterministic yet private randomness generation. Nullifiers are computed via MPC-based OPRF, using ZK proofs to tie identity commitments (from protocols like zkEmail) to blinded requests. The design protects user identity while ensuring nullifier uniqueness and verifiability. Key elements include: - **ZK proofs** for identity commitment verification without revealing the underlying identity - **MPC-based OPRF networks** to prevent single points of trust - **Global Registry Contract** for reusability across applications ## Milestones - **February 2025:** Full protocol spec and ethresearch post published - See [ethresearch pos](https://ethresear.ch/t/web2-nullifiers-using-voprf/21762)t and full description of protocol [on Github](https://github.com/privacy-scaling-explorations/vOPRF-ID) and [this presentation](https://x.com/PrivacyScaling/status/1903084082529010174) - **March 2025:** Initial implementation (vOPRF + zk circuits) completed see https://github.com/privacy-scaling-explorations/vOPRF-ID - **May 2025:** Launch of PoC—fork of Stealthnote enabling pseudonymous posting via Web2-derived nullifiers - **July 2025 (planned):** Production-ready OPRF server with key rotation and node monitoring - **Q3 2025 (planned):** Global Registry MVP for Web2-IDs ## Applications The protocol enables a broad range of applications requiring privacy and pseudonymity: - **Anonymous voting** using Google or email accounts, without sign-ups or wallets - **Pseudonymous forums** tied to organizational emails (e.g., @ethereum.org) - **Anonymous airdrops** for GitHub users, Reddit accounts, etc. - **Web2-on-chain identity bridging** across zkEmail, TLSNotary, Anon Aadhaar, and more ## Publications - [Part I: Web2 Nullifiers using vOPRF](https://curryrasul.com/blog/web2-nullifiers/) - [Part II: Web2 Nullifiers pt. II](https://hackmd.io/Mp4MQT41RGCyLvnuQtgbnw) - [Research post on Ethereum Research](https://ethresear.ch/t/web2-nullifiers-using-voprf/21762) ## Resources - **GitHub Repository:** [vOPRF-ID](https://github.com/privacy-scaling-explorations/vOPRF-ID) - **Project Plan:** [HackMD](https://hackmd.io/v1W_X9FcSNi1978i_Rv2Tw) ## Contact - **Magamedrasul Ibragimov:** [curryrasul@pse.dev](mailto:curryrasul@pse.dev) | [@curryrasul](https://twitter.com/curryrasul) - **Join** the PSE Discord](https://discord.com/invite/sF5CT5rzrR)`, }, }, team: [ { name: "Magamedrasul Ibragimov", email: "curryrasul@pse.dev", }, ], tags: { keywords: ["vOPRF", "nullifiers", "Web2", "privacy", "ZK proofs", "MPC"], themes: ["privacy", "identity", "zero-knowledge proofs"], types: ["research", "development"], }, }