What's not in scope
The verification covers wire shape — the lengths, the round counts, the item vectors. It does not cover cryptographic indistinguishability of the bytes inside each fixed-length envelope. That's a different kind of claim, and it's outside the verification effort by design.
Mechanized vs cited-by-hypothesis
The simulator-property theorem is a statement about lengths and
structure. It says: at every wire round, the request and response
sizes, and the labelled item vectors, are determined by
L(q). Whether the bytes inside those
fixed-length buffers are indistinguishable is a separate question —
it depends on the security of the underlying cryptographic
primitives.
DPF keys, FHE ciphertexts, and PRP outputs are treated as ideal-primitive uniform randomness in the EasyCrypt model. That hypothesis is cited from the underlying primitives' papers:
- DPF security from the
libdpfconstruction's reduction to a length-doubling PRG. - OnionPIR semantic security from BFV's IND-CPA
argument, as instantiated in the
OnionPIRv2-forkcrate. - HarmonyPIR PRP indistinguishability from the Hoang–Morris–Rogaway / FastPRP papers (FastPRP is the active backend in this build).
Closing this gap formally — re-proving the cryptographic primitives from scratch in EasyCrypt — would be a multi-year research project per primitive. The verification effort deliberately did not pursue it. The site's section on each backend (DPF, OnionPIR, HarmonyPIR) cites the underlying papers for the cryptographic claims.
What the claim means for users
For BitcoinPIR's actual threat model — "the server should not learn which scripthash you queried, nor whether it was found, nor the cuckoo position it matched at" plus a deliberate leak of approximate per-query UTXO count — the verification is as tight as a non-research-project codebase can reasonably get.
Stated precisely: every wire-observable axis is either structurally
constant, explicitly admitted in L, or outside scope.
An adversary who records a session of BitcoinPIR queries cannot use
the wire shape to fingerprint the wallet's behavior, even with
adversarially chosen scripthash patterns. Side channels that PIR
doesn't address — timing, network metadata, the observation that
you're using a wallet at all — are listed in section 12.