Slashing and validator penalties
GenLayer uses several penalties to protect liveness and punish provable protocol violations. Not every incorrect or minority vote is slashable, and not every penalty immediately removes stake.
Penalty types
| Behavior | Protocol response |
|---|---|
| Missed activation, proposal, commit, or reveal duty | Replace or rotate the idle participant; record idleness where applicable. |
| Repeated idleness or failure to reveal | Add epoch strikes and ban the validator after the configured threshold. |
| Failure to reveal a committed vote | Record a percentage-based stake slash and a strike. |
| Vote that loses after an appeal | Forfeit the applicable reward or receive a negative fee adjustment; this alone is not a deterministic-violation slash. |
| Provable deterministic execution violation | Quarantine the accused validator and open a tribunal that can impose a larger slash or clear the quarantine. |
Bans and quarantine
A ban temporarily excludes a validator after it accumulates the configured number of idleness strikes. Current defaults use three strikes in an epoch and exclude the validator for the current and following epoch.
A quarantine immediately excludes a validator selected for a deterministic-violation tribunal. The tribunal uses the active validator network to decide punishment. It runs separately from the transaction's outcome: the transaction continues through rotation or its ordinary appeal path.
Current slash parameters
Current protocol parameters include:
- 1% of stake for validator idleness or failure to reveal;
- 5% for a leader found responsible for a deterministic violation;
- 1% for other minority validators found responsible in that tribunal; and
- a 10% per-epoch cap on deterministic-violation slashes.
Percentage-based slashes currently draw 80% of the penalty from validator self-stake and 20% from delegated stake. These values are upgradeable protocol parameters and can differ by deployment.
Delayed, permissionless enforcement
Slashable events record a pending penalty. Under the current implementation, a two-epoch delay gives governance time to correct an erroneous slash before it can be enforced. The stake deduction is then applied lazily when someone calls validatorPrime().
Priming is permissionless so a validator cannot reliably avoid enforcement by refusing to process itself. The caller currently receives 1% of an applied slash as an execution incentive; the remainder enters the protocol's slashed-token accounting.
For operational monitoring and current configuration, see the validator setup guide.