Skip to content

Accelerating reserves divergence vs Koios (~285K→928K ADA/epoch extra drain, ep524-527) #763

@michaeljfazio

Description

@michaeljfazio

Summary

On the mainnet validation sync, dugite's reserves drain faster than Koios each epoch, by a GROWING margin. Treasury tracks closely. The reserves deficit accumulates from ~776K ADA (ep524) to ~2.6M ADA (ep527).

Data (dugite first-hit-epoch pots vs Koios totals?_epoch_no=N; all withdrawals 0)

boundary dugite Δreserves koios Δreserves extra drain (ADA) dugite Δtreasury koios Δtreasury tre diff (ADA)
524→525 -12,691,650,223,133 -12,405,957,283,156 -285,693 +4,445,297,561,106 +4,460,478,019,215 -15,180
525→526 -13,202,899,513,899 -12,580,520,722,961 -622,379 +4,507,422,773,368 +4,517,184,324,796 -9,762
526→527 -13,314,086,445,926 -12,386,325,860,933 -927,761 +4,476,822,808,520 +4,481,601,568,652 -4,779

The extra reserves drain GROWS (~+320K ADA/epoch). The over-drained ADA is NOT in treasury (treasury diff small + shrinking) → it goes to rewards / circulating supply, i.e. dugite distributes more from reserves than cardano-node.

Hypotheses to investigate

  1. Real reward/expansion calc divergence: dugite's calculate_rewards / expansion (rho*eta*reserves) / reward distribution over-pays from reserves. Cross-check against cardano-ledger RUPD/SNAP/POOLREAP and the prevPParams reward path.
  2. RUPD-pulser sampling artifact: Conway computes rewards incrementally via a pulser; the dugite_reserves_lovelace gauge may reflect in-progress mid-epoch RUPD state at the first-hit-epoch sample point, vs Koios's boundary value. (If so, the divergence is a metric-timing artifact, not state drift — verify by sampling reserves at a fixed offset into each epoch.)
  3. Inherited-deficit propagation: the ep521 snapshot started with a deficit; verify whether the per-epoch deltas are deterministic propagation vs a fresh per-epoch error.

Notes

  • Node is in ApplyOnly mode (non-forging), so this is informational pots state, not a forged-block consensus error — but it IS a ledger-calc byte-exactness gap.
  • The absolute pots also carry an inherited offset from the Mithril/snapshot starting state; the DELTA divergence above is the actionable signal.

Next step

Dump dugite epoch-state at the 526→527 boundary and diff reserves/treasury/rewards/fees against cardano-cli debug log-epoch-state (or Koios reward history) to localize the over-distribution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions