--- title: 2024-07-08 Waku Weekly tags: - waku-updates date: 2024-07-08 --- ## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - achieved: - [research] take up reported bugfixes after afk; continue with service rollout - [chat] tuning store hash query to shorten the confirmation time of outgoing messages [Reset MVDS epoch after peer is online](https://github.com/status-im/status-go/pull/5349) - next: - [research] start with storev3 benchmarking test plan - [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - achieved: - [[Epic: nwaku] Node Bandwidth Management Features](https://github.com/waku-org/pm/issues/117) - BW metrics per shard: implemented per shard metric collection - [feat: Proper bandwidth metrics per shard](https://github.com/waku-org/nwaku/issues/1945) - Added dashboard panels for relay per shard traffic - Added dashboard panels for non-relay protocols data traffic - Added dashboard panels for non-relay protocols request rates - [nwaku] [feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032) - Finalizing last phase of the feature: - Added per peer filtering of high users - Filter service specific limits for ping and subscribe per peer - next: - [nwaku] [[Epic: nwaku] Node Bandwidth Management Features](https://github.com/waku-org/pm/issues/117) - Add distinction between gross/net inbound traffic of shards. - [nwaku] [feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032) - finish testing, add more unit tests - [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - achieved: - [nwaku] new issue to create sonda tool, a canary for store services: [chore: create sonda tool](https://github.com/waku-org/nwaku/issues/2869) - next: - [nwaku] start implementation of sonda tool ## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - achieved: - [chat] [feat: filter peers stored in cache by cluster-id in peer-exchange](https://github.com/waku-org/go-waku/pull/1139) - [chat] [feat: expose router and mesh peers to obtain list of peers in mesh](https://github.com/waku-org/go-libp2p-pubsub/pull/1) - [chat] improve relay peer connectivity and refactor peerManager to support lightMode [feat: modify peer-manager to consider relay target peers](https://github.com/waku-org/go-waku/pull/1135) - [chat] enable peerExchange in relay for better peer discovery [chore: enable pxClient in relay and increase relay peer connections](https://github.com/status-im/status-go/pull/5411) - [chat] fix peerExchange peer source and enable peerExchange in lightClient [fix: enable pxclient and filter peerExchange peers returned](https://github.com/status-im/status-go/pull/5350) - [chat] query store node when back from sleep: [missing communityRequestToJoin message](https://github.com/status-im/status-go/issues/5412) - [chat] IMO of what to do regarding receive reliability: [Receive message reliability for Status desktop](https://forum.vac.dev/t/receive-message-reliability-for-status-desktop/302) - next: - [chat] expose rpc methods to obtain list of peers by topic, and list of peers in mesh - [chat] lightClient topic health reporting and peer connectivity improvements - [chat] when back online only request from store node since last time not 24 hours - [chat] investigate connection management for outgoing messages - [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - achieved: - [chat] optimize filter subscriptions by aggregating them [feat: optimize filter subs](https://github.com/waku-org/go-waku/pull/1144) and [feat: aggregate filter subscriptions to do bulk subs with peer](https://github.com/status-im/status-go/pull/5440) - [nwaku] stress test on waku-simulator - next: - [nwaku] add rln support - [nwaku] run lite-protocol-tester on shards.staging - [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - achieved: - [chat] draft reliability for relay protocol spec [feat: reliability for relay protocol](https://github.com/waku-org/specs/pull/23) - [nwaku] carry on with the implementation in nwaku - [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - next: - [chat] continue with the reliability protocol - [nwaku] submit first PR in nwaku - [feat: enhance reliability thanks to StoreV3](https://github.com/waku-org/nwaku/issues/2819) - [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - achieved: - [nwaku] Accepted new lightpush protocol definition with detailed fail case support - [Enhance light push protocol](https://github.com/waku-org/pm/issues/93) - [js-waku] filter uses dynamic peer management [feat(filter): peer/subscription renewal with recurring Filter pings](https://github.com/waku-org/js-waku/pull/2052) - [js-waku] reliability with renewals due to offline state [feat!: improve offline state handling for Filter subscription](https://github.com/waku-org/js-waku/pull/2049) - [js-waku] reliability RFC [Add "req-res protocol reliability" spec](https://github.com/waku-org/specs/pull/18) - next: - [nwaku] Implement: [feat: Enhance lightpush protocol error handling](https://github.com/)waku-org/nwaku/issues/2722 - [js-waku] reliability RFC [Add "req-res protocol reliability" spec](https://github.com/waku-org/specs/pull/18) - [js-waku] reliability with renewals due to offline state [feat!: improve offline state handling for Filter subscription](https://github.com/waku-org/js-waku/pull/2049) - [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - achieved: - [js-waku] minor improvements to [feat: add first version of dogfooding app](https://github.com/waku-org/lab.waku.org/pull/68) and getting unblocked with latest nwaku release - [Review MVDS usage and fail path](https://github.com/waku-org/pm/issues/189) - achieved: - [chat] reset MVDS epoch after peer is back online [Reset MVDS epoch after peer is online](https://github.com/status-im/status-go/pull/5349) - next: - [chat] continue mvds review ## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - achieved: - [research] started exploring POC in go-waku as an example application - [research] researched Vac’s de-MLS protocol for possible integration - next: - [research] continue with the POC starting with a minimal working version first - blockers: ## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - achieved: - [nwaku] added origin of peers in admin rest endpoint as per request, to debug and further understand discovery performance [chore: adding origin to peers admin endpoint](https://github.com/waku-org/nwaku/pull/2848) - [nwaku] discussed with nim-libp2p team and tested a version of logging errors on publish to understand how often messages are not sent without returning errors ## [Milestone - Scale 1:1 chat messages PoC](https://github.com/waku-org/pm/milestone/35) - [RLNv2 in nwaku](https://github.com/waku-org/pm/issues/204) - achieved: - [research] RLNv2 config for the Waku Network: [chore: add TWN parameters for RLNv2](https://github.com/waku-org/nwaku/pull/2843) - [research] bug fix in RLN, vulnerability: [fix(rln): nullifierlog vulnerability](https://github.com/waku-org/nwaku/pull/2855) - next: - [research] assist to deploy 0.30.0 release and integrate it in The Waku Network - [Maturing RLN variables/parameters revision](https://github.com/waku-org/pm/issues/205) - achieved: - [research] continuing the execution of RLN in resource-restricted network: [[Epic: Dogfooding] Deliver RLN v2 + RLN in resource-restricted to The Waku Network](https://github.com/waku-org/pm/issues/168) - [research] simulations using the waku simulator for different purposes - [research] expanded RLNv2 testing, assisted with simulating and debugging vulnerabilities - next: - [research] assist to deploy 0.30.0 release and integrate it in The Waku Network - [research] complete execution of RLNv2 test scenarios - [Pay for RLN provision first PoC](https://github.com/waku-org/pm/issues/207) - achieved: - [research] added chain interaction to incentivization POC - next: - [research] draft a specification for RLN mainnet deployment ## Other Work ## Enhancements - achieved: - [nwaku] deployment of release v0.30.1, which adds RLNv2 - [js-waku] prepare for next release - next: - [js-waku] release last reliability improvements ## Bugs - achieved: - [chat] [fix: panic due to enr having more than 300 bytes](https://github.com/waku-org/go-waku/pull/1140) - [chat] [fix: ignore ws from circuit relay addresses, and allow non multiaddresses in multiaddrs ENR key](https://github.com/waku-org/go-waku/pull/1141) - [chat] [fix failing wakuv2 tests](https://github.com/status-im/status-go/pull/5444) - [nwaku] [bug: build error on new AMD cpu's](https://github.com/waku-org/nwaku/issues/2560) - [nwaku] Various bug fixes: - From chat team: - [bug: timestamp should be set to 0 if not provided in REST API](https://github.com/waku-org/nwaku/issues/2625) - [bug: Store REST API returns invalid digest](https://github.com/waku-org/nwaku/issues/2615) - From Vac-QA: - [bug: Some PeerStore metadata is not filled in](https://github.com/waku-org/nwaku/issues/2591) - [bug: PeerInfo instance affects listed protocols](https://github.com/waku-org/nwaku/issues/2590) - [bug: Lightpush's publish type error](https://github.com/waku-org/nwaku/issues/2253) - [bug: Relay publish returns Failed to publish: timedout when a peer filter node is disconnected](https://github.com/waku-org/nwaku/issues/2319) - [bug: Test failure on test_all](https://github.com/waku-org/nwaku/issues/2304) - [handle rln_msg_limit issue](https://github.com/waku-org/nwaku/issues/2822) - Nim 2.0 readiness: - [nwaku] [bug: incorrect import paths pointing outside the repository](https://github.com/waku-org/nwaku/issues/2845) - next: - [nwaku] [peer exchange returns nodes that no longer exist](https://github.com/waku-org/nwaku/issues/2414)