The Sismo 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 Sismo Protocol is built on multiple modular concepts: Groups, Attesters, Attestations Registry and Badges.
Sismo Protocol
Let's introduce the core modules of the Sismo Protocol:
1.
Groups of Accounts (Available Data): Data source for attestations
Attestations Registry (Smart Contract): Store of attestations
- Attestations Collection
- Registry Governance
4.
Badges (ERC1155): Non Transferrable Token representation of attestations
Before presenting the Sismo 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, (bounded to the source account)
The Sismo 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.