The Attestations Registry is the main smart contract of the Sismo protocol; it's in charge of recording all attestations issued by authorized issuers. Attestations are grouped into Collections.
An attestation is a certificate that proves some historical or reputational fact about a user.
An Attestations Collection in the Attestations Registry
An attestation consists of:
owner: address- owner of the attestation (destination of the user request)
value: uint256- value of the attestation
issuer: address- issuer of the attestation (attester/ bridge/ migrator)
timestamp: uint32- (optional) timestamp of the validity of the underlying certificate issuance (can differ from recording timestamp e.g available group generation timestamp)
extraData: bytes (optional)- arbitrary data that can be added to the attestation by the issuer
The Attestations Registry is split into Attestations Collections. A collection bundles owners that share some historical or reputation characteristics.
Though multiple owners can have an attestation from the same collection (e.g. ENS DAO Voters), their attestations can differ by their value (Number of votes submitted) - or their extraData ("last vote timestamp")
Only one attestation is stored on-chain per user per collection. A user can update an attestation, which will override the previous attestation.
The Sismo Governance (currently a multisig owned by Sismo Core Team) is the owner of the Attestation Registry.
The Sismo Governance is the only entity allowed to authorize/unauthorize issuers to record attestations in the registry.
Issuers are authorized for a range of collectionIds, and effectively gain control of the attestations collections within their authorization range. They can record, update or delete any attestation in their controlled collection(s).
Governance and Attestations Registry
The authorized issuers include attesters, bridges (which relay attestations between chains) and attestation operators, which create attestations derived from pre-existing attestations (e.g: you can claim the attestation #304 if you have attestations #1 and #2)