Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multichain Identity Indexer #2451

Merged
merged 1 commit into from
Dec 3, 2024
Merged

Conversation

vikiival
Copy link
Contributor

Project Abstract

The Multichain Identity Indexer - Identics is a GraphQL service designed to streamline the interaction with Identity pallet that was originally on Relay-chain and now resides on People Chain. This service acts as a robust data layer for socially-oriented dApps, leveraging the simplicity of GraphQL and REST API. The indexer addresses the challenge of querying identity information for multiple accounts in parallel and bridges the gap between historical data on the Relay chain and real-time updates on People Chain.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (Polkadot AssetHub (USDC & DOT) address in the application and bank details via email, if applicable).
  • I understand that an agreed upon percentage of each milestone will be paid in vested DOT, to the Polkadot address listed in the application.
  • I am aware that, in order to receive a grant, I (and the entity I represent) have to successfully complete a KYC/KYB check.
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

@github-actions github-actions bot added the admin-review This application requires a review from an admin. label Nov 16, 2024
@semuelle semuelle self-assigned this Nov 20, 2024
Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the application, @vikiival. Other than the use case you have been working on, I'm wondering who or what would require indexing of the history of identities?

applications/multichain_identity_indexer.md Outdated Show resolved Hide resolved
@vikiival vikiival force-pushed the application/identics branch from 23fb5cf to 9e43004 Compare November 21, 2024 08:08
@vikiival
Copy link
Contributor Author

vikiival commented Nov 22, 2024

Other than the use case you have been working on, I'm wondering who or what would require indexing of the history of identities?

Hey,
that is a very good question!
I have split it into several topics that could leverage the identity history

  1. Governance Analytics & Reputation Systems
  • Tracking how long accounts have maintained verified identities before participating in important governance votes (any opengov platform)
  • Building reputation systems that consider the longevity and stability to identify trusted community members
  1. Security & Fraud Prevention
  • Detecting suspicious patterns of identity changes or clearances that might indicate malicious behavior
  • Helping registrars review an account's identity history before providing judgements
  • Enabling apps to flag accounts that frequently change or clear their identities
  1. Social Network Analysis
  • Understanding the evolution of relationships between accounts (social graph)
  • Analyzing the growth of identities within the ecosystem
  1. Economic Research & Analysis
  • Studying how identity verification impacts user behavior and economic activity
  • Understanding how identity systems are used across different market conditions

TL;DR

There is a lot of services that could leverage indetity indexer, to prevent fraudulent activity on their platforms (scams, phishing, impersonation).
Additionally it opens a new potential for research purposes and spot patterns.
Last but not least, we do believe that using data from Identics could be used for novel applications/libraries such as - https://openrank.com

@vikiival vikiival requested a review from semuelle November 25, 2024 12:09
semuelle
semuelle previously approved these changes Nov 28, 2024
Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @vikiival, thanks for the thorough reply and sorry for the long wait. Some of the use cases and future plans you listed seem very niche to me, but looking at ENS, there is still a lot of room for improvement regarding identities in our ecosystem, so I am happy to approve your application and share it with the rest of the committee.

@semuelle semuelle added the ready for review The project is ready to be reviewed by the committee members. label Nov 28, 2024
Noc2
Noc2 previously approved these changes Dec 1, 2024
Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to get open-source software like this potentially funded via the treasury (see for example Open Source Developer Grants Bounty Program), given that the treasury is the long-term funding solution for these things. But I'm happy to also support it here.

Copy link
Collaborator

@takahser takahser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vikiival This looks very interesting.

However, I have a couple of questions:

  • Will it be possible to query a complete list of available identities, along with additional metadata like their age or registration timestamps? This could be valuable for features like airdrops.
  • Once developed, do you plan to host the indexer as a public-facing API for broader community use? This could be especially useful for smaller/early-stage dApp dev teams, since they wouldn't have to set up their own infrastructure.
  • Will this indexer simplify running registrars? If that’s a popular use case, it might make sense to add a demo project showcasing all the API calls needed for registrar-related extrinsics.

applications/multichain_identity_indexer.md Outdated Show resolved Hide resolved
@vikiival vikiival dismissed stale reviews from Noc2 and semuelle via 3ffc499 December 2, 2024 15:23
@vikiival vikiival force-pushed the application/identics branch from 9e43004 to 3ffc499 Compare December 2, 2024 15:23
@vikiival
Copy link
Contributor Author

vikiival commented Dec 2, 2024

  • Will it be possible to query a complete list of available identities, along with additional metadata like their age or registration timestamps? This could be valuable for features like airdrops.

@takahser Amazing idea!
Yes, Identity entity will contain createdAt: DateTime! @index and updatedAt: DateTime! @index along with historical changes.
It is a perfect use-case for loyal Polkadot / Kusama users.

  • Once developed, do you plan to host the indexer as a public-facing API for broader community use? This could be especially useful for smaller/early-stage dApp dev teams, since they wouldn't have to set up their own infrastructure.

We plan to host Identics on SubSquid infra and Hono API as a public good solution. I agree that identity management takes a lot of precious dev time.

  • Will this indexer simplify running registrars? If that's a popular use case, it might make sense to add a demo project showcasing all the API calls needed for registrar-related extrinsic.

That's a very good and valid question. As far as I know, currently, registrars have to listen to the RPC events and check for judgement requests. Additionally, they need to parse the data from the RPC node (such as mail, Twitter, etc.) to reach the user.
Identics simplify this as all registrars must do is subscribe to the GraphQL server. Changes will be pushed to the subscribed registrars as soon as a block is finalised.

We will also add WIKI with queries/examples that can be used.

Misc

Can I ask @semuelle and @Noc2 for approval again? Seems that force-push dismissed the approval

semuelle
semuelle previously approved these changes Dec 2, 2024
Copy link
Collaborator

@takahser takahser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vikiival thanks for your prompt response.

We will also add WIKI with queries/examples that can be used.

Could you add this to the proposal? After that I'd be happy to add my approval as well.

Btw, you don't have to worry about the dismissal of approvals - as long as you don't remove things reviewers would usually just re-approve.

@vikiival
Copy link
Contributor Author

vikiival commented Dec 3, 2024

Could you add this to the proposal? After that I'd be happy to add my approval as well.

Added as delivery 0e (Line 170)

Btw, you don't have to worry about the dismissal of approvals - as long as you don't remove things reviewers would usually just re-approve.

Oh, I did not know ^-^.

@vikiival vikiival requested a review from takahser December 3, 2024 13:50
@takahser takahser requested a review from semuelle December 3, 2024 15:50
@semuelle semuelle merged commit 870f871 into w3f:master Dec 3, 2024
6 of 8 checks passed
Copy link
Contributor

github-actions bot commented Dec 3, 2024

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section on our website for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at [email protected] and we'll be happy to collaborate on an announcement about the work you’re doing.

Also, if you haven't yet, consider signing up for the Polkadot Alpha Program. The program offers plenty of resources for people building on Polkadot. Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

@vikiival vikiival deleted the application/identics branch December 3, 2024 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
admin-review This application requires a review from an admin. ready for review The project is ready to be reviewed by the committee members.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants