Skip to content

docs(anoncomms): claim cover slots for SURB reply origination - #418

Open
chaitanyaprem wants to merge 2 commits into
masterfrom
docs/cover-traffic-surb-reply-slots
Open

docs(anoncomms): claim cover slots for SURB reply origination#418
chaitanyaprem wants to merge 2 commits into
masterfrom
docs/cover-traffic-surb-reply-slots

Conversation

@chaitanyaprem

@chaitanyaprem chaitanyaprem commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Follow-up to logos-co/nim-libp2p-mix#40 review (cc @AkshayaMani).

Cover traffic listed three slot consumers: cover, local send, forwarding. SURB replies are origination at the exit and were missing.

mix-cover-traffic.md (LIP-161)

  • Terminology / Overview / §4: SURB replies count as origination. C is cover + local send + replies. Same C + C·L ≤ R bound. A busy exit may originate up to n replies per request, so relative to request origination both C and C·L scale by up to (1 + n).
  • §5.2 / new §6.6: Exit MUST ClaimSlot() before the SURB first-hop write. On failure, queue for the next epoch (same as local send). Forwards still drop.
  • Initiator credential timeout SHOULD be k * P. k is not fixed here; it needs a value large enough that a reply queued for the next epoch still arrives while credentials are live.

mix.md §8.7.3 cross-ref is not in this PR.

Will collide with #341 on §4 / §5.2. Branched from master on purpose.

nim-libp2p-mix#40 currently drops on exhaustion; the impl should queue to match this.

Also overlaps on-demand cover generation with the pre-send delay (§6.1 fallback caveat, §6.2 step 3, §5.3 reclaim) — spec side of nim-libp2p-mix#52.

SURB replies are origination at the exit: they consume from R and
raise C*L by up to n replies per request. On slot exhaustion they
queue for the next epoch, same as locally originated send.
… delay

The fallback caveat described sequential composition (delay, then build),
which shifts fallback emissions by the full generation time and leaks
pre-computation load. Generation now SHOULD run concurrently with the
delay; §6.2 step 3 gains the on-demand path; §5.3 allows offering the
discarded packet's message identifier for reclaim.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant