Inference Slot Hogging #706
Vulnerability: Inference Slot Hogging Severity: Medium Component: model_assignment.go
Description
The system always picks the node with the smallest weight for the "safe" inference slot. If a validator has multiple nodes, the same small node will keep getting the safe slot every single epoch, avoiding PoC verification indefinitely.
The Problem
Verification Avoidance: The smallest node is never checked because it stays in the safe slot. Guaranteed Rewards: This node earns rewards every epoch without risk, while the other nodes of the same validator are always forced to undergo PoC checks.
Example
Validator has: Node A (weight 10) and Node B (weight 20).
Epoch 1: Node A is smallest -> Safe Slot. Epoch 2: Node A is smallest -> Safe Slot. Result: Node A never performs PoC, but always gets paid.
Fix
A mandatory rotation. If a node was in the safe slot in the previous epoch, it is moved to the end of the queue for the next epoch. This forces the validator's other nodes to take turns in the safe slot and undergo verification.
💬 Comments (4)
I have a PR for this: #718 — implements deterministic rotation for PoC slot allocation to prevent hogging. Would appreciate a review when you get a chance.
This task was created in parallel with this PR #707
Assign to me plz. Task already done.
707
🔄 Auto-synced from Issue #706 every hour.
PR created: https://github.com/gonka-ai/gonka/pull/718
Implements rotation logic to prevent the same node from always getting the safe inference slot.