|
| 1 | +--- |
| 2 | +title: RLN for LightPush |
| 3 | +tags: |
| 4 | + - messaging-milestone |
| 5 | +date: '2026-04-06T00:00:00.000Z' |
| 6 | +github: 'https://github.com/logos-messaging/pm/issues/411' |
| 7 | +--- |
| 8 | +**Resources Required**: |
| 9 | +- 1 Delivery engineer |
| 10 | +- AnonComms support |
| 11 | + |
| 12 | +Resolve the architectural gap where LightPush service nodes share a single RLN quota with relay traffic, making LightPush non-functional under high-volume relay conditions. |
| 13 | + |
| 14 | +Once done, Logos Messaging fleets should be able to become fully RLN-protected; edge nodes are required to get an RLN membership and send lightpush requests with RLN-proof attached; RLNaaS is discontinued. |
| 15 | + |
| 16 | +It's an open question, how edge not will get RLN membership. The initial implementation should have the same approach as Relay, later versions might introduce sponsored memberships. |
| 17 | +## Risks |
| 18 | + |
| 19 | +| Risk | (Accept, Own, Mitigation) | |
| 20 | +| ----------------------------------------------- | --------------------------------------------- | |
| 21 | +| RLN membership sponsorship model is not defined | Focus on no-sponsorship implementation first. | |
| 22 | +## Deliverables |
| 23 | + |
| 24 | +### Add support for RLN proofs in edge mode |
| 25 | + |
| 26 | +**Owner**: Delivery Team |
| 27 | + |
| 28 | +Enable light clients with their own RLN membership to generate proofs client-side and submit messages with proofs via lightpush. The service node verifies the proof and relays without consuming its own quota. |
| 29 | + |
| 30 | +This decouples lightpush from service node quota entirely for clients that have their own membership, and is the long-term path to sustainable edge mode. |
| 31 | + |
| 32 | +**Done when**: A light client with its own RLN membership can send a pre-proven message via lighpush, and the service node relays it without consuming its own nonce. |
| 33 | + |
| 34 | +Note that this might already be possible in `logos-delivery`, in that case it needs verification. |
| 35 | + |
| 36 | +### [Improve RLN UX by reducing contract interactions](https://github.com/waku-org/pm/issues/344) |
| 37 | + |
| 38 | +**Owner**: Delivery Team |
| 39 | + |
| 40 | +**Feature**: [RLN Smart Contract](/messaging/furps/core/rln_smart_contract.md) |
| 41 | + |
| 42 | +**FURPS**: |
| 43 | +- U3. Application does not need to do a Web3 RPC call for every tree change to generate or validate messages. |
| 44 | +- U4. Application can transfer tokens and register membership with a single transaction. |
| 45 | + |
| 46 | +### Enable LightPush rate limiting in Logos Testnet |
| 47 | + |
| 48 | +**Owner**: Delivery Team |
| 49 | + |
| 50 | +Enable Logos Testnet fleet nodes to start verifying lightpush RLN proofs, and drop lightpush requests without RLN proofs. |
| 51 | + |
| 52 | +**Done when**: Fleet deployments (`logos.dev`, `logos.test`) are updated. |
| 53 | + |
| 54 | +### Enable LightPush rate limiting in `waku.sandbox` |
| 55 | + |
| 56 | +Enable `waku.sandbox` fleet nodes to start verifying lightpush RLN proofs, and drop lightpush requests without RLN proofs. |
| 57 | + |
| 58 | +This must be done carefully. Node operators and users should be notified. No disturbance should occur for network users. |
| 59 | + |
| 60 | +**Done when**: Fleet deployments (`logos.dev`, `logos.test`) are updated. |
0 commit comments