[P0] Invalid participants in the `ActiveParticipant` list #394
Proper removal (Check that we also jail => no voting power)
💬 Comments (1)
🔄 Auto-synced from Issue #394 every hour.
Proper removal (Check that we also jail => no voting power)
🔄 Auto-synced from Issue #394 every hour.
Invalid Participant Exclusion – Feature Specification
Overview
This feature refines, fixes and fully tests the mechanism for handling invalid participants in the Gonka network. Invalid participants are nodes that have misbehaved (e.g., submitted bad inferences, misconfigured models, attempted cheating, or failed other behavioral criteria). The goal is to ensure they are excluded from all network responsibilities and consensus mechanisms, without retroactively altering cryptographically signed data.
Problem Statement
Currently, the list of active participants retrieved from the chain could include nodes that are technically invalid for the current epoch. This list is signed and committed cryptographically each epoch, making it immutable and essential for trust and traceability via Merkle proofs.
However, since some participants may be no longer trustworthy (due to detected invalid behavior during the epoch), relying solely on the active list is not sufficient for selecting endpoints to use.
Additionally, when a participant is marked as invalid, we need to ensure and test that they are excluded from: * Task assignment (inference or validation) * Voting weight calculation * Consensus power allocation * Inference routing via the decentralized API (DAPI) * Model group membership logic (EpochGroup) * Clients selecting transfer agents
Proposed Solution
1. Introduce a New Query and data structure:
InvalidatedParticipants2. Update DAPI Logic to Respect Invalid Participants
When querying for active participants via the DAPI:
InvalidatedParticipants3. Recursive Removal from All Model Group Memberships
4. Ensure Invalid Participants Have No Voting or Consensus Power
Testing & Validation Plan
The invalidation mechanism was previously disabled during development and was under tested. Now that the full behavior is enabled:
InvalidatedParticipantsqueryClient & Consumer Requirements
Terminology Clarification