Semaphore is a zero-knowledge protocol that enables users to prove membership in a group without revealing their identity, allowing for anonymous messaging, voting, and other privacy-preserving applications. However, as group sizes scale to millions of users (such as Worldcoin's 11M+ users), the protocol becomes impractical for client-side implementation due to storage, computation, and bandwidth limitations.
The current solution adopted by large-scale implementations like Worldcoin's World ID is to delegate the proving process to servers, which unfortunately compromises user privacy by requiring the disclosure of user identities to these servers. This project aims to develop and evaluate practical solutions that maintain privacy while enabling the Semaphore protocol to scale to millions+ of users.
A more in depth review and description of this problem and the justification of the current chosen path can be found here.
Our objective is to research, develop, and evaluate practical solutions for scaling the Semaphore protocol to support large groups while preserving users' privacy, enabling client-side proving without prohibitive resource requirements.
Privacy is a fundamental right that should not be compromised as applications scale. Current implementations of Semaphore for large groups force a tradeoff between privacy and scalability, which contradicts the core purpose of the protocol.
LeanIMT provides a memory-efficient structure for Semaphore's group representation, optimized for dynamic groups. Our solution builds upon this Rust implementation.
Respire is a PIR scheme designed for small records. It supports batch queries with no offline phase, making it ideal for our Merkle node retrieval approach. A detailed overview was presented in this PSE L&S session.
Merkle Forests reduce computation by organizing users into manageable sub-trees. Our approach combines this with Private Information Retrieval (PIR) to maintain privacy while enhancing scalability.
Our primary focus will be implementing and evaluating the Merkle Forests + PIR approach as outlined in the initial exploration path.
semaphore-rs
fork.semaphore-rs
.PSE is ideally positioned to lead this research as creator and maintainer of Semaphore. This work would enhance Semaphore's utility and drive wider adoption. The project also aligns with PSE's core objectives of building privacy tools.
The project could be deemed as successful if the following is achieved: