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

Improve Encryption UX using Lit Protocol #47

Assignees

Comments

@MantisClone
Copy link
Member

MantisClone commented Sep 14, 2023

Problem

  1. Users must manually manage keys to create and retrieve encrypted requests.
  2. We want to provide a good UX (low number of clicks). We DON'T want users to click to decrypt each request.

Definition of Done

Rejected Solutions

  • NOT using EIP-1024 because it's deprecated
  • Develop a PoC using Threshold Network Access Control ("TACo"), a decentralized network for provisioning encryption keys, direct competitor of Lit Protocol
  • Use eth-crypto encryptWithPublicKey() to encrypt/decrypt the channel key. Store the public/private key in the browser's local storage in an encrypted format using ethers.wallet.encrypt(). The user needs to store a separate mnemonic. The user types in a password to unlock the wallet and can then use it for encrypting and decrypting. dApp looks for the encryption wallet in local storage.
  • Develop an EIP-5630 Metamask Snap
    • EIP-5630: New approach for encryption/decryption
    • Metamask Snap: a programmability layer inside the wallet so the private key still remains secure.
    • Maybe batch decrypt so users don't need to click to decrypt each request
    • Maybe a session so users can pre-approve all decryptions for a certain time period

Migrated from Asana:

@MantisClone MantisClone changed the title As an RN dev, I want a Lit Protocol PoC for creating and retrieving encrypted requests using keys stored in a wallet, to prove that it's possible. As a Builder, I want to create and retrieve encrypted requests using keys stored in a wallet, so my users don't need to manually manage their encryption keys. Sep 14, 2023
@MantisClone MantisClone transferred this issue from RequestNetwork/requestNetwork May 15, 2024
@MantisClone
Copy link
Member Author

Context: We hosted a 3-hour mini hackathon attended by the Request Network dev team. We needed to quickly choose a technology to hack with based on incomplete knowledge about trust assumptions and only a cursory glance through the docs.

Options:

  • Lit Protocol
  • Threshold Network

Conclusion:

  • Lit Protocol for Mini Hackathon
  • Reconsider Threshold Network in the future

Considerations:

  • Both Lit Protocol and Threshold Network TACO seem very "green", unproven.
  • In Threshold Network, a ritualId and corresponding ritual public key are required to encrypt data.
  • Threshold Network TACO Mainnet is in beta and ritualIds are issued by allowlist only
    image
  • TACO Node might not be supported anymore?
    image
  • Lit Protocol seems to have wider industry adoption right now.

@MantisClone MantisClone reopened this Jul 3, 2024
@MantisClone MantisClone changed the title As a Builder, I want to create and retrieve encrypted requests using keys stored in a wallet, so my users don't need to manually manage their encryption keys. Encrypted Request PoC using Lit Protocol Jul 3, 2024
@MantisClone MantisClone changed the title Encrypted Request PoC using Lit Protocol Develop an Encrypted Request PoC using Lit Protocol Jul 3, 2024
@MantisClone
Copy link
Member Author

We did a mini hackathon at our 2024.05 Offsite in a private repo: https://github.com/RequestNetwork/encrypt-requests-with-wallet-prototype

@MantisClone MantisClone changed the title Develop an Encrypted Request PoC using Lit Protocol Improve Encryption using Lit Protocol Oct 15, 2024
@MantisClone MantisClone changed the title Improve Encryption using Lit Protocol Improve Encryption UX using Lit Protocol Oct 15, 2024
@MantisClone MantisClone transferred this issue from RequestNetwork/encrypt-requests-with-wallet-prototype Oct 15, 2024
@MantisClone MantisClone removed this from the Request Invoicing V3 milestone Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏗 In Progress
2 participants