|
| 1 | +--- |
| 2 | + |
| 3 | +title: GossipSub Interoperability Framework |
| 4 | +tags: |
| 5 | + - "2026q4" |
| 6 | + - "p2p" |
| 7 | + - "ift" |
| 8 | +draft: false |
| 9 | +description: Expand continuous GossipSub interoperability testing across implementations |
| 10 | + |
| 11 | +--- |
| 12 | + |
| 13 | +`ift-ts:p2p:ift:2026q4-gossipsub-interop` |
| 14 | + |
| 15 | +## Description |
| 16 | + |
| 17 | +Evolve the existing GossipSub test plan into a reusable unified-testing |
| 18 | +framework, using [libp2p/test-plans#850](https://github.com/libp2p/test-plans/pull/850) |
| 19 | +as a starting point. Cover Go, Rust, JS, Python, Nim, Zig, and future |
| 20 | +implementations in mixed-language topologies across TCP, WebSocket, and native |
| 21 | +QUIC. Use unified-testing for protocol and transport debugging. |
| 22 | + |
| 23 | +Note that large-scale Shadow simulation seems to not work correctly with QUIC |
| 24 | + |
| 25 | +## Task List |
| 26 | + |
| 27 | +### Implementation And Transport Matrix |
| 28 | + |
| 29 | +* fully qualified name: `ift-ts:p2p:ift:2026q4-gossipsub-interop:matrix` |
| 30 | +* owner: not assigned yet |
| 31 | +* status: not started |
| 32 | +* start-date: 2026/10/01 |
| 33 | +* end-date: 2026/12/31 |
| 34 | + |
| 35 | +#### Description |
| 36 | + |
| 37 | +Build an extensible test matrix that runs mixed-language topologies and |
| 38 | +automatically exercises transport combinations. Ensure the framework can be |
| 39 | +used continuously by maintainers across implementations. |
| 40 | + |
| 41 | +#### Deliverables |
| 42 | + |
| 43 | +- Mixed-language GossipSub scenarios across the listed implementations |
| 44 | +- Automated TCP, WebSocket, and native QUIC combinations where supported |
| 45 | +- Documented workflow for adding implementations and running tests |
| 46 | + |
| 47 | + |
| 48 | +### Protocol Stability And Fault Injection |
| 49 | + |
| 50 | +* fully qualified name: `ift-ts:p2p:ift:2026q4-gossipsub-interop:stability` |
| 51 | +* owner: not assigned yet |
| 52 | +* status: not started |
| 53 | +* start-date: 2026/10/01 |
| 54 | +* end-date: 2026/12/31 |
| 55 | + |
| 56 | +#### Description |
| 57 | + |
| 58 | +Validate scoring, mesh maintenance, IHAVE/IWANT behavior, duplicate suppression, |
| 59 | +and consistent propagation. Run long-lived scenarios with joins, leaves, |
| 60 | +disconnects, reconnects, and churn, plus delayed peers, partitions, intermittent |
| 61 | +connectivity, and reconnect storms. |
| 62 | + |
| 63 | +#### Deliverables |
| 64 | + |
| 65 | +- Protocol behavior assertions across implementations |
| 66 | +- Long-running mesh stability and fault-injection scenarios |
| 67 | +- Reproducible failure reports for interoperability regressions |
| 68 | + |
| 69 | + |
| 70 | +### Metrics And Dashboard |
| 71 | + |
| 72 | +* fully qualified name: `ift-ts:p2p:ift:2026q4-gossipsub-interop:reporting` |
| 73 | +* owner: not assigned yet |
| 74 | +* status: not started |
| 75 | +* start-date: 2026/10/01 |
| 76 | +* end-date: 2026/12/31 |
| 77 | + |
| 78 | +#### Description |
| 79 | + |
| 80 | +Collect propagation latency, throughput, duplicate rate, and bandwidth use. |
| 81 | +Present standardized results so maintainers can compare releases and identify |
| 82 | +interoperability regressions. |
| 83 | + |
| 84 | +#### Deliverables |
| 85 | + |
| 86 | +- Comparable performance metrics from framework runs |
| 87 | +- Standardized dashboard with release comparisons and regression visibility |
0 commit comments