From 3134be5d74d75248f306010cb9d730cbe682f267 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 27 May 2025 13:43:25 +1000 Subject: [PATCH] split RLN FURPS --- .../application/rln_membership_management.md | 31 ++++++ FURPS/core/rln.md | 100 ------------------ FURPS/core/rln_relay.md | 33 ++++++ FURPS/core/rln_smart_contract.md | 34 ++++++ 4 files changed, 98 insertions(+), 100 deletions(-) create mode 100644 FURPS/application/rln_membership_management.md delete mode 100644 FURPS/core/rln.md create mode 100644 FURPS/core/rln_relay.md create mode 100644 FURPS/core/rln_smart_contract.md diff --git a/FURPS/application/rln_membership_management.md b/FURPS/application/rln_membership_management.md new file mode 100644 index 0000000..1f33808 --- /dev/null +++ b/FURPS/application/rln_membership_management.md @@ -0,0 +1,31 @@ +# RLN Membership Management FURPS + +## 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. \ No newline at end of file diff --git a/FURPS/core/rln.md b/FURPS/core/rln.md deleted file mode 100644 index e66678e..0000000 --- a/FURPS/core/rln.md +++ /dev/null @@ -1,100 +0,0 @@ -# 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. \ No newline at end of file diff --git a/FURPS/core/rln_relay.md b/FURPS/core/rln_relay.md new file mode 100644 index 0000000..bb41b61 --- /dev/null +++ b/FURPS/core/rln_relay.md @@ -0,0 +1,33 @@ +# RLN Relay FURPS + +## 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. + diff --git a/FURPS/core/rln_smart_contract.md b/FURPS/core/rln_smart_contract.md new file mode 100644 index 0000000..2b1e870 --- /dev/null +++ b/FURPS/core/rln_smart_contract.md @@ -0,0 +1,34 @@ +# RLN Smart Contract FURPS + +## 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. +