docs(V6_TASKS): record rejected PoS reward rework (T024)
Claude's 2026-07-07 audit of2a4da33(PoS reward rework) and239cf61(sigcache fix) concluded: -2a4da33must stay reverted: chain-split risk, motivation gone (a78a420already relaxed the only test that cared), and the new formula is worse than the old (drops fractional coin-age, int64 overflow risk on large coin-age). If exact proportionality is ever wanted, it requires a height-gated hard fork. -239cf61is safe to re-land: pure performance fix, no consensus change, SHA256-collision false-positive risk is cryptographically infeasible. Re-landed in PR #21 / fix/sigcache-false-positives as a 6.1.6 candidate. T024 in V6_TASKS.md records the rejection and the hard-fork prerequisite for any future re-attempt.
This commit is contained in:
@@ -107,6 +107,13 @@
|
|||||||
|
|
||||||
## P2 — Polish & Optimization
|
## P2 — Polish & Optimization
|
||||||
|
|
||||||
|
### T024: PoS reward exact-proportionality rework — REJECTED
|
||||||
|
- **Status**: REJECTED
|
||||||
|
- **Depends**: none
|
||||||
|
- **Description**: Audit review of 2a4da33 (PoS reward rework, reverted by 05b5606) and 239cf61 (sigcache fix, reverted by 36d5f29) on 2026-07-07 concluded the PoS reward rework must stay reverted. Reasons: (1) consensus split risk — round-half-up pays 1 unit more than truncation for ~half of all inputs, so a block claiming that unit is valid to upgraded nodes and rejected by un-upgraded nodes; (2) motivation gone — the only driver was a unit-test assertion of exact proportionality (a78a420 already relaxed it to ±1 truncation), which is aesthetic, not correctness; (3) the new formula is worse than advertised — pre-truncating coin-age to whole-COIN units *before* multiplying drops fractional coin-age that the old formula credited, and `nWholeCoinAge * RATE * 2` is int64_t and can overflow. If exact proportionality is ever truly wanted, it must ship as a height-gated hard fork (both formulas in code, switch at activation height, coordinated node upgrade). Not worth it for cosmetic rounding. The sigcache fix from the same review (239cf61) was approved and re-landed in PR #21 / branch `fix/sigcache-false-positives` as a 6.1.6 candidate.
|
||||||
|
- **Files**: `src/main.cpp` (GetProofOfStakeReward)
|
||||||
|
- **Acceptance**: none — task is to leave the code as-is and not reopen
|
||||||
|
|
||||||
### T020: Remove unused Gemini/Google references from codebase
|
### T020: Remove unused Gemini/Google references from codebase
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Depends**: none
|
- **Depends**: none
|
||||||
|
|||||||
Reference in New Issue
Block a user