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

Replace GunDB with something more web3 native #500

Open
auryn-macmillan opened this issue May 23, 2022 · 1 comment
Open

Replace GunDB with something more web3 native #500

auryn-macmillan opened this issue May 23, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request frontend

Comments

@auryn-macmillan
Copy link
Member

auryn-macmillan commented May 23, 2022

GunDB has been a good temporary solution while we wait for something more web3 native to mature. However, it is not particularly decentralized and has frequently caused issues like #420 when our GunDB node is down or the app is misconfigured.

After speaking with @corpetty last week, I'm convinced there are some web3 native options that we could use right now, which would be both more reliable and less trustful.

There are two options I'd like to explore:

  1. Waku / Waku Connect: is a decentralized messaging protocol (the successor to Whisper, originally part of the Ethereum vision).

Waku has its origins in the Whisper protocol, but optimized for scalability and better usability
Waku removes centralized third parties from our messaging, enabling private, secure, censorship-free communication.
Waku is designed for generalized messaging, enabling both human-to-human or machine-to-machine communication.

One nice quality of Waku, according to what I understand from @corpetty, is that messages persist for roughly 30 days. This is the perfect amount of time for them to be available to be used during a round, and then vanish into the ether once the round is over and they won't be required again.

  1. Deterministic key derivation: using a process similar to loopring, we could deterministically generate the user's MACI keys based on their authenticated address, the address of the round, and some nonce/salt. This way, rather than storing the keys somewhere, we just recreate them locally on-the-fly.
@auryn-macmillan
Copy link
Member Author

Just wanted to drop this here because I think it might be useful.

https://github.com/status-im/js-waku

@yuetloo yuetloo linked a pull request Mar 16, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request frontend
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants