ZK Badge Protocol
Sismo's ZK Badges protocol oversees the creation, updating, and deletion of attestations. An attestation is a 'certificate' showing that a user proved some fact about the current state or the history of their account(s).
The protocol is built on multiple modular concepts: Groups, Attesters, Attestations Registry, and Badges.

Sismo Protocol
Let's introduce the core modules of the protocol:
- 1.Groups of Accounts (Available Data): Data source for attestations
- 2.Attesters (Smart Contracts): Issuers of attestations - Verify Request - Build Attestations - Generate Attestations
- 3.Attestations Registry (Smart Contract): Store of attestations - Attestations Collection - Registry Governance
- 4.Badges (ERC1155): Non Transferrable Token representation of attestations
Before presenting the protocol in detail, let's look at a simple example use case:
Let's follow the user path of Alice, who wants to prove that she voted in the ENS DAO.
- Alice is part of a particular group of accounts (ENS DAO Voters)
- Alice interacts with an Attester (smart contract) to prove that she is part of that group
- Each attester has specific properties (e.g ZK or not) and requires specific types of proofs (e.g ZKP) from users
- Each attester needs access to the group data on-chain, in a specific group format (e.g Merkle tree root)
- Alice generates the proof in her browser on Sismo's frontend
- Alice sends the proof to the attester and receives an Attestation and a Badge
- The attestation is recorded in the Attestations Registry (smart contract)
- The Badge is a Soulbound Token
The ZK Badges protocol is open-source and modular. It is a place that welcomes diverse contributors and allows them to build, modify and update the protocol together.
Last modified 7d ago