every.channel/evolution/proposals/ECP-0066-iroh-control-protocol.md

1.5 KiB

ECP-0066: iroh-Gossip Control Protocol For Hybrid MoQ Discovery

Status: Draft

Decision

Add a first-party control protocol carried over iroh-gossip to advertise stream availability across multiple transport paths:

  • MoQ relay (WebTransport URL + broadcast name + track),
  • iroh direct (EndpointAddr + broadcast name + track).

ec-node will expose:

  1. control-announce: publish control announcements to an iroh gossip topic.
  2. control-listen: subscribe to the topic and print announcements.
  3. Optional integration in wt-publish to announce relay-published streams via the same control topic.

Motivation

We currently have two transport worlds:

  • relay-centric (wt-publish),
  • direct iroh (moq-publish / moq-subscribe).

Discovery is fragmented. A shared iroh control channel makes transport selection explicit and allows consumers to discover either path (or both) from one substrate.

Scope

In scope:

  • New control protocol data types in ec-core.
  • New ControlGossip helper in ec-iroh.
  • New CLI surfaces in ec-node for announce/listen.
  • Optional relay announcement from wt-publish.

Out of scope:

  • Policy engine for automatic best-path selection.
  • Security policy beyond existing iroh/gossip trust boundaries.
  • Replacing existing catalog gossip immediately (coexist first).

Rollout / Reversibility

  • Additive and reversible: removing control commands and topic does not affect existing media paths.
  • Existing MoQ publish/subscribe flows continue unchanged.