Baseline hygiene

Layer 2: the transport-independent client discipline every wallet owes, on top of whatever scenario it picks. It’s §5 of the network privacy analysis.

Assume an ideal transport. The destination still receives, for every request, its content and its arrival time. These countermeasures are transport-independent — they work in every configuration and are the wallet's responsibility regardless of which scenario is chosen. A light wallet resumes each sync from the height where it last stopped, so consecutive sessions chain; of a session's two endpoints, only the start is fingerprintable, since the end equals the chain tip shared by every client syncing at that moment.

Start-height obfuscation

V3 · vs L2

Since the linking key is the start height (V3, content), it is enough to obfuscate the start. Both approaches cost only re-downloaded blocks and work in every configuration.

  • Randomized overlap: start a random number of blocks before the true resume point, re-fetching blocks already held, so starts stop being exact pointers to previous ends and chaining degrades to approximate, deniable joins.
  • Checkpoint snapping: round the start down to a standard checkpoint (an absolute height), so every client whose previous sync ended in the same checkpoint interval emits an identical start — the collision window grows from one block interval to the checkpoint spacing.

Broadcast hygiene and scheduling

V2 · vs L2

Broadcast timing is a V2 (timing) leak at the destination. In-transit mixing does not remove it — the destination still observes wall-clock arrival time — so the wallet must decorrelate broadcasts itself.

  • Never send a broadcast over the sync transport or session.
  • Decorrelate broadcast times from sync milestones — in particular, do not broadcast immediately upon reaching the tip.
  • Use a randomized timer for broadcasts (the note's Defense B for migration rounds), extended to every broadcast.
  • Destination splitting: sync from one lightwalletd and broadcast through another.

Tuning the overlap distribution and checkpoint spacing

V3 · vs L2

How aggressively to obfuscate the start is a design choice with a clear qualitative shape but no settled numbers. A larger overlap, or a wider checkpoint spacing, widens the collision window — and therefore the anonymity set of clients emitting an indistinguishable start — at the cost of more re-downloaded blocks. Both approaches cost only re-downloaded blocks and apply in every configuration.

  • Trade-off: wider overlap / spacing ⇒ larger anonymity set, but more wasteful re-download.
  • Open question: how to set the overlap distribution or the checkpoint spacing, and what each buys quantitatively in terms of anonymity-set size, is left open by the source note — presented here without fixed values.

These measures apply in every configuration of the site and are the wallet’s responsibility regardless of transport.