rework RLN mainnet milestone

This commit is contained in:
fryorcraken 2025-05-29 15:49:49 +10:00
parent dfa582c835
commit efacb73686
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4
5 changed files with 105 additions and 12 deletions

View File

@ -15,11 +15,9 @@
## Performance
1. New relay node setup with an RLN membership can be ready to verify RLN rpoof within 5s,
no matter the size of the tree **(Vac-DST)**.
2. In a network of 10k RLN Relay nodes with each node sending one 1-100KB message every 10-30s,
1. In a network of 10k RLN Relay nodes with each node sending one 1-100KB message every 10-30s,
messages are propagated within 500ms, with 99.9% success **(Vac-DST)**.
3. In a network of 10k RLN Relay nodes,
2. In a network of 10k RLN Relay nodes,
a spamming node will be disconnected from its peers in under 1 min. **(Vac-DST)**
## Supportability

View File

@ -12,7 +12,6 @@
1. Application developers can set RLN rate limit at insertion.
2. User do not need to wait for merkle tree synchronization and building to start relaying
or sending messages.
3.
## Reliability
@ -20,7 +19,8 @@
## Performance
1. ...
1. New node setup with an RLN membership can be ready to verify RLN proof within 5s,
no matter the size of the tree **(Vac-DST)**.
## Supportability
@ -28,7 +28,6 @@
## + (Privacy, Anonymity, Deployments)
1. Smart Contracts are deployed on Status Network Testnet.
2. TWN uses smart contracts deployed on Status Network Testnet.
3. Smart Contracts have been audited.
1. Smart Contracts are deployed on Linea Testnet.
2. TWN uses smart contracts deployed on Linea Testnet.

View File

@ -10,8 +10,7 @@ Testing out new format, once approved:
- [Define and Implement Peer-To-Peer Reliability Strategies](./define_p2p_reliability.md)
- [Introduce E2E Reliability in Status Communities](./introduce_e2e_reliability_in_status.md)
- Rendezvous TODO? (may be done)
- [Deploy RLN onchain tree on L2 testnet](TODO)
- [Deploy RLN onchain tree on L2 testnet](/draft-roadmap/deploy_rln_onchain_tree_on_l2_testnet.md)
- [Integrate nwaku in Status Desktop, relay mode only](/draft-roadmap/integrate_nwaku_in_status_desktop_relay_mode_only.md)
- [Define incentivization for RLNaaS](TODO)

View File

@ -15,7 +15,7 @@
**Feature**: [<Feature Name (only 1)>](<path/to/furps/file>)
**FURPS**:
- <F1. copy-paste full furp statement>
- <F1. copy-paste full furps statement>
**Checklist**:
- [ ] Specs: link to specs

View File

@ -0,0 +1,97 @@
# Deploy RLN onchain tree on L2 Testnet
This is a split of RLN mainnet milestone which grew too large in scope.
Once complemented, the economical behaviour of RLN will have been specified,
implemented and discussed with the Status team.
An implementation of RLN for light clients will also be done, to demonstrate RLNs UX with onchain Merkle tree.
Finally, the smart contract will be deployed on a Linea-based L2 testnet and used by The Waku Network.
It will then be possible to design the usage of RLN in Chat SDK.
**deliverables**: TODO
## [Implement RLN smart contract for paid, multilevel memberships](https://github.com/waku-org/pm/issues/228)
**Owner**: research
**Feature**: [RLN Smart Contract](/FURPS/core/rln_smart_contract.md)
**FURPS**:
- F1. RLN rate limit can be defined in terms of multiple messages per epoch.
- F2. RLN rate limit is set at membership insertion
- F3. RLN initialization only requires Web3 RPC `call`s, no blockchain events are needed.
- F4. An ERC-20 token deposit is needed to insert a membership
- U1. Application developers can set RLN rate limit at insertion.
**Checklist**:
- [ ] Specs: link to specs
- [ ] Code: link to GitHub issues/PRs/Epic
- [ ] Dogfood: link to dogfooding session/artefact
- [ ] Docs: links to README.md or docs.waku.org (TBD)
## [TWN supports RLN onchain tree and deposits, existing memberships only](https://github.com/waku-org/pm/issues/286)
**Owner**: nwaku
**Feature**: [RLN Smart Contract](/FURPS/core/rln_smart_contract.md)
**FURPS**:
- F3. RLN initialization only requires Web3 RPC `call`s, no blockchain events are needed.
- U2. User do not need to wait for merkle tree synchronization and building to start relaying
or sending messages.
- P1. New node setup with an RLN membership can be ready to verify RLN proof within 5s,
no matter the size of the tree **(Vac-DST)**.
- +1. Smart Contracts are deployed on Linea Testnet.
- +2. TWN uses smart contracts deployed on Linea Testnet.
**Checklist**:
- [ ] Specs: link to specs
- [ ] Code: link to GitHub issues/PRs/Epic
- [ ] Dogfood: link to dogfooding session/artefact
- [ ] Docs: links to README.md or docs.waku.org (TBD)
## [Fallback strategy for Web3 RPC endpoints are implemented in nwaku]()
**Owner**: nwaku
**Feature**: [nwaku](/FURPS/application/nwaku.md)
**FURPS**:
- R1. Relay node can fallback to alternative RPC endpoints
if the primary Web3 RPC provider becomes unavailable.
**Checklist**:
- [ ] Specs: link to specs
- [ ] Code: link to GitHub issues/PRs/Epic
- [ ] Dogfood: link to dogfooding session/artefact
- [ ] Docs: links to README.md or docs.waku.org (TBD)
## [RLNv2 Web management interface](https://github.com/waku-org/pm/issues/281)
**Owner**: js-waku
**Feature**: [RLN Membership Management](/FURPS/application/rln_membership_management.md)
**FURPS**:
- F1. User can generate and insert an RLN membership.
- F2. User can extend an RLN membership.
- F3. User can withdraw an RLN membership deposit.
- F4. The generated credentials can be exported and then imported into `wakunode2`.
- U1. User can see the state of their RLN membership.
- U2. User can manage their membership (register, extend, withdraw).
- +1. Deployed on https://rln.waku.org
- +2. Available for Status Network Testnet contracts.
- +3. Proof generation and validation is out of scope.
For S1. Browser application, using web3 wallet browser extensions.
**Checklist**:
- [ ] Specs: link to specs
- [ ] Code: link to GitHub issues/PRs/Epic
- [ ] Dogfood: link to dogfooding session/artefact
- [ ] Docs: links to README.md or docs.waku.org (TBD)