Attestations
Overview
Attestations are statements made by an issuer about a subject. The subject can be an EVM address, or a DID, or an IPFS hash, or even another attestation.
Examples of attestations could include:
Owner of address
0xbabe1999…
has completed a course on SolidityContract at address
0x666bea5f…
is a malicious erc-20 tokenOwner of address
0xd00daa…
is a human being (i.e. not a bot)Owner of address
0xdeadbeef…
is a member of DimSumDAOAttestation
0x1435
is a valid/invalid attestationAttestation
0x2877
is a "like" for content stored at0xa1b2c3d4…
Owner of address
0x1facedf00dba11…
attended event0xf00dba11…
Attestations are created through things called "portals" that make sure the attestations are consistent with the logic of a specific domain.
Attestations are created following "schemas", which describe the structure of the attestation data, i.e. the various fields and their respective data types.
Attestations can be linked together to form complex graphs of attestations. Anyone can create a link between attestations, and attestations themselves can have attestations. This allows for deriving complex reputation scores, which grow more factual the more data in the registry, resulting in a hyper-scale signal-to-noise ratio.
Attestation Metadata
Attestations have various metadata recorded besides the raw attestation data itself. A description of this metadata is listed in the table below:
Property | Datatype | Description |
---|---|---|
attestationId | bytes32 | The unique identifier of the attestation |
schemaId | bytes32 | The identifier of the schema this attestation adheres to |
replacedBy | uint256 | The attestation ID that replaces this attestation |
attester | address | The address issuing the attestation to the subject |
portal | address | The address of the portal that created the attestation |
attestedDate | uint64 | The date the attestation is issued |
expirationDate | uint64 | The expiration date of the attestation |
revocationDate | uint64 | The date when the attestation was revoked |
version | uint16 | Version of the registry when the attestation was created |
revoked | bool | Whether the attestation is revoked or not |
subject | bytes | The ID of the attestee e.g. an EVM address, DID, URL etc. |
attestationData | bytes | The raw attestation data |
When reading attestations directly from the registry, you need the attestation ID. The attestation data that is returned from the registry in an array of bytes, which can be decoded using the schema string, which can be retrieved with the schema ID in the attestation metadata.
The next section describes schemas, what they are, and how they are used.
Last updated