-
Notifications
You must be signed in to change notification settings - Fork 1
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
RLN Design Patterns - Practical Development and UX Best Practices #102
Comments
An idea regarding sponsorship of RLN membership. we could have a special content topic or pubsub topic where RLN is not applied but instead another rate limit rules are applied. Message would contain:
All nodes
Sponsoring node (run by developers or special user):
Cons:
|
Labs is working on E <3 |
For What information can the owner learn from knowing the secret? @rymnc, thoughts? |
If the owner device is compromised, then all participants will get slashed. |
Need to add another pattern in terms of credentials sharing. The simplest use cases/way to frame it would be:
Some concrete use case:
|
Here are the scenarios I may embed in a demo messaging app and related to RLN, (Related to C) For group chat, community owner pays for the RLN
Notes:
(Related to A, E) For 1 to 1 chat, either self pay for the RLN, or pay by another actor and shared with inviting link
Note:
Questions, What's the price of the RLN membership? Currently, the RLN membership is network level and not community level. Fine-grained control by differentiate multiple levels of RLN membership could be helpful by split network loads, which could result in lower price of such membership? What if I want to provide free tier for 1to1 and group chat, how to make it acceptable within The Waku Network/community? With an upgrade option available to use RLN for extra features like spam protection, use relay/store service in a high priority and longer persistence. Different roles should have different settings regarding messaging rate, will RLN be a good fit for this kind of requirements? |
Moving the convo to #71 (comment) to not bloat this issue. |
for |
For |
Idea for |
All or part of this issue is likely to become its own milestone and encompass the work tracked with #71 and #87
Introduction
The usage of RLN for the Waku Network introduces a number of UX and Dev Ex challenges.
Some of the challenges are fundamental in nature (waku-org/research#45), impacting anyone building in a given context. While other are circumstantial (#71), based on the specific needs of a given application.
This issue attempt to identify a roadmap for the latter.
Process
For example, in the case of Status Communities (just an example, this are not the actual agreed requirements).
(1) Use case and user stories
Status Communities:
(2) user and message flows
(3) Solutions
(a) Deploy a Waku node that attach rln proof for incoming light push messages
This node validate that messages are valid community requests before attaching proof
This node runs own traditional DDOS protection (IP rate limit) to not burn through rate limits
cons:
considerations:
(b) Modify RLN smart contract so that Ethereum address that adds a membership can also remove membership without knowing secret.
cons:
etc.
(4) Select one or several solution and build a PoC
(5) Learn from PoC, identify SDKs or protocol changes needed to provide turnkey solution. E.g. enable validation plug-in so that such node can easily validate request messages.
(6) Build said SDK/protocols
(7) Document, release
Use Cases
A. User Pays for Membership - No Infra model
Most straightforward model where the user pays for their own membership. Developer only write code and ship it, no or minimal hosting from developer (e.g maybe a webpage hosted).
Similar to how one would use Ethereum (pay own gas).
In this model, we do need to review common wallet practices and whether any catering special catering is needed.
B. Developers/project pay for Membership - Project Sponsored Model
In this model, the project or developer or ecosystem is funding the RLN membership acquisition.
This could be a model similar to:
To consider:
C. Specific Actors pay for Membership - User Sponsor User model
Basically Status Community model. #71
D. User Shares RLN Membership Across Devices or Application
Assuming user has mobile wallet, used wallet to buy RLN membership.
User visit webapp using Waku on Desktop, user wants to use existing RLN membership in webapp.
Similar scenarios exists:
E. User invites user - user pays for other user
Alice is already onboarded on Waku dApp, she wants Bob to join in.
Alice pays for Bob's RLN credential so that Bob does not need crypto to onboard on the dApp.
The text was updated successfully, but these errors were encountered: