Overview of Semaphore V4 Core Concepts
Semaphore is a zero-knowledge protocol that allows users to cast messages (such as votes or endorsements) as provable group members without revealing their specific identity. It includes built-in double-signaling prevention.
Key components include:
- Identity: A user's cryptographic identity consisting of a private key, public key, and commitment.
- Group: A Merkle tree containing identity commitments.
- Proof: A zero-knowledge proof that a user is a member of a group and is sending a specific message.
- Nullifier: A unique identifier that prevents a user from signaling multiple times within the same scope.
- Scope: A topic or context that limits a user to one proof per scope.