Verax is not an EIP, a protocol, or a product, but a simple primitive that can be used by any dapps and protocols as a shared “data lake” of public data.
When it comes to the value of on-chain attestations, we have come full circle. On-chain attestations for identity and reputation was one of the first, and foundational, use cases that got people excited about blockchain technology.
The exploration of use cases around on-chain attestations has come a long way from its early days. Here is a great post about the evolution of this concept, and how the development became fragmented as builders tried to solve different problems of the digital identity puzzle.
Attestation simply means the proof or evidence of something. For example, a passport is an attestation of a person’s citizenship, or a degree is an attestation of someone’s educational credentials. In the world of web3, attestations can prove digital identity, ownership of digital assets, trust with a wallet or a primitive etc.
In an effort to further this exploration of on-chain digital identity, we are introducing Verax, an on-chain attestation registry. We are using this primitive for participants in our ongoing Linea Voyage: Entertainment Festival, a social and gaming extravaganza aimed at exploring online gaming on Layer 2s. Participants in the Entertainment Festival will use Verax to prove their humanity and differentiate themselves from bots.
The attestation registry is a part of Linea’s commitment to its community and ecosystem. Linea also introduced Voyage XPs, a harmonized way to measure community contribution across all Linea activations in the past, present and future as we progress towards our first Voyage destination: Decentralization of the Linea network. You can read more about this exciting initiative here. But first, let’s dive into Verax, why we need it, and how it works.
Verax is a shared on-chain attestation registry. The teams that are actively involved in designing and building the project include Consensys (the team behind Linea), Clique, Karma3 Labs, Aspecta, PADO Labs, and Reclaim Protocol. A number of other teams including GitCoin are building integrations with the system.
Think of Verax as a distribution channel where issuers of attestations keep the attestations. Any protocol, dapp, or user that wants to use those attestations can easily use and compose attestations from the different sources that are available in that distribution channel. Examples of some of the integrations currently being built include Clique, GitCoin, PADO Labs and Reclaim Protocol.
Verax aims to be as interoperable as possible, so that teams can issue attestations that are compatible with other standards, non-fungible tokens (NFTs), soul-bound tokens (SBTs), decentralized identifiers (DIDs), and other on-chain attestation registries such as the Ethereum Address Service (EAS), with whom we intend on working closely. In order to mitigate standard fragmentation while still allowing for experimentation, we aim to enable issuers to issue an attestation that can also be read as an NFT.
Part of the goal of reducing standards fragmentation is to try to ease the friction in consuming attestations that have various different naming mechanisms or different meanings for properties with the same name. This is another huge headache for reputation protocols and other consumers of attestations. We are experimenting with adopting the principles of Linked Data, which has been around for some time and which has been successful in mitigating similar issues in web2 (check out Manu Sporny’s great introduction for an overview).
Verax is not an Ethereum Improvement Proposal (EIP), or a protocol, or a product, but rather a simple primitive that can be used by any number of different decentralized applications (dapps) and protocols as a shared “data lake” of public data. For that reason, the core design is unlikely to change much over time. Instead, Verax is designed to be extensible and modular, and adaptable to a wide range of use cases.
For example, if you want a privacy or anonymity layer, you can create a module that leverages Semaphore, or can verify a zk-snark or a merkle proof, or perhaps a module that leverages the Delegatable framework, or can verify threshold signatures, or whatever your use case happens to be.
Even as a simple primitive, Verax can enable a wide range of use cases, including:
Inclusive sybil resistance: dapps can have a high degree of confidence that their users are not bots without prescribing a narrow method of proving their humanity, which can impose a prerequisite on new users and introduce friction into the user experience. Imagine having a bot resistant Lens profile creation system without whitelists, based on sophisticated reputation protocols.
Supporting a market for undercollateralized peer-to-peer lending based on robust, transparent and continually evolving reputation scores.
Permissionless fraud detection and scam prevention: smart contracts and dapps can prove they are audited and can have a reputation based on usage and reviews etc.
A powerful recommendation engine that allows people to discover new content and dapps that are relevant to them, without the need for a centralized curator.
We are also collectively designing a governance system that will assure the dapps that use the registry that they have a say in how the registry is developed and maintained. As we are finding out, governance is probably the most complicated area to do properly, so this will take some time to explore and develop, and we welcome participation in the conversation.
In the nearly eight years since one of the first explorations of on-chain digital identity, uPort, we have come a long way. There has been a cambrian explosion of the applications for NFTs, which in many cases are used as attestations, especially as SBTs. The emergence of mature L2 networks has allowed for on-chain attestations at a much lower cost than was previously possible on the Ethereum mainnet, while maintaining the same level of security and accessibility. The adoption of the spec for DID as a W3C standard was a huge milestone, and today, Verifiable Credentials are a de-facto standard through association with the DID spec.
One problem with Verifiable Credentials, though, is that it is not fully trustless. The verifying party needs to trust the issuer of the credential. This is one of the issues that on-chain attestations can help solve, because they allow for maintenance of a public canon of data from which we can derive reputation. We can apply various reputation protocols to the data to derive a subjective level of trust in unknown issuers of attestations. In these cases, we are not so much trusting the issuer of the credential / attestation directly, but rather the reputation that we can establish based on the data available on-chain.
There are also reputation protocols that take data from both on-chain and off-chain sources, and apply some algorithm to derive a reputation score. These reputation scores can be incredibly useful – they remove the bottleneck of trust because the credentials / attestations that these reputation scores provide are based on publicly available and verifiable data.
One limitation of the reputation protocols today is the cost involved in scraping data from a huge number of on-chain and off-chain data sources. This is a huge overhead, and limits the extent of the data that they can derive reputation from.
This is where on-chain attestations registries can play a key role, by reducing the friction involved in consuming attestations from multiple sources. This could likely be the motivating factor for platforms like Optimism’s AttestationStation, which was superseded by Ethereum Attestation Service, and is one of the main motivations behind Verax.
An attestation registry allows for recording attestations in a consolidated location on-chain, in a standard format that can be easily consumed and composed together. This allows individuals and organizations to compose multiple attestations together and easily present them as a reputation narrative that anyone can verify. It allows for reputation protocols to read attestations from a consolidated location in an easily indexable way. It also allows attestations to be linked together in a really visible and coherent way. Attestations issuers can have attestations attesting to the quality of their attestations, and attestations can also have attestations etc. Furthermore, attestation registries are also schema registries, (similar to the EBSI’s Trusted Schemas Registry, or similar to how Serto Schemas was intended to work for Verifiable Credentials), and this makes parsing schema contents much easier than understanding something like NFT traits.
This also means that reputation protocols can be more powerful and sophisticated. It also allows for the emergence of a number of protocols for different use cases, and it means that the users of these reputation protocols can have confidence that they won’t be “locked-in” to a specific reputation protocol if they choose to adopt it. Pinyal et al. have done interesting research in this regard. Karma3 Labs also have some fantastic research on this topic, and have written a comprehensive essay on the design principles of building decentralized reputation systems, and relinkd have written a great overview of the reputation protocol landscape
To know more about Verax and what the community is up to, or get involved in the conversation, please visit our Telegram group or Discord server and say hello. We would love to find out how we can build something with you!