Consensys / linea-attestation-registry

Verax is a shared registry for storing attestations of public interest on EVM chains, designed to enhance data discoverability and consumption for dApps across the network.
https://ver.ax
MIT License
133 stars 69 forks source link

Topic 1 - Objectives & Goals of the Linea Attestation Registry #1

Closed fdemiramon closed 1 year ago

fdemiramon commented 1 year ago

1. Objectives / Goals

The objectives of Linea Attestation Registry is to create a shared public datalake of attestations on Linea, that any dapps or protocol can use to store and share attestations.

The Attestation Registry is envisioned to be a community maintained public good that will be used by various dapps to store the attestations they create, or consume attestations created by other dapps.

The Attestation Registry aims to be modular and extensible, allowing a diverse set of dapps and protocols to integrate with it.

A major objective of the Attestation Registry is to facilitate legibility and discoverability, by adopting a data structure that can be easily consumed by dapps and reputation protocols.

The Attestation Registry is not meant to be something that users usually interact with directly, rather it is used by other dapps and protocols to offer their users value-add features. To this end: the attestation registry will have a web portal that will allow users to discover sources of attestations and reputation protocols that are harnessing attestations to provide valuable insights.

The Attestation Registry will strive to be compatible with other major platforms and standards in order to strive for a healthy level of plurality and diversity in the ecosystem while avoiding standards fragmentation.

As well as just being a single consolidated storage location on-chain, that improves legibility and discoverability, it will also promote the use of linked data and ontologies. The reason for this is simple: even if two attestation sources provide similar attestations (e.g. KYC/AML attestations), and even if they both use the attestation registry, they may still use slightly different schemas. These differences could be as small as one schema using CamelCase white the others using under_scores, or they use the same naming convention applied with different semantics. This is enough to reduce legibility and composability considerably. We aim to reduce this friction by proposing standard ontologies and schemas that can be used within different domains and extended if needs be.

2. Background / Motivation

Attestations can refer to any information, from “proof-of-being-a-person” to “proof-of-participation” in a DAO, to audits of smart contracts etc. Without some sort of attestation registry, then dapps will continue to deploy their own data storage contracts which will continue the trend of having multiple fragmented data silos of information on-chain.

Many dapps that provide some sort of attestations currently require dapps to inherit some solidity library in order to consume these attestations. By submitting their attestations to a shared data layer, their attestations can be consumed by any downstream dapp with the need for any unilateral custom integration.

Having a common attestation registry means that certain reputation algorithms and data structures can be reused. For example, we could potentially use the same data structures that are used for permissionless snaps, to apply to smart contract modules, or even to modules and attestors of the registry itself.

This also means that dapps can compose attestations from multiple sources in order to derive useful information that improve the user experience of their dapps. Reputation protocols such as those being developed by Intuition or Karma3 Labs for example, can tap into a rich and diverse set of attestations that they can easily index and apply reputation heuristics to.

This can lead to powerful discoverability such as recommendation engines for NFTs content, or dapps, allowing users to trustlessly and subjectives find content that is the most relevant to them, without relying on profit-driven intermediaries.

3. Existing Standards and Alternatives

The current de facto standard for public attestations is the Ethereum Attestation Service.

The Linea Attestation Registry aims to contribute to a healthy level of plurality and diversity within the attestation space, while minimizing standards fragmentation as much as possible. For this reason, the Attestation Registry will be compatible with EAS insofar as it will allow dapps that have already integrated with EAS to integrate with the Attestation Registry.

4. Charter

A charter for the Attestation Registry has not yet been established, as the idea for creating the registry was born out of weeks of informal conversations between multiple parties in the ecosystem and has come about very organically. However, some of the principles that have been discussed include:

Maintaining the registry as a public good, not a commercial venture.

fdemiramon commented 1 year ago

lgtm