Skip to content

Restore producer-local FIFO ordering in bitmap mempool simulator#810

Open
will-break-it wants to merge 2 commits intomainfrom
bitmap-fifo-front-run-fix
Open

Restore producer-local FIFO ordering in bitmap mempool simulator#810
will-break-it wants to merge 2 commits intomainfrom
bitmap-fifo-front-run-fix

Conversation

@will-break-it
Copy link
Copy Markdown
Contributor

@will-break-it will-break-it commented Mar 9, 2026

Problem

Bitmap-era block/EB assembly scanned global tx indices instead of producer-local arrival order, biasing inclusion toward earlier-index honest txs and distorting front-run fairness.

Fix

  1. Keep bitmap membership/conflict checks, but restore producer-local arrival-order scanning for block and EB selection.
  2. Ensure consume/diffuse cleanup removes tx and counterpart from both bitmaps and ordering state.
  3. Add explicit rb_front_run_rate and total_front_run_rate, while keeping front_run_rate backward-compatible.
  4. Standardize Praos/Leios processing schema and add stale/mixed-input guards in experiment scripts.
  5. Add --no-eb-tx-cache to disable caching/gossip of EB-fetched txs into mempools when isolating EB backpressure effects.

Validation

  • npm run --silent build
  • npm test --silent
  • Small 10-run smoke matrix (nodes=800, slots=200, adversaries 0/20/40/60/80, Praos + Leios) with slope/runtime summary.
  • 30-run confidence rerun (3 repeats of the same matrix).

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