over budget

Open Source Social Account Verifier

$40,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Solution

To take the first step toward decentralized profiles; let's create the first open source, proof-of-control issuers using Atala.

Problem:

It shouldn't be so hard to verify someone's control of a social account, email, etc; exchange info; and limit platform silos and censorship.

Yes Votes:
₳ 49,937,354
No Votes:
₳ 4,610,590
Votes Cast:
149

  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download

Detailed Plan

<u>Introduction</u>

We want to create the first open source, proof-of-control credential issuers built on Atala Prism. In order to take the first steps toward truly decentralized online/social information, we intend to start by focusing on a credential issuer that allows the user to prove that they control their Discord account. This project is focused on building out the foundational pieces for the future of decentralized identity built on Atala Prism, and will act as a primitive for future work around reputation-related solutions. The software will be made available to the public as soon as the Atala Prism SDK has been made open sourced, and users should be able to issue their own Discord credentials on the testnet.

This project is for you if:

  • You like control over your online information.
  • You want to securely and privately exchange your online information with friends/family/followers.
  • You want to be able to prove to others that you have control over your accounts in a decentralized way.
  • You don't like censorship and platform silos.
  • You've heard of Social KYC and want to see something similar based on the Cardano blockchain.

If you fall into this camp, then take a look at the Long Term Vision section at the bottom, along with the example use-cases and the original inspiration for the idea. Or, if you don't prefer to read, you can listen to our team's project presentation on YouTube (https://youtu.be/-UK7tkIvAS4).

If you are new to Self-Sovereign Identity, then please refer to the additional resources at the bottom if you'd like to know more.

<u>Scope Of Proposal</u>

Currently, there are no good options for wallets to store and share small amounts of information, but there is a separate Catalyst proposal for some work around this. For this reason, we believe that it would be best to start creating the issuers in order to cover more ground as a community.

Proposal Timeframe - 3 months

Primary Goal - Create a proof-of-control issuer for Discord accounts.

Stretch Goal(s) - Create proof-of-control issuers for:

  1. Email addresses
  2. GPG keys

Above & Beyond Goal(s) - Create proof-of-control issuers for as many of the following (in no particular order):

  1. Telegram
  2. Twitter
  3. Facebook
  4. LinkedIn
  5. YouTube
  6. Minds
  7. GitHub
  8. Website
  9. etc.

Note: If the community feels that the priorities for the various issuers should be reordered, then we are open to suggestions!

<u>Expected Project Roadmap (subject to change)</u>

Month 1

  • Refine architecture for Discord issuer
  • Break down work into right-sized tickets
  • Set up repository
  • Set up CI pipeline
  • Set up servers
  • Set up other team/dev tools
  • Syncs with Open Source Credential Wallet team
  • Begin coding Discord issuer and automated tests, and write documentation
  • Possibly look into setting up a non-profit, and consider other business-related activities needed
  • Possibly set up stake pool to assist with continued funding

Month 2

  • Continue (or start) coding the Discord issuer and automated tests, and writing documentation
  • Syncs with Open Source Credential Wallet team
  • If possible, test integration with Open Source Credential Wallet

Month 3

  • Finish coding, automated tests, and documentation for Discord issuer
  • Syncs with Open Source Credential Wallet team
  • If possible, test integration with Open Source Credential Wallet
  • Depending on progress, begin/finish work on email and GPG issuers

<u>Approximate Budget Breakdown (subject to change)</u>

  • Non-profit startup (legal fees, logo, domain name) - $2000
  • Servers and team/dev tools - $10,000
  • Stake pool capital - To be determined
  • Engineer compensation (split by engineers after other expenses are finalized) - $28,000 without the stake pool

TOTAL: $40,000

.

<u>Current Team</u>

This is the first Catalyst proposal for all team members.

Amol Aggarwal - https://www.linkedin.com/in/amol-aggarwal/

A current Computer Science student at Birla Institute of Technology and Science, Pilani. Amol has been coding for 4 years in languages like Python, Java, C, and C. Additionally, he has completed an internship with Google and is focused on Cloud-related tech. He joined the team after participating in the first Atala Prism Pioneers course.

Ben Zawodni - https://www.linkedin.com/in/bzawodni/

Ben is a systems software engineer with over 2 years of experience in the C programming language. He runs the HODLR stake pool, is a Plutus Pioneer, and joined the team after participating in the first Atala Prism Pioneers course.

Ignacio Canovi - <https://www.linkedin.com/in/ignacio-canovi-a6441767/>

Ignacio is a full stack software engineer with over 10 years of experience. He has served roles as a senior engineer, tech lead, and is currently the Director of Development with his current employer. He is a Plutus Pioneer, and joined the team after participating in the first Atala Prism Pioneers course.

Kyle Kurzhal - <https://www.linkedin.com/in/kylekurzhal/>

Kyle is a full stack software engineer with over 8 years of experience. He has served roles as lead developer and CTO at a startup, and is a lead software engineer with his current employer. He runs the KYLEK stake pool, is a Plutus Pioneer, and is the original author of this proposal after participating in the first Atala Prism Pioneers course.

Nikolay Vasilev - <https://www.linkedin.com/in/nikolayvv/>

A current Computer Science student at the University of Ljubljana. Nikolay has experience with/exposure to web development and languages/libraries like Javascript, nodeJS, React, Java, and C. He joined the team after participating in the first Atala Prism Pioneers course.

<u>Partners</u>

In order to help quickly lay the groundwork for future improvements, our team has partnered with the team for the Open Source Credential Wallet proposal (https://cardano.ideascale.com/a/dtd/Open-Source-Credential-Wallet/382078-48088).

Our intent is to sync with them regularly to help ensure that both teams benefit from one another's work.

<u>Long Term Vision</u>

dYou - A decentralized profile ecosystem to promote secure communication, and to combat authoritarian censorship and siloing.

The long-term vision for the project is to:

  1. Create a decentralized application/wallet that allows people to: (a) Create their own profiles (public, private, anonymous, etc.), represented by DIDs, that demonstrates ownership of various accounts/emails/etc. (b) Privately exchange their information with other users/profiles as desired. (c) Verify information that they have received against the verified credentials on the Cardano blockchain.

  2. Create many open source, proof-of-control issuers for many commonly used services. These include things like email addresses, phone numbers, Discord, Telegram, Twitter, Facebook, LinkedIn, GitHub, GPG keys, etc.

  3. Create a non-profit to manage the open source issuer software, and that can be funded through donations to continue maintenance.

  4. Create a business that offers proof-of-control credentials as a service, using the open source issuers as a kind of public contract to gain public confidence in the service. Ideally, there should be many businesses that offer these credentials as a service.

Note: The proposal is focused primarily on the second part of the vision.

<u>Example Use-Cases:</u>

  1. Alice, an everyday person, is connected to a friend/family member on Facebook, but wants to know what other social media accounts that they control in order to connect with them. Using the DID that is published on the friend's/family member's Facebook account; Alice can lookup what other accounts they have verified control over, individually request each piece of information, and verify that information against the blockchain.

  2. A cosplayer want to create a decentralized profile that links and proves their control over their various social media accounts, but they don't want that info linked to their personal profile that represents their control over their personal accounts. Their followers can request the info for various accounts and verify that info against the blockchain.

  3. A public figure or business wants to create a decentralized profile that links and proves control of all their official accounts. Then, their followers can request the info for various accounts and verify that info against the blockchain.

<u>What Inspired The Idea?</u>

There are really several perspectives that helped to inspire the original idea.

Firstly, we have very strong concerns about siloing and censorship in many of the popular platforms that we use today. How do we know for sure that the algorithms aren't biasing the results that we see, even from our own friends and family? Instead of just leaving these platforms, we want a way to see what other platforms and mediums of communication that our friends and family are using so that we can also connect with them through those. We also want to be able to securely/privately share my information with others, as we choose on an individual basis.

Secondly, we know that proving control of accounts is a big pain point for many public figures. There are many malicious individuals who wish to use the name and likeness of these public figures in order to scam their followers. Having a decentralized profile and credentials that can be used to verify someone's control over a particular account can provide a resource to mitigate these impersonations.

Thirdly, we find it odd that we are relying on centralized gatekeepers to "verify" that we are who we say that we are. We've heard Charles Hoskinson and others mention several times in the past that they have been frustrated with the unclear verification process for the "Twitter checkmark". Instead, why don't we start with decentralized proof-of-control and then build trust models on top?

<u>Additional Resources</u>

  • <https://freecontent.manning.com/the-basic-building-blocks-of-ssi/>
  • <https://atalaprism.io/app>
  • <https://www.w3.org/TR/did-core/>
  • <https://www.w3.org/TR/did-spec-registries/>
  • <https://www.w3.org/TR/vc-data-model/>
  • <https://identity.foundation/didcomm-messaging/spec/>
  • <https://json-ld.org/spec/latest/json-ld/>
  • <https://schema.org/EducationalOccupationalCredential>
  • <https://youtu.be/8cfO5tQQ0i8>
  • https://youtu.be/hbi07kZM_Zk

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00