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 Solidity

  • Contract at address 0x666bea5f… is a malicious erc-20 token

  • Owner of address 0xd00daa… is a human being (i.e. not a bot)

  • Owner of address 0xdeadbeef… is a member of DimSumDAO

  • Attestation 0x1435 is a valid/invalid attestation

  • Attestation 0x2877 is a "like" for content stored at 0xa1b2c3d4…

  • Owner of address 0x1facedf00dba11… attended event 0xf00dba11…

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:

PropertyDatatypeDescription

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