ethereum-optimism / ecosystem-contributions

Find ways to contribute to the Optimism Collective
MIT License
310 stars 121 forks source link

Foundation Mission Request: Dynamic Delegate Attestations [IDENTITY] #60

Open bdresser opened 1 year ago

bdresser commented 1 year ago

*To take on this project, submit a proposal to this thread by June 28. Read more about Missions here


How will this Foundation Mission (RFP) help accomplish the above Intent?:

Delegates of the Optimism Token House are important participants in the Collective. Certain elements of governance process, including the ability to “endorse” proposals to go to vote, are endowed to delegates in the top 100 based on voting power (previously with voting power equal to or above 0.25% of total votable supply of OP).

Today, top 100 Delegates are tracked via a Dune query, and appropriate Discord or forum permissions are granted manually. This process is both inefficient and centralized.

Instead of this manual process, the Collective should move to tracking this important information onchain in a way that is consumable by the various community platforms that the Collective uses. This will help make delegate recognition more accurate, improving governance accessibility for proposers seeking delegate approvals and allowing all qualifying delegates to receive tagged notifications in Discord. It will also be less dependent on any one Optimist to maintain or update.

Since this mission request was originally published, the Collective has moved from a system where delegates with voting power > 0.25% are given specific privileges, to a system where the top 100 delegates by voting power are given specific privileges. As such, the system built as part of this mission request should be composable and adaptable to similar future changes.

What is required to execute this Foundation Mission (RFP)?

A completed Mission includes the following outcomes:

It is up to the applying teams to suggest an appropriate solution architecture. We recommend teams to explore a design that can take the results of any arbitrary query as input and issue / revoke attestations to a list of addresses output by the query.

What milestones will help the Collective track progress towards completion of this Foundation Mission (RFP)?

  1. Specification for implementation, design approach, and architecture for the functionality listed above.
  2. Monthly progress updates on design and/or implementation.
  3. Open-source code repository to observe progress over time.

How should Badgeholders measure impact upon completion of this Foundation Mission (RFP)?

Application instructions

To apply for this RFP, please complete the form in the expandable section below and leave your response as a comment on this issue thread. Submissions will be open until June 28, at which time the Foundation will review all submissions and select one individual/team to complete the work defined here.

Submission form _Copy the entire application below and leave a comment on this issue with your answers completed. A representative from the Optimism Foundation may reach out using the contact info provided to request more information as necessary._ ## Foundation Mission (RFP) Application **Please verify that you meet the qualifications for submitting at the above [Tier](https://gov.optimism.io/t/collective-trust-tiers/5877/2)** * **Alliance Lead:** Please specify the best point of contact for your team * **Contact info:** * **L2 recipient address:** * **Please list the members of your Alliance and link to any previous work:** Read more about Alliances [here](https://gov.optimism.io/t/season-4-alliance-guide/5873) --- **What makes your Alliance best-suited to execute this Mission?** - [...] - [...] **Please describe your proposed solution based on the above Solution Criteria (if applicable):** - [...] - [...] **Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each peice of work:** - [...] - [...] **Please define the [critical milestone(s)](https://gov.optimism.io/t/grant-policies/5833) that should be used to determine whether you’ve executed on this proposal:** - [...] - [...] **Please list any additional support your team would require to execute this mission (financial, technical, etc.):** - [...] - [...] --- Please check the following to make sure you understand the terms of the Optimism Foundation RFP program: - [ ] I understand my grant for completing this RFP will be locked for one year from the date of proposal acceptance. - [ ] I understand that I will be required to provide additional KYC information to the Optimism Foundation to receive this grant - [ ] I understand my locked grant may be clawed back for failure to execute on critical milestones, as outlined in the [Operating Manual](https://github.com/ethereum-optimism/OPerating-manual/blob/main/manual.md#valid-proposal-types) - [ ] I confirm that I have read and understand the [grant policies](https://gov.optimism.io/t/token-house-grant-policies/5833) - [ ] I understand that I will be expected to following the public grant reporting requirements outlined [here](https://gov.optimism.io/t/suggested-public-reporting-requirements-for-grantees/4176) -- end of application --
maheshmurthy commented 1 year ago

Foundation Mission (RFP) Application

  1. Mahesh Murthy (Founder, Karma) - Profile I am a full stack dev and have been in the crypto space since 2015. In the past, I built a platform to teach Solidity programming to developers. I have built small to large scale software applications from ground up. I have been working on Karma for last 18 months.
  2. Andre Mury (Full stack dev) - Profile
  3. Arthur Ulhoa(Backend dev) - Profile
  4. Amaury Maghales(Frontend dev) - Profile

Our team has been working together for the past one year. We received a grant to build a delegate dashboard which we successfully completed. We have continued to add features to the dashboard. You can see all our updates here.

We are currently working on the Delegate Registry Project.


What makes your Alliance best-suited to execute this Mission?

Please describe your proposed solution based on the above Solution Criteria (if applicable):

The dynamic delegate attestation system aims to automate the permissions management of the platforms used in the Optimism ecosystem and become a lego block upon which other ecosystem projects can be built.

Below are high level implementation steps

  1. Create an attestation schema by following the Ethereum Attestation Service standard. Attestation station has adopted the EAS schema system, so we will define the schema to make sure all necessary fields are included and register the schema on-chain. The schema will be visible in the EAS explorer for anyone to inspect.

  2. Build a subgraph to fetch all delegates with more than 0.25% voting power. We intend to use the graph protocol's subgraph to index and query on-chain data to get the voting power of delegates. We have already implemented and open sourced the subgraph. We will make any modifications necessary to accommodate this use case.

  3. Issue or revoke attestations based on delegate voting power criteria. Code to query the subgraph and issue or revoke attestations based on the voting power will be implemented. We will also wrap this code in Gelato's new web3 function product that can be used to execute this in a decentralized way.

  4. Add/remove access to gated channels based on attestation. We will integrate with forum and discord to automatically update roles based on the criteria set. If everything is already setup in Guild, we can easily integrate. If not, we will integrate with Discourse API for forum actions. For Discord, we already have a bot that can be enhanced to add logic to add/revoke roles.

  5. Setup cron job to run steps 2 to 4 every day. We will have a job that triggers the code in Step 3. However, this job can be triggered by anyone at any time even if our job runner were to go away. We will discuss with your team to see if you prefer a solution like Gelato that can be used to run it in a decentralized way.

  6. We will build a simple UI to see who has attestations at any point in time.

Architecture Diagram

The application will be primarily built using TypeScript and all the code including schema, job runner, services and subgraphs will be open sourced.

Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each peice of work:

Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal: Below are two critical milestones for this project:


Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:

jeremie-olivier commented 1 year ago

Foundation Mission (RFP) Application

Team Lead: Jeremie • Contact info: @attestations (discord username) • L2 recipient address: 0xe85594EBfa7B0CF32dD675142aC69ae6c816F8f4 (Safe) • Please list the members of your Alliance and link to any previous work:

Jeremie - Team Lead with knowledge in web development and blockchain technology. He has been a long-term and active contributor to the Eco network, as well as to several DAOs including Eco, Colony, and Alchemist. Over the past 6 months, he has been a key contributor to the development of Eco ID, reputation and identity primitive of the Eco network. Recently, Jeremie participated in ETHGlobal Lisbon and won the first place in the category "Decentralize Our Identities" from Optimism. OMiage - He is a business analyst with 5 years of experience who is passionate about user experience, creative technology, and sports data. Some of his day-to-day activities include modeling and building applications, helping builders to improve their design thinking process and better communicate to a larger audience. His experience in data ingestion, generation, and verification has considerably aided in Eco ID's developments. Lina - She has years of experience in communication and is a full-stack developer that joined the team to help with the development of Eco ID. Her excitement, new perspectives, and commitment to learning have made her a valuable addition to the team, which helped with implementation and testing phases of Eco ID, gaining practical knowledge about blockchain-based identity and reputation solutions.


What makes your Alliance best-suited to execute this Mission?

In the last six months, our team has collaborated on identity and reputation protocols, we are confident in our ability to provide a high-quality solution that meets or surpasses expectations. Our team is qualified and well-positioned to carry out its objective due to the following reasons:

  1. Decentralized collective: We have already been functioning under a decentralized structure, delivering results and meeting milestones. We collaborate in a transparent, productive manner with focus on coordination and streamlined progress.
  2. Experience with reputation and identity primitives: We contributed significantly to the development of Eco ID, a decentralized identity and reputation mechanism. Our deep research and brainstorm sessions provides us with a thorough understanding of the variety of use cases and challenges involved in developing a robust identity and reputation system.
  3. Support, vision, and alignment: Being active participants of the Eco ecosystem, along with the protocol team of Eco presently launching on Optimism, gives our team in a unique position and allows us to function as a "bridge" that encourages developments and collaboration across both ecosystems.

Please describe your proposed solution based on the above Solution Criteria (if applicable):

Optimism strives for complete decentralization, but some of its governance processes remain centralized. This proposal is based on the progressive decentralization that Optimism is pursuing.

The existing process of delegating the right to endorse a proposal in Optimism is manual, centralized, and inefficient. When an OP token holder changes their delegation to a delegate, the change in voting power is indexed on the Dune dashboard. Then, an Optimism administrator will manually update the necessary permissions in both the Discourse Forum and the Optimism Discord server by comparing the list to the current list of delegate having the rights to Endorse proposal. The current system operates as shown in the flowchart below:

image

Our approach uses EAS composability to create a permissionless and decentralized system with a single source of truth: a revocable attestation that corroborates a delegate has more than 0.25% of total voting power and is not under active suspension.

We ensure the longevity of this solution by providing a trustless system; leveraging resolver contracts abilities to enforce onchain data verifications. As a result, because anybody may attest or revoke an attestation of a delegate using the new Attestation Station powered by EAS, automation will be far easier to construct because the centralized component of such automation will no longer be in a concern.

The key elements of our architecture are explained in the flowchart below:

image

Flowchart video explainer: https://www.loom.com/share/ecdd5c4934ed414d89896d12e044c66d

Flowchart text explainer:

(a) An EAS Schema ("Endorse proposal") that will be linked to Resolver contract (b). Every attestation of this schema's attestations will be revocable.

(b) This resolver contract will be trustless and will provide the same results regardless of who calls it, by ensuring that Attestations (c) created via the "Endorse proposal" Schema (a) comply with the following condition:

(c) These “Have right to Endorse proposal” attestations are revocable. Anyone detecting whether or not a newer delegate fits the conditions will be able to attest or revoke that attestation using the Schema (a) using the Attestation Station.

(d) Regarding the Delegate suspension, as agreed upon in this proposal, the token house can vote to suspend a delegate, and because Optimism Agora allows proposals to execute transactions upon approval, we could use this to implement temporary suspensions for each delegate suspension.

(e) This schema "Delegate Suspension" will be linked to Resolver contract (f). This schema's attestations will be irrevocable, with a suspension start and end date.

(f) This resolver contract will ensure that all attestations from Schema (e) are triggered via a on-chain proposal on Optimism Agora.

(g) If these "Delegate suspension" attestations occur as a 'side effect' of our proposed system, it will provide the essential flexibility for future use cases.

(h) Regarding the Automation process, it consists of:

(i) Subgraph (EAS subgraph already allows requesting attestations from a certain schema)

(j) An incentivized open source Supervisor, if the team believes being the best way to ensure a short delay between a change in delegation or a new suspension agreed on, and its reflection on the related attestation. We will provide a NodeJS Supervisor that will pull data from the Subgraph (i) and certify or revoke the associated attestations using the EAS node SDK.


Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each piece of work:

We scheduled what we want to do in a weekly agenda to help us keep on track.

Research & Application:

Week 1 - POC :

Week 2 & 3 - Implementation :

Week 4 - External Communication :


Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal:

Some specific points used to measure the progress toward our ultimate goal are:


Please list any additional support your team would require to execute this mission (financial, technical, etc.):

It would be fantastic and very appreciated if the following could provided:


Thank you!

bdresser commented 1 year ago

Submissions for this RFP are now closed. Thanks to everyone who submitted a proposal!

Someone from the Optimism Foundation will reach out on or shortly after July 13 to communicate which proposal(s) have been accepted and schedule a kickoff. We may also reach out individually to the contact info you've provided if we want to discuss the proposal in more detail.

In the meantime, feel free to tag me here or reach out directly (bobby@optimism.io) with any questions.

Nicca42 commented 1 year ago

Hi y'all – thank you all for the amazing submissions!

We're excited to share that we will move forward with the proposal from @jeremie-olivier from Eco. Their robust, decentralised, evergreen design made them an excellent fit for the project.

@jeremie-olivier, we will contact you directly to discuss the project and expectations in more detail. Please update your email in your RFP as it bounces emails.

For all other teams here: we'd love to help you find the right way to contribute to the Optimism Collective. See the rest of the issues in the Ecosystem Contributions repo for ideas, suggestions, and other possible projects. And stay tuned for more RFPs posted in the next few months. Thank you all for your effort and thought; this was a tough call.

jeremie-olivier commented 1 year ago

Hi @Nicca42,

We're truly honored and excited to dive into the project with you. Just wanted to give you a heads up that I've updated my contact email to a new one, so you can reach me directly now.

Looking forward to make this project a success together!

linahello commented 1 year ago

Hello @Nicca42,

Ready to build this with the team !

jeremie-olivier commented 1 year ago

We are glad to announce that the work of this RFP has started.

Thanks to @Nicca42 for the Kick-off call today.

linahello commented 1 year ago

We're thrilled to share some news with you all. The Supervisor is now available here OP-RFP-60.

For now, it is possible to create, and revoke attestations, check if there is active suspension, and a pooling is automatically done every 5 seconds.

What the Supervisor can do :

Also, we updated the architecture of our solution as we have found in EAS-contracts that only original attesters are able to revoke their attestations. So we decided to create a Pass-through contract to ensure that all attestations can be revoked while being generated from the same address. To make this possible we are going to create an attesterVerifier to our main resolver.

Feedbacks are welcomed!

Thirawat11 commented 1 year ago

Pe

CarlGocht commented 6 months ago

Foundation Mission (RFP) Application: Dynamic Delegate Attestations #60


What Makes Your Alliance Best Suited to Execute this Mission?

By leveraging our extensive experience and proven track record, we are well-equipped to execute the Dynamic Delegate Attestations mission successfully.


Please describe your proposed solution based on the above Solution Criteria (if applicable):

Our proposed solution is designed to meet the specified criteria for Dynamic Delegate Attestations effectively and transparently. Here’s a step-by-step breakdown:

  1. Creating the Attestation Schema:
    • Using the Ethereum Attestation Service (EAS), we will create a schema for dynamic delegate attestations. This schema will enable transparent onchain tracking of attestations.
      • Proposed attestation schema:

        bool canEndorseProposal

  2. Developing the Attestation Runner:
    • We will create an attestation runner using AWS Lambda, which will be triggered periodically (likely daily) to check the state of delegate attestations. The attestation runner will follow these steps:
      1. Check Delegate Status: The runner will use newly created Optimism delegate subgraphs to identify delegates who meet the vote power requirements. To start this is the top 100 delegates based on vote power.
      2. Issue and Revoke Attestations: Based on the results, the runner will issue EAS attestations for delegates who meet the requirements and revoke attestations for those who no longer meet the necessary vote power.
      3. Store and Expose Data: The runner will use the EAS subgraph to get a current list of delegates who meet the requirements. For transparency and ease of access, this information will also be made accessible through one of our APIs.
  3. Frontend Website Development:
    • We will create a front-end website to display the current attested delegates, enhancing system transparency for users and providing a clear and user-friendly interface for viewing delegate information.
  4. Integration with Guild.xyz:
    • Guild.xyz will be configured to monitor the EAS attestations and manage role assignments and removals as needed. Initially, this will include roles in Discord and Forum platforms, potentially expanding to other platforms like Telegram.

This comprehensive solution leverages our technical capabilities and existing infrastructure to ensure a robust and transparent system for dynamic delegate attestations. The following diagram outlines the general architecture:

image

Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each piece of work:

Week 1: Finalize Requirements and Setup

Week 2: Integration with Guild.xyz

Week 3: Implement Attestation Runner

Week 4: Develop Frontend Website

Week 5: Documentation and Code Publication

Beyond: Ongoing Improvement and Expansion

Risk Management and Contingency Planning

Community Engagement


Please define the critical milestone(s) that should be used to determine whether you’ve executed this proposal:

To determine whether we have successfully executed this proposal, we will achieve the following critical milestones:

  1. Onchain Attestations using EAS:
    • Successfully create and deploy the attestation schema using the Ethereum Attestation Service (EAS).
    • Demonstrate that the system can issue and revoke attestations based on delegate status.
    • Verify that the attestations are transparently tracked onchain, ensuring the integrity and reliability of the system.
  2. Functional User Interface for Viewing Attestations:
    • Develop and deploy a front-end website that allows users to view current attested delegates.
    • Ensure the user interface is intuitive and user-friendly and provides transparent information about delegate status.
    • Conduct user testing and gather feedback to refine the interface, ensuring it meets user needs and expectations.
  3. Github Repository with Comprehensive Code and Documentation:
    • Publish the complete codebase to a public GitHub repository, ensuring it is well-organized and accessible.
    • Include comprehensive documentation covering setup, usage, and maintenance of the system.
    • Provide clear instructions for community contributions and feedback, fostering an open-source development environment.
  4. Integration with Guild.xyz:
    • Successfully integrated the attestation system with Guild.xyz to automate role management based on EAS attestations.
    • Verify that roles are correctly assigned and removed in platforms such as Discord and Forum based on delegate status.
  5. Performance and Reliability Testing:
    • Conduct thorough testing to ensure the attestation runner and frontend website perform reliably under expected load.
    • Address any issues identified during testing to ensure a robust and dependable system.
  6. Community Engagement and Feedback:
    • Actively engage with the community through forums, Discord, and other platforms to gather feedback on the system.
    • Incorporate community feedback into system improvements and updates, demonstrating responsiveness to user needs.
  7. Metrics and Reporting:
    • Establish key performance indicators (KPIs) to measure the success and impact of the system.
    • Provide regular updates and reports on progress, including metrics such as the number of attestations issued, user engagement with the frontend interface, and system reliability.

By achieving these milestones, we will demonstrate the successful execution of the Dynamic Delegate Attestations proposal, ensuring a transparent, reliable, and user-friendly system for the Ethereum Optimism ecosystem.


Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:

C-Emily-Furlong commented 5 months ago

Thank you to everyone who has previously applied to this mission request! This mission was never completed, and in the meantime some of the requirements have changed. The Collective now uses the ranking in the top 100 to determine top delegates, whereas previously it looked at delegates with more than 0.25% voting power.

This mission request was updated yesterday with new requirements, and we invite builders to re-submit their applications with modifications based on the new requirements @maheshmurthy @CarlGocht 🙏

mendesfabio commented 5 months ago

@C-Emily-Furlong is it open for builders who didn't apply previously?

CarlGocht commented 5 months ago

Updated the Boardroom proposal to reflect the changes.

curialabxyz commented 5 months ago

Foundation Mission (RFP) Application

Alliance Lead: v3naru.eth (Varit Ruangsiri)
Contact info: varit@curialab.xyz | TG: @v3dao
L2 recipient address: 0xA8A2b3EA014BEDaBdD6a12EEB699f7E2dE33Dff0

Please list the members of your Alliance and link to any previous work:

What makes your Alliance best-suited to execute this Mission?

Our alliance stands uniquely positioned to spearhead the Dynamic Attestation mission, underpinned by our intrinsic ties to the Optimism Collective and a shared history of impactful contributions. Here’s why we believe we are the ideal fit for this mission:

  1. Proven Track Record in Building Tailored Governance Database and Dashboard for Optimism Collective:

    • We have built the OP governance analytics dashboard, one of the first and only dashboards besides the Agora website to integrate the latest partial/advanced delegation data. Additionally, we've assisted the OP Lab Data team in populating data from Agora to create their dune delegation dashboard with partial delegation. This collaboration highlights our technical proficiency and dedication to providing the most up-to-date and accurate data for the Optimism Collective.
  2. Expertise in Onchain Attestation:

    • Our team is currently working on the OP Passport project, which includes features similar to those required for this mission. This project leverages our experience in creating robust, privacy-preserving attestations, which will be directly applicable to the Dynamic Delegate Attestations mission.
  3. Deep Engagement with the Optimism Governance Ecosystem:

    • Varit, one of our key team members, is an active participant and a top 100 delegate in the Token House. His consistent presence in governance calls and deep understanding of the governance dynamics within the Optimism ecosystem give us a unique vantage point. This enables us to quickly grasp and implement changes in requirements from the Optimism Collective, ensuring that our solutions are always aligned with the community's needs.

Our combination of technical expertise, hands-on experience with similar projects, and deep engagement with the Optimism governance ecosystem makes us exceptionally well-suited to execute this mission effectively and efficiently.

Please describe your proposed solution based on the above Solution Criteria (if applicable):

Our proposed solution is designed to meet the specified criteria while maintaining flexibility and adaptability to changing requirements. This section will outline the solution architecture and workflow as follows:

Solution Architecture

image

The system architecture includes the data pipeline, back-end services for smart contract integration and API provision, front-end interface, and a database for tracking delegates' voting power.

Workflow

  1. Daily trigger to update the indexer
  2. Daily trigger to data pipeline to fetch data from the indexer and calculate top 100 delegates' voting power
  3. Fetch existing attestation and check conditions for revoking
  4. Revoke delegates that have not met the criteria
  5. Issue new attestations for top new delegates
  6. Update roles on guild.xyz
  7. All information will be stored in the database and can be provided by API and user interface

Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each piece of work:

Week 1: Implement Indexer and Data Pipeline

Week 2: Finalize Requirements and Setup Infrastructure

Week 3: Implement Attestation Issuer

Week 4: Integrate with Guild.xyz & Develop Frontend Website

Week 5: Provide Documentation and Refine Code for Publication

Please note that the actual time for some of these tasks may differ slightly from the plan. We may add a 1-2 week buffer to accommodate potential adjustments.

Further Plan:

Maintaining a subgraph incurs significant costs and performance sync time, which may discourage community members from hosting the subgraph infrastructure themselves. To address this problem, we aim to create a new indexer infrastructure based on our in-house indexer design, developed in Rust and Python, optimized for high-volume data processing.

Currently, our in-house indexer is tightly coupled with Curia infrastructure. Our objectives are to:

These changes will enable the community to benefit from:

Ultimately, this initiative will promote greater decentralization and transparency within the OP ecosystem.

Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal:

To ensure the successful execution of this proposal, we will achieve the following critical milestones:

  1. Deployment of Onchain Attestations Using EAS:

    • Develop and deploy the attestation schema with the Ethereum Attestation Service (EAS).
    • Implement functionality to issue and revoke attestations based on delegate status.
    • Ensure that all attestations are transparently recorded onchain, maintaining system integrity and reliability.
  2. Development of a Functional User Interface for Attestation Viewing:

    • Create and launch a front-end website displaying the current attested delegates.
    • Design an intuitive and user-friendly interface that provides clear, transparent information about delegate status.
    • Conduct thorough user testing and incorporate feedback to refine the interface and ensure it meets user needs.
  3. Publishing a Comprehensive GitHub Repository:

    • Release the complete codebase on a public GitHub repository, organized and accessible for community use.
    • Provide detailed documentation covering system setup, usage, and maintenance.
  4. Successful Integration with Guild.xyz:

    • Integrate the attestation system with Guild.xyz for automated role management based on EAS attestations.
    • Verify the accurate assignment and removal of roles on platforms such as Discord based on delegate status.
  5. Performance and Reliability Assurance:

    • Conduct rigorous testing to ensure the Attestation Issuer and front-end website perform reliably under expected load conditions.
    • Address any identified issues to guarantee a robust and dependable system.

Please list any additional support your team would require to execute this mission (financial, technical, etc.):

  1. OP Lab Data: Assistance from OP Lab to verify the accuracy of the data.

Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:

C-Emily-Furlong commented 5 months ago

@mendesfabio it is! Please feel free to apply :)

Chomtana commented 4 months ago

Foundation Mission (RFP) Application

Please verify that you meet the qualifications for submitting at the above Tier

Everybody qualify for Ember Tier. Moreover, Alliance Leader have got 49k OP on RetroPGF 3 for Retrolist project.

Please list the members of your Alliance and link to any previous work

Chomtana Chanjaraswichai - Team Lead, Core Developer, Smart Contract Development

Johnny Phan - Protocol Engineer

Chris - Protocol Engineer

What makes your Alliance best-suited to execute this Mission?

We have built RetroList, the first and only Retro Funding 4 Discovery UI available so far. Our platform queries and indexes project data directly from the EAS, while others are still waiting for the Agora API to integrate real data. This showcases our expertise in EAS Attestation and have got retweets from Optimism.

Image

Moreover, we have years of experience in the identity field, demonstrated through the development of Opti.Domains, which integrates social verification with EAS attestation. To date, we have completed over 10,000 attestations related to social and wallet verification linked to domains.

We have experience using EAS on Guild.xyz for Opti.Domains

Image

Chomtana, Alliance lead is a top 100 delegate

Please describe your proposed solution based on the above Solution Criteria (if applicable):

Image

Our proposed solution stands out from other applicants. We offer a permissionless approach powered by a delegation refreshing event streamed to the core "Delegate Ranker Contract". Anyone can refresh the delegation amount for others without permission and can implement different "Delegation Event Managers" to promote client diversity. We provide a standard "Delegation Event Manager" that everyone can launch without restrictions. Additionally, we will host two instances of the "Delegation Event Manager" for redundancy and high availability, with monitoring that alerts our engineers if a server goes down.

Below are the explanations for each component:

Subgraph

A subgraph is a stable and straightforward way to index on-chain events. Our subgraph will index both classical delegation events from the OP Token contract and advanced delegation events from the AlligatorOP contract. Additionally, we will decode SubdelegationRules into indexable fields for the "Delegation Event Manager" to query and process.

The subgraph will be deployed to "The Graph Decentralized Network" for reliability and easy access. We will curate our subgraph with an appropriate amount of GRT to incentivize indexers to index this subgraph.

For the current requirements, only delegation events are necessary. However, to support recent proposal voting requirements, the subgraph can be upgraded to handle voting events.

Delegation Event Manager

The Delegation Event Manager queries the subgraph for delegation events that need to be refreshed, simulates, and executes the delegation refresh on the ranker contract.

The Delegation Event Manager runs on a schedule and can be deployed permissionlessly by anyone. We can control how often the Delegation Event Manager will refresh the delegation events.

After delegations have been refreshed, the Delegation Event Manager will fetch the current top 100 delegates from the Delegate Ranker Contract and compare if there are changes in the ranking of the top 100 delegates. If there is a change, it will signal the Delegate Ranker Contract to update the ranking, revoke the last delegate attestation, and issue a new top delegate attestation to the new top 100 delegate.

To support recent proposal voting requirements, the Delegation Event Manager must be upgraded to refresh delegation on voting events in addition to delegation events.

Delegate Ranker Contract

The Delegate Ranker Contract is a core contract that tracks and ranks the top 100 delegate voting power on-chain and then attests and revokes to the EAS. It works by accumulating voting power from different sources from a series of delegation refreshes called by the Delegation Event Manager.

Here are examples of delegation refreshes:

The delegation amount will be refreshed for a particular source, and the difference in voting power will be accounted for. An event will be emitted with changes in voting power for the Delegation Event Manager to use in the ranking process.

Refreshing delegation for the same pair multiple times is fine and never causes double-counting issues as it's a refresh, not an accumulation. This enables the Delegation Event Manager to work worry-free of double counting.

Since the Delegate Ranker Contract and Event Manager are permissionless, we encourage multiple parties to host them for more reliability and decentralization.

Once the delegate voting power has been updated, the rank is not updated immediately to save on gas usage. The Delegation Event Manager will query the current top 100 rankings, compare them with the updated rankings, and post the ranking update to the contract.

To support recent proposal voting requirements, the Delegate Ranker Contract is designed with a function that dynamically blacklists a specific delegate. Initially, all delegates are whitelisted, but once the proposal voting requirement is implemented, ghosted delegates will be blacklisted.

A blacklisted delegate will have their attestation revoked and won't be able to hold a place in the ranking.

Contract upgrades are done through the Protocol Upgrade procedure that the Developer Advisory Board must review and can be vetoed by Citizen House. This is safer than a centralized oracle solution.

Guild.xyz Integration

Guild.xyz will be automatically integrated if we design our EAS schema correctly.

We need Optimism's Discord server moderator to implement the role and EAS requirement.

Discourse Integration

We will develop a Discourse plugin to incorporate the top 100 delegate attestation with https://gov.optimism.io/.

Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each peice of work:

Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal:

Please list any additional support your team would require to execute this mission (financial, technical, etc.):

Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:

-- end of application --

luizakp commented 4 months ago

bleu Foundation Mission (RFP) Application

Alliance Members

About us

bleu collaborates with companies and DAOs as a technology and user experience partner. We've developed several projects in partnership with CoW and Balancer. In the last Optimism Season, we have been selected for working on two mission grants: Layerwide new project support and AI assistant for governance.

What makes your Alliance best-suited to execute this Mission?

Please describe your proposed solution based on the above Solution Criteria (if applicable):

Description

Architecture

image

Please outline your step-by-step plan to execute this Mission, including expected deadlines to complete each piece of work:

Please define the critical milestone(s) that should be used to determine whether you’ve executed on this proposal:

Please list any additional support your team would require to execute this mission (financial, technical, etc.):

Grants are awarded in OP, locked for one year. Please let us know if access to upfront capital is a barrier to completing your Mission and you would like to be considered for a small upfront cash grant: (Note: there is no guarantee that approved Missions will receive up-front cash grants.)

Please check the following to make sure you understand the terms of the Optimism Foundation RFP program:

C-Emily-Furlong commented 4 months ago

The submissions to this mission request are now closed! Thanks to all the teams that applied 🙏 We will review the applications and update this thread in the week of July 8th

C-Emily-Furlong commented 4 months ago

Hey everyone,

Thank you for the applications and interest you have shown in participating in this Mission Request. We have decided to move forward with the proposals made by:

We will be reaching out directly about next steps.

For those who were not selected this time around, I would encourage you to keep an eye on the Delegate Mission Requests which will open up for applications in the coming weeks.

You can read more in the Mission Grant section of the governance forum https://gov.optimism.io/c/mission-grants/69

curialabxyz commented 2 months ago

Hi @C-Emily-Furlong, here's our first MVP for the Dynamic Attestation Mission Request. While we are still working on the initial design as initially proposed, we wanted to deliver this as quickly as possible to meet the timeline for the Retro Funding 6 use cases, as requested:

Overview:

Our engineering team has set up automated attestations on the testnet. We have categorized the attestations into two types:

  1. Including Partial Voting Power (VP)
  2. Excluding Partial Voting Power (VP)

Attestation Example and Schema:

If you require additional fields or wish to include schemas for other types, please let us know, and we can accommodate those changes.

Data Access:

While a user interface for easily viewing the attestations is currently under development, we have made the following files available for your review. These files contain daily delegates and the current top 100 attestation lists.

Daily Data (replace the date in the URL with the desired date, starting from 2024-09-15):

  1. Delegates Without Partial VP: delegates_without_partial_vp.json

  2. Delegates With Partial VP: delegates_with_partial_vp.json

  3. Attestation Without Partial VP: attestation_without_partial_vp.json

  4. Attestation With Partial VP: attestation_with_partial_vp.json

Next Steps:

Would be great to receive your feedback on this initial MVP. Specifically, please advise if:

Our team is committed to refining this project to meet the collective needs and is ready to make any necessary adjustments.

Thank you for the opportunity and we look forward to your feedback.