Jetstream: Shrinking the AT Protocol Firehose by >99%
Jetstream design and compression choices
- Jetstream is an unofficial optimization layer over the AT Protocol firehose, converting protocol events into simpler JSON for easier consumption.
- Two modes exist: uncompressed JSON and Zstandard (zstd) with a custom dictionary; compressed mode shrinks bandwidth by >99% according to the article.
- Some argue there’s no need for an uncompressed stream in a new protocol; others say uncompressed is simpler for local/testing use and for generic tools (websocat, pipes) that expect plain JSON.
- Compressed mode requires clients to know the custom zstd dictionary, which is seen as a usability barrier for ad‑hoc or language‑agnostic consumers.
WebSockets vs SSE and compression strategy
- One camp suggests Server-Sent Events plus gzip for simplicity and standard tooling.
- Others counter that zstd with a shared dictionary gives better compression at this scale and enables “compress once, serve many,” reducing server CPU.
- WebSocket tooling is described as more mature and ergonomic than SSE in most languages.
Security, verification, and “throwing features away”
- Critics worry Jetstream trades away important security and integrity properties from the full firehose (signatures and MST proofs) for performance and ease of use.
- The full firehose allows verifying that repo updates are signed and non‑omitting; Jetstream’s reduced stream omits these guarantees.
- Some ask whether parts of these security features could be reintroduced while keeping Jetstream’s simplicity.
Federation, centralization, and relays vs ActivityPub
- A major thread debates whether AT Protocol is “really federated” if large, central relays are practically required for discovery and aggregated views.
- Defenders say:
- PDS (personal data servers) are the true sources of truth; relays are “trustless aggregators” and an optimization.
- Clients can in principle fetch directly from PDSs (pull-based model), similar to ActivityPub, but then inherit ActivityPub-like discovery problems.
- Critics respond that in practice the main relay is central and critical, and that running without it is unsupported or impractical.
Scale, cost, and performance
- Pre-surge firehose volume was ~24 GB/day; a surge took it to ~232 GB/day, with relay peak output >8.5 Gbps to 250+ subscribers.
- Some argue the raw bandwidth (tens of Mbps) is cheap, so dev time on compression seems overkill.
- Others note:
- Bandwidth multiplies across many subscribers; compression extends how long a single, unsharded firehose remains viable.
- Hobbyists can reportedly run full relays for roughly €75–$150/month.
- Jetstream makes the ecosystem more approachable for small operators and developers.
Naming and terminology confusion
- Multiple commenters initially misread “AT Protocol” as Hayes modem AT commands and “Jetstream” as NATS JetStream, highlighting naming collisions and jargon assumptions.
- Some feel the article should have introduced AT Protocol more clearly for a general audience.