Misbehavior Cases

Unresponsiveness

Events where the state of a validator is impossible to ascertain due to a communicative gap. ATLETA utilizes two detection mechanisms to determine these cases:

Method 1. Validators produce a steady heartbeat, a predictable stream of signed on-chain messages that signal the validator's online status. If these streams are disrupted or take too long to receive, we automatically assume the validator is unresponsive.

Method 2. Due to the design of NPoS, which optimizes for equality on the validator level, workload distribution among validators should typically tend to be even. This equivalency is depicted through the accrual of points during an era. Given that eras will optimize for even involvement (regardless of collateral size), validator rewards should be almost identical. If, for any reason, a validator's era points deviate by more than 25% from other validators, then the system registers them as unresponsive.

Unjustified Vote

It occurs whenever a validator submits a vote for a version of the chain that is missing a block finalized in a previous GRANDPA round; an unjustified vote signals an attempt to rebuild/reorganize the chain's structure. These votes can transpire in one of two scenarios: either the validator is attempting to work around protocol standards (such as with a client alteration), or the validator is observing an inappropriate state (could happen if other malicious neighbor nodes push/seed this)Detection for unjustified voting requires the intervention of a "reporter" (another validator) submitting a transaction that contains:

  1. A reference to the correct finalized block;

  2. proof that the block was indeed finalized;

  3. the unjustified vote related to the block.

Once a report is submitted, a public, time-bound challenge starts. During the challenge period, the culprit validator (alongside other validators) will have the chance to justify the actions or prove that the report was false. If no responses arise throughout the challenge, the report will automatically register as truthful and penalize the validator accused of the unjustified vote.

Equivocation

Not obviously nefarious and heavily subjected to natural turbulence, equivocation is a level 2 violation that happens whenever validators produce more than one block for a set slot.

Last updated