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

[Milestone] Membership for Status Communities #71

Closed
chair28980 opened this issue Sep 1, 2023 · 3 comments
Closed

[Milestone] Membership for Status Communities #71

chair28980 opened this issue Sep 1, 2023 · 3 comments

Comments

@chair28980
Copy link
Contributor

Planned start date:
Due date: 30 Nov 2023

Summary

A mechanism to allow Community Owners to assign RLN membership to community members.

Acceptance Criteria

Tasks

RAID (Risks, Assumptions, Issues and Dependencies)

@chair28980 chair28980 added the Epic Tracks a sub-team Epic. label Sep 1, 2023
@fryorcraken fryorcraken added this to Waku Sep 1, 2023
@fryorcraken fryorcraken added this to the Waku Network Gen 0 milestone Sep 5, 2023
@chair28980 chair28980 added the E:3.3: Membership for Status Communities See https://github.com/waku-org/pm/issues/71 for details label Nov 17, 2023
@chair28980
Copy link
Contributor Author

This epic should become its own Milestone.

@chair28980 chair28980 added Deliverable Tracks a Deliverable and removed E:3.3: Membership for Status Communities See https://github.com/waku-org/pm/issues/71 for details labels Dec 5, 2023
@chair28980 chair28980 changed the title [Epic] 3.3: Membership for Status Communities [Milestone] Membership for Status Communities Dec 5, 2023
@chair28980 chair28980 removed the Epic Tracks a sub-team Epic. label Dec 5, 2023
@chair28980 chair28980 removed this from the Waku Network Gen 0 milestone Dec 5, 2023
@fryorcraken
Copy link
Contributor

From #102 (comment) @kaichaosun

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

  • community owner share a link to join the community
  • user access the link in a web page, and connect with Metamask wallet or others.
  • user sign a message to prove ownership of the address, pre-defined scripts from community owners check the address whether it's allowed to join, such as the address holds a specific NFT.
  • if check passed, the address get its membership registered and membership fee payed by community owners.
  • the webpage redirects to the app catalog page which could be endorsed by token curated list.
  • user select a specific app and go to app's web page with the community link as part of the URI. If it's mobile or desktop, download link or QR code is showed, once user confirm app downloaded, the community link or QR code is shown for joining.
  • starts chatting.

Notes:

  • pre-defined scripts could be templatable by community devs and could be incentivized in some way.
  • user could create a new credential for RLN without linking to the main ethereum address, even transfer the membership somehow. But it will add complexity in UX and should be performed carefully.
  • community owner deposit the funds into a contract which is estimated by potencial number of community users.

(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

  • Alice wants to talk to Bob
  • Alice knows Bob's ID, she creates a 1to1 chat by add Bob's ID using her favorite waku compatible messaging app
  • App ask Alice to acquire the membership of RLN before creating a 1to1 chat, optionally she can buy RLN for Bob if Bob don't have a membership yet.
  • Alice notify Bob somehow to check her messages with a waku compatible app with a message link.
  • Bob use the link to access the app and login with the ID embed in the link.
  • starts receiving and responding.

Note:

  • ID could be an ethereum address or ENS name or another globally registered handle
  • Alice don't have to buy RLN for Bob, but her messages may be only read and not respond by Bob if Bob decides not pay for RLN by himself.
  • Bob could furthur transfer the membership.

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?

@fryorcraken
Copy link
Contributor

user sign a message to prove ownership of the address, pre-defined scripts from community owners check the address whether it's allowed to join, such as the address holds a specific NFT.

Can you clarify how this done? on the BE of the website that the user used?

What's the price of the RLN membership?

Not yet defined.

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?

Not sure of the relation between price and using several RLN groups.
While we may consider having one RLN group per shard, we would loose permissionless if we would have one RLN group per application.

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.

Relay is the backbone to the Waku network so one must use relay to use the network.
DOS protection via RLN is what protects the network, so it's also mandatory.

Req-res protocol (store, light push, filter) consume resources from the network. One could see them as an a convenient upgrade to enable usage of resource-restricted devices.

Regarding free tier for 1:1 and group chat. It may be interesting from a network PoV to have RLN limit quite low so that it is cheap for a developer to distribute a number of free RLN memberships.

A premium user may need 10 membership to have a normal app usage.

More in https://forum.vac.dev/t/ens-like-nfts-for-rln/243/9 especially around giving control to a given user (let's say developer) around membership so they can re-use or take away unused memberships.

Different roles should have different settings regarding messaging rate, will RLN be a good fit for this kind of requirements?

Yes, see my last message here: https://forum.vac.dev/t/ens-like-nfts-for-rln/243/9?u=fryorcraken

A user could use and rotate multiple memberships to have higher rate usage.

@chair28980 chair28980 removed the Deliverable Tracks a Deliverable label Jun 19, 2024
@chair28980 chair28980 closed this as not planned Won't fix, can't repro, duplicate, stale Jun 19, 2024
@github-project-automation github-project-automation bot moved this to Done in Waku Jun 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants