What's the difference between Unavailability and Non-voting


I have a question about the difference between Unavailability and Non-voting in slashing conditions which were documented in cosmos-sdk spec. Their explanations are as follows:

  • Unavailability: If a validator’s signature has not been included in the last X blocks, the validator will get slashed by a marginal amount proportional to X. If X is above a certain limit Y, then the validator will get unbonded

  • Non-voting: If a validator did not vote on a proposal, its stake will receive a minor slash.

To me, they described the same scenario when some validator didn’t vote a proposal for some reasons such as server downtime. Could anybody make a clarification?Waiting for the reply. :thinking:


I think… former one is about consensus voting, later one is about governance proposal voting.
the slashing for later one does not exist anymore in current version.(old docs)


Yeah, if this was true, it will make sense. So in summary:

  • Unavailability’s scenario: when validator didn’t participate in consensus process in some block heights.

  • Non-voting’s scenario: when someone(validator) submit a proposal, the validator didn’t vote the proposal for some reason. In other words, this scenario is in higher application logic than above consensus level.


yep exactly. and for the later one, i heard in current version, proposal vote automatically done as abstain if he doesnt vote until proposal live period. so there is no punishment