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

Implement passport recovery module #63

Open
0xturboblitz opened this issue Feb 21, 2024 · 8 comments
Open

Implement passport recovery module #63

0xturboblitz opened this issue Feb 21, 2024 · 8 comments
Labels
application easy help wanted Extra attention is needed

Comments

@0xturboblitz
Copy link
Member

Use Proof of Passport to implement a passport recovery module for ERC-4337 wallets or to add as a signer to Safe multisigs.
This can be done in two ways:

  • Using passive authentication, a user can prove he physically owns a passport. This however is not expressive.
  • Using active authentication or chip authentication, a user could sign actually transactions with the private key in the chip.

For more information, see here, here and here.

@0xturboblitz 0xturboblitz added help wanted Extra attention is needed good first issue Good for newcomers medium labels Feb 21, 2024
@wugalde19
Copy link

wugalde19 commented May 23, 2024

HI @0xturboblitz, I'd love to take care of this one

This project sounds really interesting to me
Looks like a great opportunity to learn more about it

Could you please tell me if you have a Telegram group where I can introduce myself and ask a few questions?

@0xturboblitz
Copy link
Member Author

Hi
Yes, here: https://t.me/+ODcj2Bf0fxtkZDc0

@Ugo-X
Copy link

Ugo-X commented May 24, 2024

Hello good morning, my name is Ugo and I am a Fullstack Developer. I have contributed to some Open source projects, including the last two OD hacks, which you can confirm from my GitHub. My plan to tackle this issue is to integrate the passport recovery module using chip authentication where the users would have to sign transactions with the private key embedded in their passports.

i will be using the circomjs library to resolve this issue.
i would first extract the necessary data from the passport , putting it into zk-circuits format , then I would create a way to verify and sign the authentication transaction using circomjs library before integrating it into the entry point of the target wallets
though this would be my first time using this library, i bet it would be a nice learning experience.

@0xturboblitz
Copy link
Member Author

Nice, dm us if you have any questions

@Ugo-X
Copy link

Ugo-X commented May 25, 2024

Nice, dm us if you have any questions

alright thanks, i will be sure to do that.

@remicolin remicolin removed the good first issue Good for newcomers label Jul 26, 2024
@nelsonaty
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have extensive experience in blockchain development, particularly with Ethereum smart contracts, ERC standards, and decentralized identity solutions. My work includes designing and implementing secure wallet recovery mechanisms and integrating hardware-based authentication methods into blockchain systems. My proficiency with cryptographic protocols and decentralized application development positions me well to tackle the integration of Proof of Passport for wallet recovery or multisig signers.

How I plan on tackling this issue

To implement a passport recovery module using Proof of Passport for ERC-4337 wallets or to add it as a signer to Safe multisigs, leveraging both passive and active authentication methods.

Steps to Address the Problem:

  1. Research and Planning
    Research:

Understand the technical specifications of ERC-4337 and Safe multisigs.
Study the details of Proof of Passport, including passive and active authentication.
Review cryptographic protocols involved in reading and verifying passport chips.
Plan:

Define the user flow for both passive and active authentication.
Determine the data and cryptographic requirements for integrating passport authentication.
2. Design the Solution
Architecture:

Passive Authentication:

Allow the user to prove physical possession of a passport without exposing sensitive data.
Use the passport’s data (MRZ, photo, etc.) for verification.
Active Authentication:

Use the passport’s embedded chip to sign transactions, leveraging the private key within the chip.
Ensure secure communication with the chip to read and use the private key.
Components:

Smart contracts to manage wallet recovery or multisig signer addition.
Backend service to handle passport data verification.
Frontend interface for users to initiate recovery or add a signer.
3. Implementation
Passive Authentication Module:

Develop a smart contract that allows users to submit passport-related data.
Integrate a backend service to verify the submitted data against known passport standards.
Once verified, allow the user to recover the wallet or add the signer.
Active Authentication Module:

Implement a library or service to interact with the passport chip.
Develop a smart contract that accepts transactions signed by the passport chip.
Ensure that the transactions signed by the chip are verified and accepted by the wallet or multisig contract.

@ChrisFernandezVivas
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am electrical engineer and works all days with c++ in my company , i have 2 years working with c++ languages

How I plan on tackling this issue

I will implement a 1 module with 3 functions
Like 1 main functions call a the other 2 direct and indirect verification ,using information on links above :) thanks

@CrimsonKarma44
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have 2 years of experience in backend programming in golang and python framework (django, flask)

How I plan on tackling this issue

i could send a reset password link by email, validate the token and prompt the user to create

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
application easy help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

7 participants