A zero-knowledge protocol for anonymous interactions.
Semaphore is a generic privacy layer. Leveraging zero-knowledge technology, users can prove their membership in groups and send messages (extending from votes to endorsements) off-chain or across EVM-compatible blockchains, all without revealing their personal identity. Use cases include private voting, whistleblowing, anonymous DAOs, and mixers.
Semaphore is designed to be a simple and generic privacy layer for decentralized applications (dApps). It encourages modular application design, allowing dApp developers to choose and customize the on-chain and off-chain components they need.
The core of the protocol is the circuit logic. In addition to circuits, Semaphore provides Solidity contracts and JavaScript libraries that allow developers to generate zero-knowledge proofs and verify them with minimal effort.
With Semaphore, you can allow your users to do the following:
When a user broadcasts a message, Semaphore zero-knowledge proofs can ensure that the user has joined the group and hasn't already cast a message with a nullifier.
As a Semaphore contributor, you'll be able to claim a special GitPOAP per year 🏅
Build with this tool
Try it out!
An open-source tool for managing privacy-preserving groups of anonymous individuals.
Users of Jubmoji.quest tap NFC cards to collect signatures. By collecting these signatures, they complete quests.