mirror of
https://github.com/logos-messaging/pm.git
synced 2026-01-05 07:33:08 +00:00
Adding RLN FURPS
# Conflicts: # PROCESS.md
This commit is contained in:
parent
9eaa9866db
commit
37ca9487d3
25
FURPS/TEMPLATE.md
Normal file
25
FURPS/TEMPLATE.md
Normal file
@ -0,0 +1,25 @@
|
||||
# <Feature Name> FURPS
|
||||
|
||||
## Functionality
|
||||
|
||||
1. ...
|
||||
|
||||
## Usability
|
||||
|
||||
1. ...
|
||||
|
||||
## Reliability
|
||||
|
||||
1. ...
|
||||
|
||||
## Performance
|
||||
|
||||
1. ...
|
||||
|
||||
## Supportability
|
||||
|
||||
1. ...
|
||||
|
||||
## + (Privacy, Anonymity, Deployments)
|
||||
|
||||
1. ...
|
||||
29
FURPS/core/rendezvous.md
Normal file
29
FURPS/core/rendezvous.md
Normal file
@ -0,0 +1,29 @@
|
||||
# Rendezvous FURPS
|
||||
|
||||
## Functionality
|
||||
|
||||
1. libp2p-rendezvous peer discovery protocol is used
|
||||
|
||||
## Usability
|
||||
|
||||
1. Relay nodes discover additional peers via libp2p-rendezvous
|
||||
|
||||
## Reliability
|
||||
|
||||
1. Relay nodes finds new peers when solely using rendezvous **(Vac-QA)**.
|
||||
|
||||
## Performance
|
||||
|
||||
1. In an established network of 1k relay nodes on 10 shards with 1 bootstrap node,
|
||||
100 new relay nodes (relay + discv5 + Waku PX + rendezvous)
|
||||
can connect to 20 relay peers in the right shard within 1 minute (**Vac-DST**)
|
||||
; run simulation without rendezvous to see the difference
|
||||
|
||||
## Supportability
|
||||
|
||||
1. Enabled in status-go using nwaku c-bindings
|
||||
2. Enabled in nwaku-compose
|
||||
|
||||
## + (Privacy, Anonymity, Deployments)
|
||||
|
||||
N/A
|
||||
100
FURPS/core/rln.md
Normal file
100
FURPS/core/rln.md
Normal file
@ -0,0 +1,100 @@
|
||||
# RLN FURPS
|
||||
|
||||
## Smart Contract
|
||||
|
||||
### Functionality
|
||||
|
||||
1. RLN rate limit can be defined in terms of multiple messages per epoch.
|
||||
2. RLN rate limit is set at membership insertion
|
||||
3. RLN initialization only requires Web3 RPC `call`s, no blockchain events are needed.
|
||||
4. An ERC-20 token deposit is needed to insert a membership
|
||||
|
||||
### Usability
|
||||
|
||||
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
|
||||
|
||||
1. ...
|
||||
|
||||
### Performance
|
||||
|
||||
1. ...
|
||||
|
||||
### Supportability
|
||||
|
||||
1. ...
|
||||
|
||||
### + (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.
|
||||
|
||||
## RLN Relay
|
||||
|
||||
### Functionality
|
||||
|
||||
1. Light push service node can attach RLN proof for clients.
|
||||
|
||||
### Usability
|
||||
|
||||
1. Light push clients do not need RLN logic.
|
||||
|
||||
### Reliability
|
||||
|
||||
1. Relay node can fallback to alternative RPC endpoints
|
||||
if the primary Web3 RPC provider becomes unavailable.
|
||||
|
||||
### 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,
|
||||
messages are propagated within 500ms, with 99.9% success **(Vac-DST)**.
|
||||
3. In a network of 10k RLN Relay nodes,
|
||||
a spamming node will be disconnected from its peers in under 1 min. **(Vac-DST)**
|
||||
|
||||
### Supportability
|
||||
|
||||
1. Service node proof generation for light push clients is available in `wakunode2` for browser clients.
|
||||
|
||||
### + (Privacy, Anonymity, Deployments)
|
||||
|
||||
1. Service node proof generation for light push clients is deployed on TWN.
|
||||
2. Service node proof generation for light push clients is enabled by default in nwaku-compose.
|
||||
|
||||
## RLN Membership Management App
|
||||
|
||||
### Functionality
|
||||
|
||||
1. User can generate and insert an RLN membership.
|
||||
2. User can extend an RLN membership.
|
||||
3. User can withdraw an RLN membership deposit.
|
||||
4. The generated credentials can be exported and then imported into `wakunode2`.
|
||||
|
||||
### Usability
|
||||
|
||||
1. User can see the state of their RLN membership.
|
||||
2. User can manage their membership (register, extend, withdraw).
|
||||
|
||||
### Reliability
|
||||
|
||||
1. ...
|
||||
|
||||
### Performance
|
||||
|
||||
1. ...
|
||||
|
||||
### Supportability
|
||||
|
||||
1. Browser application, using web3 wallet browser extensions.
|
||||
|
||||
### + (Privacy, Anonymity, Deployments)
|
||||
|
||||
1. Deployed on https://rln.waku.org
|
||||
2. Available for Status Network Testnet contracts.
|
||||
3. Proof generation and validation is out of scope.
|
||||
@ -20,9 +20,13 @@ as well as in the browser for PoC Web Apps such as Qaku and Logos Forum.
|
||||
|
||||
**GitHub Milestone and deliverables**: https://github.com/waku-org/pm/milestone/29
|
||||
|
||||
## [End-to-end reliability protocol - Status integration]()
|
||||
## [End-to-end reliability protocol - Status integration](https://github.com/waku-org/pm/issues/194)
|
||||
|
||||
(need to modify existing issue to the following template)
|
||||
TODO:
|
||||
- modify existing issue to the following template
|
||||
- Potentially split this deliverable in two:
|
||||
1. initial integration in Status (this)
|
||||
2. recovery mechanisms (store query, etc) (new deliverable)
|
||||
|
||||
**Owner**: core research
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user