Waku 2024 H2 Roadmap update (#117)

This commit is contained in:
fryorcraken 2024-09-25 14:16:23 +10:00 committed by GitHub
parent cf15d89a7c
commit 987f2d2f67
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 125 additions and 81 deletions

View File

@ -10,11 +10,12 @@ Colour legend:
- **Red**: engineering work to deliver the feature. - **Red**: engineering work to deliver the feature.
- Other: test and telemetry work to ensure quality - Other: test and telemetry work to ensure quality
Anything prefixed `TBC` is pending confirmation of estimate with the team. Prefix legend:
- `TBC`: Yet to be scheduled or estimation needs to be locked in.
Completion dates are delivery of the code + **dogfooding**. Completion dates are delivery of the code + **dogfooding**.
If too hard to read, try to see this fine in [GitHub](https://github.com/logos-co/roadmap/blob/v4/content/waku/2024-gantt.md). If too hard to read, try to see this file in [GitHub](https://github.com/logos-co/roadmap/blob/v4/content/waku/2024-gantt.md).
```mermaid ```mermaid
gantt gantt
@ -22,94 +23,137 @@ gantt
axisFormat %d-%b axisFormat %d-%b
weekday monday weekday monday
%% Team legend:
%% task name: team (accountable person)
%% - r-*: research (jm-clius)
%% - t-*: telemetry (fryorcraken)
%% - n-*: nwaku (ivansete)
%% - j-*: js-waku (weboko)
%% - c-*: chat (plopezlpz)
%% - g-*: go-waku (fryorcraken)
%% - bd-*: BD (pedro)
%% - se-*: Solution Engineer (vpavlin)
%% Milestones overview with deliverables %% Milestones overview with deliverables
section Store Service Upgrade section Store Service Upgrade
Store v3-beta (msg hash): crit, milestone, after storev3-br, 0 Store v3 (sync): crit, milestone, after r-storev3sync n-storev3sync, 0
Store v3 (sync): crit, milestone, after storev3-r storev3-g storev3-n, 0 DoS protection for req-res protocols: crit, milestone, after n-dosreqres g-dosreqres, 0
DoS protection for req-res protocols: crit, milestone, after dosreqresn dosreqresj dosreqresg, 0 PostgreSQL maintenance: crit, milestone, after n-pgsql-m, 0
PostgreSQL maintenance: crit, milestone, after pgsql, 0
(metric) Count store messages: milestone, after count-store-msg, 0
section Direct Message Reliability section Direct Message Reliability
(testing) direct messages: milestone, after test-direct-msg, 0 (telemetry) direct message reliability: milestone, after t-d-msg-rel-1 t-d-msg-rel-2, 0
Review connection management: crit, milestone, after review-conn-mgmt-1 review-conn-mgmt-2, 0 Reliability Protocol for Resource-Restricted Clients: crit, milestone, after j-rel-reqres-1 j-rel-reqres-2, 0
(tooling) filter and light push protocols: milestone, after lite-proto-tester, 0 Review MVDS usage and fail path: crit, milestone, after c-mvds, 0
(telemetry) Fleet logging: milestone, after telem-fleet-logging, 0 PostgreSQL optimisation - phase 1: milestone, after n-pgsql-opt-1, 0
(telemetry) direct message reliability: milestone, after telem-d-msg-rel, 0
Reliability Protocol for Relay: crit, milestone, after rel-relay-g rel-relay-n, 0
Reliability Protocol for Resource-Restricted Clients: crit, milestone, after rel-reqres-g rel-reqres-j, 0
Review MVDS usage and fail path: crit, milestone, after mvds, 0
TBC User apps for large scale dogfooding: milestone, after user-app-gui, 0
section E2e reliability protocol section E2e reliability protocol
(telemetry) Multicast message reliability: milestone, after telem-m-msg-rel, 0 E2e reliability protocol PoC: milestone, crit, after r-e2e-rel, 0
E2e reliability protocol PoC: milestone, crit, after e2e-rel-r, 0 E2e reliability protocol Status integration: milestone, crit, after r-e2e-rel-status c-e2e-rel-status, 0
E2e reliability protocol Status integration: milestone, crit, after e2e-rel-g, 0
section Static Sharding - dedicated shards section Static Sharding - dedicated shards
(telemetry) Measure Bandwidth: milestone, after telem-bandwidth, 0 (telemetry) Measure Bandwidth: milestone, after t-bandwidth, 0
Sharding peer mgmt and discovery hardening: crit, milestone, after sh-peer-mgmt-j sh-peer-mgmt-n sh-peer-mgmt-g, 0 (telemetry) Sharding: milestone, after t-sharding, 0
(testing) Custom shard impl of Communities: milestone, after test-custom-shard, 0 Sharding peer mgmt and discovery hardening: crit, milestone, after n-shard-peer-mgmt g-shard-peer-mgmt, 0
(testing) Custom shard impl of Communities: milestone, after c-test-custom-shard, 0
PostgreSQL optimisation - phase 2: milestone, after n-pgsql-opt-2, 0
Setup Waku Community on dedicated shard with pre-shared key dos protection: milestone, after waku-com, 0
section Bandwidth optimisation and Communities protocol review
%% For now same person scheduled to do both research and implementation
Minimal Community Specification and Implementation: milestone, after r-min-com-spec c-min-com-spec, 0
Review usage of content topics in Status Communities protocol: milestone, after r-cont-topic, 0
Specify de-MLS over Waku: milestone, after r-demls-spec, 0
%% TODO: schedule
TBC Telemetry review: milestone, after r-telem-review, 0
TBC Minimal solution for greedy messages: milestone, after r-min-sol-com, 0
TBC Define long-term solution: milestone, after r-define-com-sol, 0
section Nwaku in Status Desktop (Relay mode)
Nwaku on Windows: milestone, after n-nwaku-windows, 0
Nwaku in Status Desktop: milestone, after n-nwaku-status-desktop, 0
section RLN Mainnet
Implement RLN smart contract for paid, multilevel memberships: milestone, after r-rln-sc n-rln-sc j-rln-sc, 0
Public dogfooding RLNaaS web app: milestone, after j-pub-dogfood-web-app-1 j-pub-dogfood-web-app-2, 0
section Scale up number of Communities
Usage of rendezvous: milestone, after r-rendezvous, 0
section Incentivise running a Waku infrastructure node
RLN Relay Incentivisation: milestone, after r-rln-relay-incent, 0
Service Incentivisation: milestone, after r-svc-incent, 0
section Demonstrate product market-fit
Define cost (self-host): milestone, after bd-define-cost, 0
Define potential USPs: milestone, after bd-define-usps, 0
Define target customers: milestone, after bd-define-custs, 0
Customer interviews: milestone, after cust-int, 0
Co-design sessions: milestone, after bd-codesign se-codesign, 0
Review Waku MVP: milestone, 2025-01-15, 0
%% Tasks %% Tasks
section golang eng 1 section Chat.plopezlpz
%% Estimation TBC - Prem says fine, waiting on 2nd opinion (testing) Custom shard impl of Communities: c-test-custom-shard, 2024-08-26, 2024-09-30
TBC Review connection management: crit, review-conn-mgmt-1, 2024-05-13, 8w Setup Waku Community on dedicated shard with pre-shared key dos protection: waku-com, after c-test-custom-shard, 2w
Review MVDS usage and fail path: crit, mvds, after review-conn-mgmt-1, 6w section Chat.kaichaosun
Investigation and fixing of bugs discovered during dogfooding/usage/simulations: go-bugs-1, after mvds, 8w Review MVDS usage and fail path: crit, c-mvds, 2024-08-01, 2024-09-30
section golang eng 2 Minimal Community Specification and Implementation: c-min-com-spec, after c-mvds, 12w
Reliability Protocol for Relay (go): crit, rel-relay-g, 2024-05-13, 12w section Go.richard-ramos
(testing) direct messages: test-direct-msg, after rel-relay-g, 4w Implement RLN smart contract for paid, multilevel memberships: r-rln-sc, 2024-09-01, 6w
TBC (testing) Custom shard impl of Communities: test-custom-shard, after test-direct-msg, 4w Nwaku in Status Desktop: n-nwaku-status-desktop, after n-rln-sc, 2025-01-31
%% TBC estimate Status Support: status-support-rr, 2024-09-01, 2024-12-31
TBC E2e reliability protocol Status integration: crit, e2e-rel-g, after e2e-rel-r, 6w section Go.chaitanyaprem
section golang eng 3 DoS Protection for Req-Res Protocols: crit, g-dosreqres, 2024-08-01, 2024-09-15
Store v3 (go-waku client only): crit, storev3-g, 2024-02-26, 2024-05-24 Sharding peer mgmt and discovery hardening: crit, g-shard-peer-mgmt, 2024-08-26, 2024-09-12
%% Estimate TBC - assuming parallel work possible Review usage of content topics in Status Communities protocol: r-cont-topic, after g-shard-peer-mgmt, 10w
TBC Review connection management: crit, review-conn-mgmt-2, after storev3-g, 8w section EcoDev.vpavlin
Sharding peer mgmt and discovery hardening (go-waku): crit, sh-peer-mgmt-g, after review-conn-mgmt-2, 8w (telemetry) direct message reliability: t-d-msg-rel-1, 2024-08-26, 2024-09-25
section golang eng 4 (telemetry) Measure Bandwidth: t-bandwidth, after t-d-msg-rel-1, 8w
Store v3 (sync): crit, 2024-02-08, 2024-04-26 %% TODO: do bandwidth telemetry?
Reliability Protocol for Resource-Restricted Clients (go): crit, rel-reqres-g, 2024-05-13, 10w E2e reliability protocol Status integration: crit, c-e2e-rel-status, after r-e2e-rel, 6w
(metric) Count store messages: count-store-msg, after rel-reqres-g, 2w %% TODO: fit that properly
Investigation and fixing of bugs discovered during dogfooding/usage/simulations: go-bugs-2, after count-store-msg, 8w Specify de-MLS over Waku: r-demls-spec, 2024-10-01, 4w
section golang eng 5 Co-design sessions: bd-codesign, after cust-int, 2024-11-15
DoS protection for req-res protocols (go-waku client only): crit, dosreqresg, 2024-05-20, 4w section Go.adklempner
(telemetry) Multicast message reliability: telem-m-msg-rel, after dosreqresg, 4w (telemetry) direct message reliability: t-d-msg-rel-2, 2024-08-01, 2024-09-25
section golang eng 6 (telemetry) sharding: t-sharding, after t-d-msg-rel-2, 4w
(telemetry) direct message reliability: telem-d-msg-rel, 2024-05-13, 6w section Test.stubbsta
(telemetry) Measure Bandwidth: telem-bandwidth, after telem-d-msg-rel, 8w (simulation) Functionality and stress test store v3: sim-storev3, 2024-07-08, 8w
section test eng 1 (simulation) Functionality and stress test store v3 sync: sim-storesync, 2024-09-01, 10w
Peer and connection management tests: sim-conn-mgmt, 2024-05-13, 4w (simulation) Reliability performance impact: sim-rel, after sim-storesync, 10w
(simulation) Functionality and stress test store v3: sim-storev3, after sim-conn-mgmt, 4w section Res.shash256
%% This is Store Service Upgrade - item (2) in DST simulation - start with small scale to get faster results E2e reliability protocol - PoC: crit, r-e2e-rel, 2024-08-01, 2024-09-06
(simulation) Compare store topologies: sim-store-cmp, after sim-storev3, 6w E2e reliability protocol Status integration: r-e2e-rel-status, after r-e2e-rel, 10w
(simulation) relay reliability performance impact: sim-relay-rel, after sim-store-cmp sim-req-res rel-relay-g rel-relay-n, 4w section Res.sionois
(simulation) req-res reliability performance impact: sim-reqres-rel, after sim-relay-rel rel-reqres-g, 6w
section research eng 1
End-to-end reliability protocol - PoC: crit, e2e-rel-r, 2024-05-23, 20w
section research eng 2
%% Only dogfooding remaining %% Only dogfooding remaining
Store v3-beta (msg hash): crit, storev3-br, 2024-01-01, 2024-05-23 Store v3 (sync): crit, r-storev3sync, 2024-08-01, 2024-09-20
Store v3 (sync) research + RFC: crit, storev3-r, 2024-03-25, 14w
Store v3 - follow-up: after storev3-r, 8w Store v3 - follow-up: after storev3-r, 8w
Peer mgmt - follow-up: after storev3-r, 8w Peer mgmt - follow-up: after storev3-r, 8w
section nim eng 1 Usage of rendezvous: r-rendezvous, after r-storev3sync, 8w
PostgreSQL Maintenance: crit, pgsql, 2024-01-01, 2024-07-31 section Res.alrevuelta
Reliability Protocol for Relay (nwaku + RFC): crit, rel-relay-n, 2024-06-19, 12w RLN Relay Incentivisation: r-rln-relay-incent, 2024-09-01, 2024-12-31
section nim eng 2 section Res.s-tikhomirov
DoS Protection for Req-Res Protocols: crit, dosreqresn, 2024-02-01, 18w Implement RLN smart contract for paid, multilevel memberships: rln-sc-d, 2024-09-01, 6w
(tooling) filter and light push protocols: lite-proto-tester, 2024-05-13, 2024-07-03 Service Incentivisation: r-svc-incent, 2024-09-01, 2024-12-31
Store v3-beta + v3 (dogfooding placeholder): storev3-df, after storev3-br storev3-r, 4w section Nim.Ivansete
%% More hardening expected to deprecate or separate store v2 from v3 driver Store v3 (sync): crit, n-storev3sync, 2024-08-15, 2024-09-20
PostgreSQL Maintenance: crit, n-pgsql-m, 2024-08-01, 2024-09-18
%% TODO review date/estimate
PostgreSQL Optimisation - phase 1: n-pgsql-opt-1, after n-pgsql-m, 6w
PostgreSQL Optimisation - phase 2: n-pgsql-opt-2, after n-pgsql-opt-1, 8w
Nwaku in Status Desktop: n-nwaku-status-desktop-2, after n-pgsql-opt-1, 6w
section Nim.NagyZoltanPeter
DoS Protection for Req-Res Protocols: crit, n-dosreqres, 2024-08-01, 2024-09-15
%% TODO review
TBC Store v3-beta + v3 (nwaku hardening): crit, storev3-n, after storev3-df dosreqresn, 3w TBC Store v3-beta + v3 (nwaku hardening): crit, storev3-n, after storev3-df dosreqresn, 3w
(telemetry) Fleet logging: telem-fleet-logging, after dosreqresn, 4w Nwaku in Status Desktop: n-nwaku-status-desktop-n, after storev3-n, 12w
section nim eng 3 section Nim.gabrielmer
Sharding peer mgmt and discovery hardening (nwaku): crit, sh-peer-mgmt-n, 2024-05-13, 12w Sharding peer mgmt and discovery hardening: crit, n-shard-peer-mgmt, 2024-08-01, 2024-09-12
section js eng 1 section Nim.darshankabariya
Reliability for Req-Res Protocols (light client + RFC): crit, rel-reqres-j, 2024-05-01, 12w %% TODO: review estimate
section js eng 2 Nwaku on Windows: n-nwaku-windows, 2024-08-15, 6w
%% Buidling idle apps and integrating in telemetry service to learn section Js.weboko
Reliability for Req-Res Protocols (light client + RFC): crit, rel-reqres-j, 2024-05-01, 12w Reliability Protocol for Resource-Restricted Clients: crit, j-rel-reqres-1, 2024-08-01, 2024-09-13
Sharding peer mgmt and discovery hardening (light client + RFC): crit, sh-peer-mgmt-j, 2024-06-01, 12w Public dogfooding RLNaaS web app: j-pub-dogfood-web-app-1, after j-rel-reqres-1, 8w
section js eng 3 (dev rel) Implement RLN smart contract (js-waku): j-rln-sc, after j-pub-dogfood-web-app-1, 10w
%% TBC timing and estimate section Js.danisharora099
TBC User apps for large scale dogfooding - GUI and Gamification: user-app-gui, 2024-06-01, 4w Reliability Protocol for Resource-Restricted Clients: crit, j-rel-reqres-2, 2024-08-01, 2024-09-13
Public dogfooding RLNaaS web app: j-pub-dogfood-web-app-2, after j-rel-reqres-2, 8w
section BD.pedro
Define cost (self-host): bd-define-cost, 2024-08-01, 2024-11-30
Define potential USPs: bd-define-usps, 2024-09-01, 2024-11-30
Define target customers: bd-define-custs, 2024-09-01, 2024-09-30
Customer interviews: cust-int, after bd-define-custs, 2024-10-31
Co-design sessions: bd-codesign, after cust-int, 2024-11-15
``` ```