The Ethereum Attestation Service (EAS) is a robust, battle tested and multi-faceted infrastructure that enables the creation, verification, and exploration of on-chain attestations. Integrating EAS into Flow will not only facilitate on-chain ratings for DeFi and credit (the main use case for Credora), but also provide the foundation for a wide range of other applications, from identity verification to decentralized reputation systems.
The IP and technology associated with EAS is not owned by Credora, and the implementation leans on the hard work previously done by the EAS team. Credora's work is focused on making this infrastructure available to the Flow Ecosystem. This build out aims to unlock new financial applications on Flow, such as transparent DeFi risk, collateral-efficient lending protocols, programmatic insurance for DeFi pools, smart contract based portfolio construction (using risk-reward parameters), while also setting the stage for broader use cases enabled by EAS.
Credora has carried out the following main activities: extended the EAS repositories to support the Flow blockchain by creating the necessary pull requests, configured and deployed key elements of the EAS stack—including core smart contracts and the indexing service—on the Flow blockchain, and set up a custom version of an EAS scanner tailored for the Flow blockchain.
The EAS Flow Scan is a web application that allows users to interact with and track attestations seamlessly on the Flow blockchain. This tool provides the ability to:
Trace all schemas and attestations created in the EAS for Flow blockchain.
Validate all schemas and attestations associated with a particular wallet connected to the application (this is a developer-friendly feature that is missing in the official EAS scanner).
Create new schemas and attestations, which are signed using the connected wallet.
The scanner uses an EAS Indexing Service (tailored for Flow) to gather info on attestations and schemas stored in the core EAS smart contracts (deployed on Flow).
To start using the EAS Scanner, open your web browser and navigate to the application’s URLs:
https://flow.easscan.credora.io https://flow-testnet.easscan.credora.io
Connect your Flow wallet to enable interaction with your schemas and attestations.
The source code of the scanner is available in the Credora private repository.
The Ethereum Attestation Service (EAS) is an open-source protocol enabling the creation, management, and verification of attestations on EVM-based blockchains. An attestation is a verifiable statement or claim made by an issuer about a subject. EAS provides a standardized framework for issuing and interacting with attestations, ensuring tamper-proof records via Ethereum's immutable ledger. EAS enables entities to create attestations — digitally signed statements — both on-chain and off-chain. These attestations serve as verifiable claims about various subjects, enhancing trust and authenticity in digital interactions.
Incorporating EAS into the Flow blockchain can offer several benefits:
Identity Verification: EAS can facilitate the creation of verifiable digital identities on Flow, enabling users to prove their identity through attestations.
Reputation Systems: By recording attestations related to user behavior and interactions, Flow can develop robust reputation systems, aiding in assessing trustworthiness within the network.
Digital Credentials: EAS enables the issuance of verifiable digital certificates, such as academic diplomas or professional licenses, which can be securely shared and authenticated on the Flow network.
Roles and Authorizations: Organizations can use EAS to manage access control by issuing attestations that grant or revoke permissions, ensuring that only authorized individuals can access specific resources or perform certain actions within the Flow ecosystem.
Peer-to-Peer Lending: In decentralized finance (DeFi) applications on Flow, EAS can facilitate trust between lenders and borrowers by providing attestations of creditworthiness, loan agreements, and repayment histories.
Content Authenticity: Creators can attach attestations to their digital content, verifying its origin and integrity. This helps combat misinformation and ensures consumers on Flow can trust the authenticity of the content they access.
Credit or Risk Ratings: Credora provides institutional grade ratings on a wide variety of digital assets, lending pools, and private credit opportunities. Making these available onchain enables a wide variety of applications, ranging from programmatic portfolio construction to DeFi bad debt insurance onchain.
By integrating EAS, the Flow blockchain can enhance trust and transparency across its ecosystem, supporting a wide range of applications.
With reference to the Flow Use Cases, we envision the adoption of EAS to support:
Gaming: EAS can provide verifiable attestations for in-game assets and achievements, ensuring authenticity and ownership within Flow-based games.
DeFi: EAS can enhance security in DeFi applications by offering attestations for smart contract audits and user credentials, fostering trust in financial transactions on Flow.
At the core of EAS there are two smart contracts: one responsible for storing EAS Attestations and another for managing Schemas.
The attestation smart contract records and manages attestations, ensuring they are linked to specific subjects, schemas, and recipients.
The schema smart contract allows issuers to define and register schemas, which act as templates specifying the structure, data fields, and types required for each type of attestation.
A PR was approved (but not merged yet) for the Flow extension of EAS core contracts.
Flow Testnet: 0x201CB9CEe35cFe5Ac599ceFd1f84247c03b81A43
Flow Testnet: 0x7354114050DF7cE7F062605B6632B742A9429Bdb
The EAS Flow Scan leverages a (Credora-extended) EAS indexing service for Flow (a PR has been opened). The indexing service is responsible for efficiently tracking and retrieving attestations. Given that attestations are recorded as Ethereum events, an indexing service listens to these events, processes them, and makes them accessible for querying through a GraphQL API.
Event Listening: It subscribes to attestation-related events emitted by the EAS smart contracts.
Data Storage & Structuring: It processes and stores attestation data in a structured format, often using a database or a decentralized data indexing solution.
Efficient Querying: It allows users and applications to search and retrieve attestations/schemas efficiently, avoiding expensive on-chain lookups.
Filtering & Aggregation: It provides filtering options, allowing queries based on attester, recipient, schema, timestamps, etc.
Off-Chain Enhancements: the indexing service enriches attestation data by linking off-chain metadata or computing derived insights.
The GraphQL APIs are reachable here:
Users can browse all schemas recorded in the EAS for Flow blockchain. The application provides a structured list of schemas, allowing users to view details such as the schema UID, the schema fields, creators, and the number of associated attestations. This page also provides info on the total number of schemas that were created in the blockchain and the number of unique creators.
The EAS Flow Scan enables users to explore all attestations stored on the Flow blockchain. Users can see details including the UID, the schema referenced, attester information, and timestamps of attestations.
When a user connects their wallet, the application filters and displays schemas and attestations associated with that wallet. This feature allows users to track their contributions and attestations more easily.
Users can define and create their own schemas through the web interface. By specifying structured formats for attestations, users contribute to a standardized attestation framework. Schema creation requires signing with the connected Flow wallet. The users can also specify if attestations created with this schema should be revocable or not. Furthermore, it is also possible to insert the address of the Resolver contract (if any).
The application allows users to issue attestations based on predefined schemas. Users should first insert the schema ID to use for the attestation, afterwards can input attestation data, sign the attestation with their wallet, and submit it to the Flow blockchain.