Threat model
The shared vocabulary the rest of the site is threaded through: who can attribute a request to a person, who can link requests to each other, and what counters each. Drawn from §2–§3 of the network privacy analysis.
Threat actors
Knows only what is publicly visible on the chain.
Controls or has compromised the lightwalletd used by the wallet (or, for full-node wallets, a peer).
On the client's access network (Wi-Fi, ISP). Knows the user's IP.
Simultaneously observes both ends of the communication and all intermediate hops.
Adversaries at every level may hold auxiliary information: stolen KYC records, records from compromised exchanges, previously deanonymized transactions.
Invariants
Unlinkability properties
The two properties are asymmetric. If requests are attributable to an identity, they are thereby linkable to each other, so a P1 failure across requests implies a P2 failure; the converse does not hold. Pseudonymous profiles are the intermediate state most configurations land in, and they are fragile: one attributed request anywhere in the profile retroactively attributes the whole profile.
Vectors & countermeasures
| Vector | Consists of | Observable from | Countermeasures |
|---|---|---|---|
| V1 Session state | Source IP observed by the destination, TCP/TLS connection state, tunnel session, application-layer session identifiers. | L2 |
|
| V2 Timing | At the destination, the arrival times of requests; on network links, the timing, size and volume of packets. | L2, L3L, L3G |
|
| V3 Content | Requested heights and ranges, fetched txids, queried t-addresses and UTXOs, broadcast payloads. | L2 |
|
A common category error is crediting in-transit V2 mixing as protection against the destination (L2). Mixing delays and cover traffic change what a network observer can infer; the destination sees only what arrives and when it arrives. No amount of mixing protects a user against the server they are talking to — what protects them is the absence of V1 state, plus V2/V3 discipline on the requests themselves.
The two-layer model
A note on Tor
Tor hides the client IP from the destination (P1 via V1). In its default configuration it behaves like dVPN single-exit — long-lived circuits from the same exit IP leave requests linkable at L2 — while with a fresh circuit per unlinkability domain it behaves like the multi-exit case, restoring P2. Its three hops ensure no single relay sees both ends, but it provides no in-transit V2 protection against L3L/L3G.