feat: implement exponential-decay pioneer multiplier (fixes #240)#246
feat: implement exponential-decay pioneer multiplier (fixes #240)#246R-Panic wants to merge 13 commits intoentrius:testfrom
Conversation
Co-authored-by: Ander <61125407+anderdc@users.noreply.github.com>
…ntrius#238) Co-authored-by: bittoby <bittoby@users.noreply.github.com> Co-authored-by: Ander <61125407+anderdc@users.noreply.github.com>
|
As requested by the validators, here is the direct testing evidence showing how the Exponential-Decay mechanic distributes the TAO mining points differently from the legacy mechanic over an identical lifespan of 10 Pull Requests. The exponential decay successfully flattens the curve by the 5th PR without overly-diluting the network total emissions limit. |
2 similar comments
|
As requested by the validators, here is the direct testing evidence showing how the Exponential-Decay mechanic distributes the TAO mining points differently from the legacy mechanic over an identical lifespan of 10 Pull Requests. The exponential decay successfully flattens the curve by the 5th PR without overly-diluting the network total emissions limit. |
|
As requested by the validators, here is the direct testing evidence showing how the Exponential-Decay mechanic distributes the TAO mining points differently from the legacy mechanic over an identical lifespan of 10 Pull Requests. The exponential decay successfully flattens the curve by the 5th PR without overly-diluting the network total emissions limit. |
…ntrius#238) Co-authored-by: bittoby <bittoby@users.noreply.github.com> Co-authored-by: Ander <61125407+anderdc@users.noreply.github.com>
Co-authored-by: Ander <61125407+anderdc@users.noreply.github.com>
…a_web_agents_subnet (entrius#251) Co-authored-by: Nicknamess96 <113626193+Nicknamess96@users.noreply.github.com> Co-authored-by: Ander <61125407+anderdc@users.noreply.github.com> Co-authored-by: BitToby <218712309+bittoby@users.noreply.github.com> Co-authored-by: bittoby <bittoby@users.noreply.github.com> Co-authored-by: Muhammet Eren Karakuş <erenkar950@gmail.com>
Summary
Implemented a new
pioneer_multipliermechanism to replace the formerrepository_uniqueness_multiplier, completely resolving Issue #240.The new system incentivizes miners to explore untouched repositories by offering a mathematically-justified exponential decay reward. Instead of a flat binary
1.0or1.0 + BONUSmultiplier, the new mechanism guarantees a massive head-start for the true pioneer that halves as followers enter the repository.Fixes #240
Type of Change
Testing
tests/validator/test_pioneer_multiplier.pyto assert edge-cases: same-timestamp tiebreaker determinism, prior PR exclusions, decaying multiplier limits.Changes / Scope
The changes trace securely through the full stack:
classes.pytopioneer_multiplier.queries.py,repository.py) to handlepioneer_multiplier.constants.pyand elevated the multiplier value.scoring.pyto implement the new exponential decay curve (PIONEER_PR_BOOST * (0.5 ** previous_prs_count)).test_pioneer_multiplier.pyfor dynamic "gold-rush" scenarios where multiple miners merge concurrently or sequentially.Solution explanation
The former algorithm suffered from threshold limits where a pure flat multiplier would encourage miners to jump on only one inactive repo at a time. This PR introduces an exponential decay "gold rush" dynamic.
1.0 + 5.0 = 6.0multiplier1.0 + 2.5 = 3.5multiplier1.0 + 1.25 = 2.25multiplierThis guarantees a reward advantage for the true pioneer, while softening the penalty to followers—ensuring that popular-but-new repos don't instantly lose their appeal while strongly encouraging miners to keep hunting for maximum-boost repositories.
Checklist