Do you agree to open source all work you do on behalf of this grant and dual license under MIT, APACHE2, or GPL licenses? Yes
Project Description
Inspiration
Human interactions are becoming remote, and with it so are their reputations.
We increasingly rely on the online reputation of a person or business to make decision of whether we want to interact with them.
For example, if you want to hire someone, you will view their LinkedIn. If you want to get some plumbing done in your home, you will call whoever has 5 stars on google. If you want to try out a new cosmetic, you will see its reviews by the top beauty influencers. In short, even small decisions and interactions with other people are influenced by the reputation we see online.
These reputational assets are intensively used in web2 platforms and form the basis of rich, meaningful experiences for the user. For example, sorting the gig listing on Fiverr based on the seller ratings.
We can also replicate such web2 experience in web3 by connecting aspects of a user’s reputation with their wallet on web3. However, web3 currently lacks the tools to do so.
Current Problem
Presently, if a non-crypto native user tries to enter the web3 world, not only do they have to go through a complicated onboarding process (setup wallet, store seed etc.), but they must also start their reputation building on-chain from scratch.
The current web3 reputation mechanisms view the on-chain activity of a wallet to harness “facts” about it and do not reuse the web2 reputation. In some cases, we are talking about losing an online reputation that took decades to build.
These problems lead to a high churn rate of users on web3.
Proposed Solution
We want to fix this by creating:
A reputation connect widget, that allows easy onboarding to web3 using web2 profiles and lets the users link and store their reputation in a self-sovereign way, all without the hassle of creating a wallet and storing seeds.
Such a reuse of reputation is not only practical, but it also greatly increases the user experience through personalization on web3 i.e. eliminating the cold start problem of dApps.
It will also open doors for a plethora of new interesting web3 applications that can reuse web2 data. It will also democratize the user data and make it truly self-sovereign, where users dictate when and how their data is used.
We believe Lit protocol and Ceramic DID streams provide a great foundation for creating this reputation widget.
Why Lit Protocol & Ceramic DID streams is the best fit?
This idea has won two hackathons and was a semi-finalist in ETHOnline. During the hackathons, it was implemented in a different way and had a website, a metamask snap, and zero-knowledge proofs.
However, during this idea-validation phase, our team had a few takeaways that we feel are imperative for the successful execution and adoption of this idea. These were:
Make a wallet-less experience for the non-crypto native user.
Personalize experience but preserve privacy. There should be no correlation between a wallet address and all its web2 profiles data.
Create a reputation connect widget that can be easily integrated with dApps.
Create a dashboard where users can manage their connected profiles, dApps and data streams.
Wallet-less experience can be achieved via Lit PKPs. Correlation resistance can be achieved via ceramic DID streams. Everything comes together in a simple UI widget that any dApp can integrate using one line of code. And users can manage their data in a self-sovereign way using their dashboard.
Therefore, we believe that this widget & platform can be best implemented with the tech stack of Lit.
Value
The creation of this widget will have the following benefits for Lit Protocol:
Every dApp that uses this widget will be indirectly using Lit protocol, leading to increased Lit adoption.
This widget would provide an easy way for developers to integrate Lit protocol into their applications without having to understand the underlying mechanisms.
The power of the wallet-less experience through the use of Programmable Key Pairs (PKPs) would become more evident for prospective Lit customers and partners.
The creation of this widget will have the following benefits for the wider web3 ecosystem:
By easy onboarding, the non-crypto native users will be able to use dApps leading to increased web3 adoption.
New use cases will be enabled that are currently difficult to achieve without the concept of reputation attached to a user.
This widget will not only enable the creation of new communities on web3 but will motivate porting the existing communities to web3.
This widget will make users sovereign over their own data, giving rise to a new paradigm of platforms where users control how their data is used and potentially monetize it.
Deliverables
The project will have two major components as deliverables: a widget and a dashboard.
The Widget:
What is it? A npm package that developers can import into their react/typescript project and then configure which web2 profiles they want the data from through the widget on their dApp.
Features:
Login/Signup: User can login/signup using either MetaMask or Social login to allow ease of use for both crypto and non-crypto native audiences. A PKP will be generated for the user and the preferred login method will be added as the root auth method in the PKP.
A mockup of how the widget login screen might look like:
View reputation options: After successful login, users see the options to connect their existing web2 profiles as requested by the dApp.
A mockup of how the widget connect screen might look like:
Connect Reputations: After clicking the connect button, the user would go through the OAuth process of the selected profile if not already connected before.
Storing reputation data on Ceramic streams: After successful OAuth, user data is added to the encrypted immutable ceramic stream against a new DID for correlation-resistance. The schemas for the ceramic streams against the various profile types will be pre-published. The ceramic data streams would also be encrypted/decrypted by Lit Actions authorized by the Auth Method specified in this workflow.
What is it? The dashboard will be a website where user can see and manage their connected profiles and the collected data.
Features:
Login/Signup: User can login/signup using either MetaMask or Social login to allow ease of use for both crypto and non-crypto native audiences. A PKP will be generated for the user and the preferred login method will be added as the root auth method in the PKP.
View Reputations: After successful login users are redirected to Reputations Overview Page where they see the connected and not connected web2 profiles in a card view.
A mockup of how the page might look like:
View Connected Profile details: The connected accounts would show some user metadata in the card view. Clicking on the card of the connected profile would open a detail page which will show the data stored in the ceramic stream against this profile
Connect reputations: User would be able to connect new profiles to link more data. An encrypted immutable ceramic stream against a new DID would be created for this profile. A Lit action would also be setup to encrypted/decrypted by the Auth Method specified in this workflow.
The widget will be completed with all the features and ceramic integration mentioned above.
The npm package will be published.
Duration: \~6-8 weeks
Milestone 2 - Dashboard ($4,000)
The dashboard will be completed with all the features mentioned above. The dashboard will be published on a public URL.
Duration: \~6-8 weeks
Total Budget Requested
Milestone
Costs
Milestone 1
$6000
Milestone 2
$4,000
Total Request
$10,000
Maintenance and Upgrade Plans
The team intends to maintain it for at least a year, add more integrations with time e.g. GitHub, Stack overflow, Instagram etc. and increase the subset of data that is stored in the ceramic streams.
Blockchain Architect in Deutsche Telekom. Understands identity protocols in depth including the Self-Sovereign Identity paradigm. 8 years of experience working in the blockchain field. He has published multiple research papers on blockchain, self-sovereign identity, and zero-knowledge proofs.
Hands-on tech stack: OAuth and Identity Protocols, Web & backend Development
Hira Siddiqui
Blockchain architect in Deutsche Telekom. 7 years of experience working in the blockchain field. She has published multiple research papers on blockchain, zero-knowledge proofs, and hardware security modules.
Hands-on tech stack: Solidity, React & Typescript
Tianlei Zhu
Senior Software Engineer in Arrk Engineering GmbH. 5 years of experience in the blockchain field and 3 years of react/typescript experience.
Hands-on tech stack: React & Typescript, server-side development
Open Grant Proposal:
Reputation Connect
Name of Project: Reputation Connect via Plurality
Proposal Category: grants:devtools-libraries
Proposer: @hirasiddiqui @mujtabaidrees94 @zhutianlei24
Do you agree to open source all work you do on behalf of this grant and dual license under MIT, APACHE2, or GPL licenses? Yes
Project Description
Inspiration
Human interactions are becoming remote, and with it so are their reputations.
We increasingly rely on the online reputation of a person or business to make decision of whether we want to interact with them.
For example, if you want to hire someone, you will view their LinkedIn. If you want to get some plumbing done in your home, you will call whoever has 5 stars on google. If you want to try out a new cosmetic, you will see its reviews by the top beauty influencers. In short, even small decisions and interactions with other people are influenced by the reputation we see online.
These reputational assets are intensively used in web2 platforms and form the basis of rich, meaningful experiences for the user. For example, sorting the gig listing on Fiverr based on the seller ratings.
We can also replicate such web2 experience in web3 by connecting aspects of a user’s reputation with their wallet on web3. However, web3 currently lacks the tools to do so.
Current Problem
Presently, if a non-crypto native user tries to enter the web3 world, not only do they have to go through a complicated onboarding process (setup wallet, store seed etc.), but they must also start their reputation building on-chain from scratch.
The current web3 reputation mechanisms view the on-chain activity of a wallet to harness “facts” about it and do not reuse the web2 reputation. In some cases, we are talking about losing an online reputation that took decades to build.
These problems lead to a high churn rate of users on web3.
Proposed Solution
We want to fix this by creating:
Such a reuse of reputation is not only practical, but it also greatly increases the user experience through personalization on web3 i.e.
eliminating the cold start problem of dApps
.It will also open doors for a plethora of new interesting web3 applications that can reuse web2 data. It will also democratize the user data and make it truly self-sovereign, where users dictate when and how their data is used.
We believe Lit protocol and Ceramic DID streams provide a great foundation for creating this reputation widget.
Why Lit Protocol & Ceramic DID streams is the best fit?
This idea has won two hackathons and was a semi-finalist in ETHOnline. During the hackathons, it was implemented in a different way and had a website, a metamask snap, and zero-knowledge proofs.
However, during this idea-validation phase, our team had a few takeaways that we feel are imperative for the successful execution and adoption of this idea. These were:
Wallet-less experience can be achieved via Lit PKPs. Correlation resistance can be achieved via ceramic DID streams. Everything comes together in a simple UI widget that any dApp can integrate using one line of code. And users can manage their data in a self-sovereign way using their dashboard.
Therefore, we believe that this widget & platform can be best implemented with the tech stack of Lit.
Value
The creation of this widget will have the following benefits for Lit Protocol:
The creation of this widget will have the following benefits for the wider web3 ecosystem:
Deliverables
The project will have two major components as deliverables: a widget and a dashboard.
The Widget:
What is it? A npm package that developers can import into their react/typescript project and then configure which web2 profiles they want the data from through the widget on their dApp.
Features:
Login/Signup: User can login/signup using either MetaMask or Social login to allow ease of use for both crypto and non-crypto native audiences. A PKP will be generated for the user and the preferred login method will be added as the root auth method in the PKP. A mockup of how the widget login screen might look like:
View reputation options: After successful login, users see the options to connect their existing web2 profiles as requested by the dApp. A mockup of how the widget connect screen might look like:
Connect Reputations: After clicking the connect button, the user would go through the OAuth process of the selected profile if not already connected before.
Storing reputation data on Ceramic streams: After successful OAuth, user data is added to the encrypted immutable ceramic stream against a new DID for correlation-resistance. The schemas for the ceramic streams against the various profile types will be pre-published. The ceramic data streams would also be encrypted/decrypted by Lit Actions authorized by the Auth Method specified in this workflow.
The Dashboard:
What is it? The dashboard will be a website where user can see and manage their connected profiles and the collected data.
Features:
Login/Signup: User can login/signup using either MetaMask or Social login to allow ease of use for both crypto and non-crypto native audiences. A PKP will be generated for the user and the preferred login method will be added as the root auth method in the PKP.
View Reputations: After successful login users are redirected to Reputations Overview Page where they see the connected and not connected web2 profiles in a card view. A mockup of how the page might look like:
View Connected Profile details: The connected accounts would show some user metadata in the card view. Clicking on the card of the connected profile would open a detail page which will show the data stored in the ceramic stream against this profile
Connect reputations: User would be able to connect new profiles to link more data. An encrypted immutable ceramic stream against a new DID would be created for this profile. A Lit action would also be setup to encrypted/decrypted by the Auth Method specified in this workflow.
Development Roadmap
Milestone 1 – widget (6000$)
The widget will be completed with all the features and ceramic integration mentioned above.
The npm package will be published.
Duration: \~6-8 weeks
Milestone 2 - Dashboard ($4,000)
The dashboard will be completed with all the features mentioned above. The dashboard will be published on a public URL.
Duration: \~6-8 weeks
Total Budget Requested
Maintenance and Upgrade Plans
The team intends to maintain it for at least a year, add more integrations with time e.g. GitHub, Stack overflow, Instagram etc. and increase the subset of data that is stored in the ceramic streams.
Team
Team Members
Mujtaba Idrees
Email: mujtabaidrees@gmail.com
GitHub: @mujtabaidrees94
Telegram: @mujids
LinkedIn: https://www.linkedin.com/in/mujtabaidrees94/
Hira Siddiqui
Email: hirasiddiqui95@gmail.com
GitHub: @hirasiddiqui
Telegram: @hirasiddiqui
LinkedIn: https://www.linkedin.com/in/hira-siddiqui-96b60a74/
Tianlei Zhu
Email: zhutianlei2b@gmail.com
GitHub: @zhutianlei24
Telegram: @TerryWang123
LinkedIn: https://www.linkedin.com/in/tianlei-zhu-852b76230/
Relevant Experience
Mujtaba Idrees
Blockchain Architect in Deutsche Telekom. Understands identity protocols in depth including the Self-Sovereign Identity paradigm. 8 years of experience working in the blockchain field. He has published multiple research papers on blockchain, self-sovereign identity, and zero-knowledge proofs.
Hands-on tech stack: OAuth and Identity Protocols, Web & backend Development
Hira Siddiqui
Blockchain architect in Deutsche Telekom. 7 years of experience working in the blockchain field. She has published multiple research papers on blockchain, zero-knowledge proofs, and hardware security modules.
Hands-on tech stack: Solidity, React & Typescript
Tianlei Zhu
Senior Software Engineer in Arrk Engineering GmbH. 5 years of experience in the blockchain field and 3 years of react/typescript experience.
Hands-on tech stack: React & Typescript, server-side development
Team code repositories
https://github.com/Web3-Plurality
Additional Information
How did you learn about the Lit Open Grants Program?
David Sneider invited us to apply after our project won the Identity Hackathon where Lit Protocol was a sponsor.
Please provide the best email address for discussing the grant agreement and general next steps.
hirasiddiqui95@gmail.com