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

Task: Manage RLN membership(s) and keys #1600

Closed
2 tasks done
fryorcraken opened this issue Sep 22, 2023 · 6 comments · Fixed by waku-org/examples.waku.org#280
Closed
2 tasks done

Task: Manage RLN membership(s) and keys #1600

fryorcraken opened this issue Sep 22, 2023 · 6 comments · Fixed by waku-org/examples.waku.org#280
Assignees
Labels
E:3.2: Basic DoS protection in production See https://github.com/waku-org/pm/issues/70 for details enhancement New feature or request track:rln RLN Track (Secure Messaging/Applied ZK), e.g. relay and applications

Comments

@fryorcraken
Copy link
Collaborator

fryorcraken commented Sep 22, 2023

This is a bug report/feature or change request/support request

Summary

Ensuring that on all Waku clients publishers can manage RLN membership(s) and keys

Proposed Solutions

A JSON keyfile is used by nwaku to manage credentials. We need to provide a package, compatible with js-rln (or part of?) to enable import and export of this key file..

We need to also review how we want users to manage their RLN credentials in the browser.
Current proposal is to generate the RLN secret from a web3 wallet signature: sign a passphrase, hash it, use it as a secret.
This does not help the membership id, that needs to be retrieved from the smart contract.

We could provide tools to easily save credentials in local storage with a password.

We could also review the PSE work https://github.com/CryptKeeperZK and whether this can be used for RLN credentials.

Acceptance Criteria

  • 1. implement encrypted KeyStore (features: persistence, import / export, encryption);
  • 2. implement FE interface by using prev point (features: simplicity, import / export, rpc or rest to nwaku);

Notes

@fryorcraken fryorcraken added the E:3.2: Basic DoS protection in production See https://github.com/waku-org/pm/issues/70 for details label Sep 22, 2023
@fryorcraken
Copy link
Collaborator Author

@rymnc Do you know if https://github.com/CryptKeeperZK can be used for RLN credentials?

@fryorcraken fryorcraken added track:rln RLN Track (Secure Messaging/Applied ZK), e.g. relay and applications enhancement New feature or request labels Sep 22, 2023
@rymnc
Copy link

rymnc commented Sep 22, 2023

Yes, you can use https://github.com/CryptKeeperZK/rlnjs

@rymnc
Copy link

rymnc commented Sep 22, 2023

but it doesn't export the keystore the same way go-waku and nwaku do, so some effort would be required in that direction

@weboko weboko self-assigned this Sep 22, 2023
@rymnc
Copy link

rymnc commented Sep 26, 2023

@rymnc Do you know if https://github.com/CryptKeeperZK can be used for RLN credentials?

the original would be better - https://github.com/rate-limiting-nullifier/rlnjs

@weboko
Copy link
Collaborator

weboko commented Sep 26, 2023

  • 1. implement encrypted KeyStore (features: persistence, import / export, encryption);
  • 2. implement FE interface by using prev point (features: simplicity, import / export, rpc or rest to nwaku);

(1) For implementing KeyStore worth looking into possibility of extending rlnjs library so that we offload following support. Important to keep in mind that encryption part should be consistent between waku clients. Possible mitigation - making it a configurable parameter or directly implementing in @waku/rln on our side.

(2) FE should use dotenv approach for easy integration in dockerenvironment. Docker spins nwaku then feeds multiaddr to node.

@weboko
Copy link
Collaborator

weboko commented Oct 23, 2023

Weekly update:

  • achieved: completed flow up items and main stream of work;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E:3.2: Basic DoS protection in production See https://github.com/waku-org/pm/issues/70 for details enhancement New feature or request track:rln RLN Track (Secure Messaging/Applied ZK), e.g. relay and applications
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants