AI Initiative logoAI Initiative
Reading room / Manthan

Manthan Gossip Demo (Phase 3 — The Void Network)

Manthan Gossip Demo (Phase 3 — The Void Network). Covers What this demonstrates; Run; Sample output; What the MWP handshake does.

Project explanation / technical method
This is the retained source text, not a new validation of its claims. Numerical results and comparative claims require the accompanying source review before public reuse.

Read the connected case study or article →

Not explicitly stated in source · Date not established

Provenance, authorship and editorial notes

Manthan Gossip Demo (Phase 3 — The Void Network)

Id

manthan-herald-protocol-demo-manthan-gossip-readme

Project

Manthan

Source path

manthan/herald-protocol/demo/manthan-gossip/README.md

Source sha256

9c5b8a5fe2c4f406eb72255fc0ed39c072fb537fa9be3b67efe1a6afeea8bf61

Local copy sha256

9c5b8a5fe2c4f406eb72255fc0ed39c072fb537fa9be3b67efe1a6afeea8bf61

Repo head

3a94084024a3434cef331fecac91c2c3b43f0313

Date
Not recorded
Date basis

Original publication date not established; Git revision date retained separately.

Author

Not explicitly stated in source

Author basis

Unknown; Git committer not substituted for document author.

Last source commit

8b75d1b0157c20a0a463f0e31008ef9f73099beb

Last source commit date

2026-06-08T07:40:14Z

Document status

Project explanation / technical method

Summary

Manthan Gossip Demo (Phase 3 — The Void Network). Covers What this demonstrates; Run; Sample output; What the MWP handshake does.

Topics
  • Exploration architecture and selection
  • What this demonstrates
  • Run
  • Sample output
Theme

Exploration architecture and selection

Priority

deep

Related ids
  • manthan-readme
  • manthan-docs-architecture
  • manthan-docs-business-overview
  • manthan-docs-demo-walkthrough
  • manthan-docs-principles
  • manthan-docs-qd-measurement-direction-plan
  • manthan-docs-swarm-evolution-integration
Evidence concerns
  • Recovered source text is preserved verbatim. Assertions, comparisons, commands and results belong to its original context; they were not re-executed or externally re-verified during this corpus review.
Word count

674

Bytes

5217

Source relative

herald-protocol/demo/manthan-gossip/README.md

Remote mirror

manthan/herald-protocol/demo/manthan-gossip/README.md

Full text preserved

True

Manthan Gossip Demo (Phase 3 — The Void Network)

Phase 3 deliverable per the Manthan platform tracker §3 (P-004 + P-005a). Three Manthan nodes communicate over real WebSocket connections using the MWP handshake (G-005) and ENVELOPE_GOSSIP frames (G-006).

What this demonstrates

1. Three independent nodes (Alice, Bob, Carol), each running:
- Its own SQLite ledger (G-010 schema)
- Its own MWP server on an ephemeral port
- Outbound MWP client connections to one peer (forming a ring)
2. Three WebSocket connections / six local MWP session objects (one inbound + one outbound at each node) established via the three-message handshake (HELO → HELO_ACK → HELO_ACK_2) with mutual transcript signatures.
3. Controlled gossip propagation: Alice and Bob originate envelopes; neighbors relay them across the local mesh.
4. Dedupe: when an envelope reaches a node from multiple paths, only the first ingestion is recorded and duplicate frames are counted.
5. Persistence: every received envelope lands in the receiver's SQLite ledger in seen state.

Run

cd demo/manthan-gossip
node --experimental-strip-types src/gossip.ts

Sample output

=== Manthan Gossip Demo (Phase 3 — The Void Network) ===
Alice  sigil:...
Bob    sigil:...
Carol  sigil:...

Ports: Alice=51595 Bob=51596 Carol=51597

[Alice] session established (outgoing→Bob)
[Bob]   session established (incoming)
[Bob]   session established (outgoing→Carol)
[Carol] session established (incoming)
[Carol] session established (outgoing→Alice)
[Alice] session established (incoming)

--- gossip start ---
[Alice] originating envelope id=691bf0b09822… to=Bob
[Bob]   received envelope id=691bf0b09822… from Alice
[Carol] received envelope id=691bf0b09822… from Alice

[Bob]   originating envelope id=f0f8cd394925… to=Carol
[Alice] received envelope id=f0f8cd394925… from Bob
[Carol] received envelope id=f0f8cd394925… from Bob

=== ledger state ===
Alice   seen:1 verified:1  unique-ids-seen=2 duplicate-frames-dropped=...
Bob     seen:1 verified:1  unique-ids-seen=2 duplicate-frames-dropped=...
Carol   seen:2 verified:0  unique-ids-seen=2 duplicate-frames-dropped=...

dedupe verified: dropped ... duplicate frame(s)

shutting down…

The final assertions confirm each node tracked exactly two distinct envelopes, and the duplicate-frame counter confirms dedupe was actually exercised.

What the MWP handshake does

Per G-005, each pair-wise session is established by:

1. HELO — initiator sends version, sigil, fresh nonce, supported envelope/artifact/role types, max frame size.
2. HELO_ACK — responder replies with its own sigil, fresh nonce, the intersection of supported sets, plus transcript_signature (Ed25519 over CBOR-canonical(HELO || HELO_ACK_core)).
3. HELO_ACK_2 — initiator counter-signs the same transcript and emits.
4. Both sides derive session_id = SHA-256(transcript)[0..16].
5. Subsequent frames carry session_id + monotonic seq per direction; non-monotonic seq closes the session immediately.

This defends against:

Test coverage

What this is NOT

Cross-references

Continue exploring