Privacy-Utility Trade-offs in Geo-Scoped P2P Traffic Dissemination
My master's thesis designs and evaluates a geo-scoped, peer-to-peer traffic and hazard information system built on iroh and iroh-gossip, quantifying how much operational utility is lost — and how much location privacy is gained — when traffic dissemination is decentralized instead of routed through a central broker. Alongside the research prototype, I built a real, usable navigation website with self-hosted routing for Basel and Tirana, live P2P traffic and hazard sharing, and nearby chat, all running with no central server in the loop.
Overview
Consumer navigation apps like Google Maps and Waze aggregate live location and traffic data through a centralized backend, giving one commercial entity continuous visibility into their entire user base's movement. This thesis designs and evaluates a decentralized alternative: mobile nodes turn local mobility measurements into short-lived, privacy-reduced road-segment speed and hazard observations, and exchange them directly with nearby peers over geographically-derived iroh-gossip topics — no central traffic-data collector in the loop.
Problem
Centralized traffic systems yield high-quality, low-latency estimates, but at the cost of giving one party continuous visibility into everyone's movement patterns. Can a peer-to-peer alternative deliver comparable operational utility — dissemination speed, traffic accuracy, route quality — while measurably reducing that location exposure?
Context
An ongoing MSc thesis at the University of Basel. Phase 1 (proposal and design: system architecture, four research questions, evaluation methodology) is complete, and a working prototype plus a real navigation-website addendum have already been implemented ahead of the full evaluation.
My Role
I designed the full system architecture and implemented every component of the Rust workspace end-to-end: the gossip protocol and privacy-reduced message schema, the geo-topic manager, the rendezvous/bootstrap service, a centralized-broker baseline for comparison, a synthetic mobility-simulation harness, a live monitoring dashboard, and a real navigation website with self-hosted routing and live P2P traffic/hazard sharing and chat.
Requirements
- A Rust P2P node built on iroh and iroh-gossip
- Geo-topic derivation and subscription strategy (H3 cells, not one permanent city-wide topic)
- A minimal rendezvous/bootstrap mechanism that never sees traffic observations or raw GPS
- Signed, TTL-bounded traffic and hazard messages with local deduplication and confidence aggregation
- A controlled centralized-broker baseline for fair comparison on identical input data
- A mobility-input bridge (synthetic grid simulation, standing in for SUMO/TraCI)
- Measurement instrumentation and reproducible experiment scripts
- At least one routing/ETA-usefulness experiment
Architecture
Each client pipeline runs: mobility input → local map matching → an observation reducer → a geo-topic manager deriving H3-cell-scoped gossip topics → the iroh-gossip actor → signature validation and deduplication → a local traffic-state store → a routing adapter applying a congestion-multiplier cost overlay → the map/alert client. See the pipeline diagram below. The rendezvous service sits alongside this pipeline and only ever maps geo-topic IDs to short-lived peer endpoints — never traffic data.
Implementation
Built as a Rust Cargo workspace of seven crates: a shared protocol library (message schema, pseudonymous signing, H3 topic derivation, TTL/dedup/confidence store), a synthetic mobility simulator, the P2P/central-mode node binary, the rendezvous service, the centralized-broker baseline, a live web dashboard, and the navigation webapp. The webapp self-hosts OSRM in Docker for two real regions (Basel and Tirana), renders an OpenStreetMap/Leaflet map, and lets a user compute a real route, simulate driving it, and gossip live speed/hazard observations to nearby users — entirely peer-to-peer.
Technical Challenges
The largest architectural challenge was rendezvous: a geo-topic ID alone doesn't discover peers, so a node needs to learn at least one already-participating peer before it can join a topic's gossip swarm — without that rendezvous service ever seeing traffic observations or raw coordinates. A concrete bug then followed directly from that design: a node that joined a geo-topic before anyone else had registered would learn about later peers only one-directionally — it could be dialed, but never dialed anyone itself.
Solutions
Fixed the one-directional connectivity bug by re-running rendezvous discovery and calling iroh-gossip's peer-join for already-joined topics too, both on every position update and on a five-second background timer. Kept the privacy property intact throughout: the rendezvous service only ever maps geo-topic IDs to short-lived peer endpoint addresses.
Screenshots
Results
Evaluation is currently in progress. Preliminary implementation milestones are shown above: the full Rust workspace (protocol library, mobility simulator, P2P/central-mode node, rendezvous service, centralized-broker baseline, live dashboard) is built and running, alongside a real navigation website with self-hosted OSRM routing for Basel and Tirana and live P2P traffic/hazard gossip. The formal RQ1–RQ4 evaluation — dissemination latency and coverage, traffic-estimation and route-utility loss versus the centralized baseline, the privacy-utility trade-off across geo-topic resolutions, and robustness against false reports — has not yet been run.
Lessons Learned
Building a real, usable product (the navigation website) alongside the research prototype surfaced bugs — like the one-directional gossip issue — that a pure simulation never would have: it only appeared with real multi-process peers joining a swarm at different times.
Future Improvements
- Replace the synthetic mobility simulator with real SUMO/TraCI integration
- Add a routing adapter that consumes live segment-speed estimates as edge-cost multipliers for an external routing engine
- Run the full experiment matrix (participation rate × density × topic resolution × network conditions) for the RQ1–RQ4 evaluation
- Explore DHT-based rendezvous and geo-indistinguishability as stronger privacy mechanisms
- ML-based congestion estimation combining live weather conditions with the spatial density of nearby peer reports
