Milestone - Store Service Upgrade
-
Store v3-beta - Message Hashes
- achieved:
- [nwaku] PR bug fixes
- [chat] hash based query for outgoing messages https://github.com/status-im/status-go/pull/5217
- blockers:
- [chat] awaiting reviews
- [chat] unable to reproduce CI failures
- achieved:
-
Store v3 - store synchronisation
- achieved:
- [nwaku] waku-simulator testing
- [chat] Dogfooding and fixes for routine that checks for missing messages https://github.com/status-im/status-go/pull/5281
- blockers:
- [chat] awaiting reviews
- [chat] unable to reproduce CI failures
- achieved:
-
DOS protection for req-res protocols and metrics
- achieved:
- [nwaku] Rate limit phase3: implemented per peer request rate checks
- [nwaku] BW metrics per shard: implemented per shard metric collection
- next:
- [nwaku] Rate limit phase3: Some polishing and test cases needed to finish
- [nwaku] Rate limit phase3: add rate limit metrics to dashboard
- [nwaku] BW metrics per shard: needs some tests and add section onto dashboard
- achieved:
-
- achieved:
- [nwaku] enhance partition creation: https://github.com/waku-org/nwaku/issues/2783
- [nwaku] validate that time retention policy works well: https://github.com/waku-org/nwaku/issues/2807
- achieved:
Milestone - Direct Message Reliability
-
Enable testing of direct messages
- achieved:
- [chat] set up nightly tests & 1:1 messages tests https://github.com/status-im/status-cli-tests/pull/1
- [chat] set up nightly tests for contact requests https://github.com/status-im/status-cli-tests/pull/3
- [chat] CLI bugs and improvements for usage in nightly tests https://github.com/status-im/status-go/issues/5266
- next:
- [chat] set up nightly tests for group chats and community join requests
- [chat] investigate remaining tests failing
- achieved:
-
Review connection management strategy and back-off and fix long disconnection issues
- achieved:
- [chat] Pause peer connector if node is offline https://github.com/status-im/status-go/pull/5340, https://github.com/waku-org/go-waku/pull/1125
- [chat] Fix usage of context for DiscV5 https://github.com/status-im/status-go/pull/5347
- [chat] Fix in status-go to filter peers by shard
- [chat] Dogfood light client with peer exchange enabled
- next:
- [chat] Investigate / fix DiscV5 not finding valid peers in shards.test fleet
- [chat] make filter working along with peer exchange and debug connectivity issues with peers returned via peerExchange
- achieved:
-
Tooling: filter and light push protocols
- achieved:
- [nwaku] lite-protocol-tester works on waku-simulator
- [nwaku] configurable stress conditions
- [nwaku] intensive stress test had been ran (45 nodes (relay + service nodes) + multiple publisher light client and a filter client receiver)
- [nwaku] ran with different conditions
- [nwaku] in co-op with Alberto analyzing topology and message flows
- next:
- [nwaku] exclude docker limitations from the seen failed message deliveries
- achieved:
-
Telemetry: direct message reliability
- achieved:
- [nwaku] implemented two different ways to log received message information. One based on libp2p observers https://github.com/waku-org/nwaku/pull/2800 which we won’t use in practice. And one by adding the logs in a new nim-libp2p branch https://github.com/vacp2p/nim-libp2p/pull/1128
- achieved:
-
Reliability Protocol for Relay
- achieved:
- [nwaku] started to look at the current status-go implementation
- next:
- [nwaku] carry on with the implementation in nwaku - https://github.com/waku-org/nwaku/issues/2819
- achieved:
-
Reliability Protocol for Resource-Restricted Clients
- achieved:
- [chat] Improve filter subscription management in LightClient: various fixes wrt filter subscriptions and making lightNode work with peerExchange enabled https://github.com/status-im/status-go/pull/4665
- [chat] dogfooding light client in desktop
- [chat] fixed issue found while dogfooing, remove stale subs and update ping interval https://github.com/waku-org/go-waku/pull/1119
- [js-waku] improved peer management for light push protocol https://github.com/waku-org/js-waku/issues/2002
- [js-waku] worked on updating js-waku to store v3 https://github.com/waku-org/js-waku/issues/2029
- [js-waku] improving offline recoverability for Filter https://github.com/waku-org/js-waku/issues/2024
- next:
- [js-waku] continue with moving to store v3 https://github.com/waku-org/js-waku/issues/2029
- [js-waku] continue with offline recoverability for Filter https://github.com/waku-org/js-waku/issues/2024
- achieved:
-
User apps for large scale dogfooding
- achieved:
- [js-waku] settled on the base implementation of dogfooding app https://github.com/waku-org/lab.waku.org/pull/68
- next:
- [js-waku] provide front end for dogfooding app
- [js-waku] provide basic telemetry framework
- achieved:
-
Review MVDS usage and fail path
- achieved:
- [chat] draft changes for reset MVDS epoch for online peers https://github.com/status-im/status-go/pull/5349
- next:
- [chat] continue MVDS review https://github.com/orgs/waku-org/projects/33
- achieved:
Milestone - End-to-end reliability protocol
- End-to-end reliability protocol - PoC
- achieved:
- [nwaku] continued gathering wide input on e2e reliability proposal: https://forum.vac.dev/t/end-to-end-reliability-for-scalable-distributed-logs/293/
- [nwaku] performed basic calculations to understand mathematical properties of proposed protocol, probabilistic model
- next:
- [nwaku] stakeholders sync on next steps
- [nwaku] set scope for POC implementation
- achieved:
Milestone - Static Sharding - dedicated shards
- Sharding peer management and discovery hardening
- achieved:
- [nwaku] start testing and investigating discv5 performance and possible issues https://github.com/waku-org/nwaku/issues/2810
- [nwaku] started deep review of peer manager logic opened PR with small fix to be able to update peers’ ENRs https://github.com/waku-org/nwaku/pull/2818
- [nwaku] reproduced with DST team issues forming stable mesh https://github.com/waku-org/nwaku/issues/2780 and analyzed logs. Found that connections aren’t being answered and started investigating a prospective problematic place in the code.
- next:
- [nwaku] continue with discv5 and peer manager investigations
- [nwaku] continue investigating issuer forming a stable mesh
- achieved:
Milestone - Scale 1:1 chat messages PoC
- RLNv2 in nwaku
- achieved:
- [research] Published The Waku Simulator book: https://waku-org.github.io/waku-simulator/. It explains how to use waku-simulator to test different scenarios.
- [research] completed RLNv2 test plan, waku-simulator updates
- next:
- [research] Integrate waku spammer: https://github.com/waku-org/nwaku/pull/2821
- [research] Assist with rlnv2 testing.
- [research] execute RLNv2 test plan
- achieved:
Other Work
Research
- [Deliverable] Store Incentivisation (first iteration/POC)
- [research] achieved: opened a PR for a PoC incentivization testing: https://github.com/waku-org/nwaku/pull/2816
- [research] next: start outlining a minimal specification for RLN-as-a-service
Reliability
- achieved
- [chat] Increase store query pagesize https://github.com/status-im/status-go/pull/5341
- [chat] Fix peer counter for statsu-desktop https://github.com/status-im/status-go/pull/5348
- [chat] Change order of rpc text input https://github.com/status-im/status-desktop/pull/15169