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

Proposal: RSA GitHub Wallets POC #43

Open
hcheng826 opened this issue Mar 10, 2024 · 6 comments
Open

Proposal: RSA GitHub Wallets POC #43

hcheng826 opened this issue Mar 10, 2024 · 6 comments
Assignees
Labels
Application Proposal Proposal submitted by applicants Grant Work in Progress Passed review and work in progress

Comments

@hcheng826
Copy link

hcheng826 commented Mar 10, 2024

General Grant Proposal

Project Overview 📄

Overview

Use the RSA signature that GitHub supports to generate off-chain zk proof from the commit message or pull request data, just like how zk email generate the proof from email payload. Use the zk proof to integrate with AA wallet and perform operations. The circom circuits supporting succinct RSA signature proof is already made by zk-email. We can also use their relayer to generate and submit proofs to the AA bundlers.

Project Details

Provide as much detail as possible about the project's expected final state.

  • Scope of Work: PoC, Blog Post or Spec on HackMd

  • Key Features

    The RSA GitHub Wallets POC project integrates several core components to create a seamless and secure system for authorizing transactions via GitHub operations:

    • GitHub User/Wallet Account Owner: Users hold GPG keys to submit signed commits to GitHub. These signatures are used to generate off-chain zk proofs for on-chain verification.
    • Relayer: A crucial component that listens to commit events, parses commit messages, and generates zk proofs from them. The relayer then submits these proofs to the AA bundler. Additionally, we will experiment with the possibility of using GitHub Actions as part of the CI/CD pipeline to execute relayer tasks.
    • Wallet Account on Chain (AA Smart Contract): This on-chain component verifies the zk proofs generated from signed commit messages and executes the corresponding user operations (userOp).
  • Use Cases and Potential Impact

    • Developer Transactions: Streamline project financing by allowing developers to authorize transactions directly from GitHub.
    • Collaborative Funding: Facilitate collective fund management through shared AA wallets, with transactions authorized by GitHub activities.
    • Community Incentives: Encourage open-source contributions by enabling commits or PRs to trigger payments from a project's AA wallet.
  • PoC/MVP or other relevant prior work or research on the topic

    • ZK email and ZK email wallet

Team 👥

Team members

Team Website

  • N/A

Team's experience

Team Code Repos

  • not created yet

Development Roadmap 🔩

Overview

  • Total Estimated Duration: 3 months
  • Total Estimated Working Hours: 280 hours
  • Full-time equivalent (FTE): 0.5
  • Expected Start Date: 2024/04/15
  • Expected End Date: 2024/07/31

Milestone 1: Research and Design

  • Estimated Duration: 2 weeks
  • FTE: 0.5
  • Estimated Delivery Date: 2024/05/01

Deliverables:

  1. Background Research: Conduct research on existing solutions and technologies related to off-chain zk proofs and GitHub GPG key signatures.
  2. System Design: Develop a detailed system design document outlining the architecture and components of the RSA GitHub Wallets PoC.
  3. Specification Write-up: Create a comprehensive specification document for the project, including technical details and requirements.

Milestone 2: Circuit Development

  • Estimated Duration: 4 weeks
  • FTE: 0.5
  • Estimated Delivery Date: 2024/05/30

Deliverables:

  1. Circuit Implementation:
  • Develop and implement the circom circuit for verifying GitHub GPG key signatures.
  • Explore the implementation with halo2
  1. Testing: Create a test suite for the circuit to ensure its functionality and robustness.
  2. Documentation: Provide detailed documentation on the circuit design, implementation, and usage.

Milestone 3: Relayer Development

  • Estimated Duration: 2 weeks
  • FTE: 0.5
  • Estimated Delivery Date: 2024/06/15

Deliverables:

  1. Relayer Implementation: Develop the relayer component to listen for commit events, generate zk proofs, and submit them to the AA bundler.
  2. GitHub Actions Integration: Experiment with integrating the relayer into GitHub Actions for automated execution.
  3. Testing and Documentation: Create a testing guide and documentation for the relayer.

Milestone 4: AA Wallet Setup

  • Estimated Duration: 2 weeks
  • FTE: 0.5
  • Estimated Delivery Date: 2024/06/30

Deliverables:

  1. AA Wallet Configuration: Set up an Account Abstraction (AA) wallet to accept zk proofs and execute transactions based on the verified commit messages.
  2. Documentation: Provide detailed documentation on the AA wallet setup, configuration, and usage.

Milestone 5: Integration and Testing

  • Estimated Duration: 2 weeks
  • FTE: 0.5
  • Estimated Delivery Date: 2024/07/15

Deliverables:

  1. End-to-End Testing: Conduct integration testing to ensure all components work together seamlessly.
  2. Bug Fixing: Address any issues or bugs identified during testing.
  3. Documentation: Update documentation to reflect the integration process and testing results.

Milestone 6: Finalization and Outreach

  • Estimated Duration: 2 weeks
  • FTE: 0.5
  • Estimated Delivery Date: 2024/07/31

Deliverables:

  1. Summary Report: Compile a comprehensive summary of the project, highlighting key findings, challenges, and future directions.
  2. Blog Post: Write a blog post to share the project's outcomes, insights, and potential impact with the wider community.
  3. Code Repository: Ensure all code is well-documented, organized, and available in a public repository for community access and contribution.

Additional Information ➕

@NOOMA-42 NOOMA-42 added the Application Proposal Proposal submitted by applicants label Mar 11, 2024
@NOOMA-42
Copy link
Collaborator

I'm looking for a reviewer

@ETHorHIL
Copy link

ETHorHIL commented Apr 2, 2024

Hey, I can take this.

@hcheng826
Copy link
Author

@ETHorHIL Thanks! do let me know if there's any feedback!

@ETHorHIL
Copy link

ETHorHIL commented Apr 2, 2024

The proposal looks sensible. We can move on.

@hcheng826
Copy link
Author

@ETHorHIL I have the first draft for milestone 1 of background research and design here: https://hackmd.io/@THUxtt18Qeiwn2vtWvmVDg/H1B5WKbxC
I read the guide Looks like I should wait for feedbacks or approval before moving on to the next milestone? Let me know if I can go ahead or there're any feedbacks. Thanks!

@NOOMA-42
Copy link
Collaborator

@hcheng826 we'll proceed to another round of review by @mitsu1124, please kindly wait for further notice

@ETHorHIL I have the first draft for milestone 1 of background research and design here: https://hackmd.io/@THUxtt18Qeiwn2vtWvmVDg/H1B5WKbxC I read the guide Looks like I should wait for feedbacks or approval before moving on to the next milestone? Let me know if I can go ahead or there're any feedbacks. Thanks!

@NOOMA-42 NOOMA-42 added the Grant Work in Progress Passed review and work in progress label Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Application Proposal Proposal submitted by applicants Grant Work in Progress Passed review and work in progress
Projects
None yet
Development

No branches or pull requests

3 participants