Skip to main content

Evidence module

Concept

The Evidence module, extended from the Cosmos SDK's, enhances existing evidence handling that relies on the underlying consensus engine to automatically submit evidence upon discovery. It achieves this by implementing abstractions and interfaces that enable developers to define custom evidence messages and methods for penalizing misbehaving consensus nodes. Tendermint detects double-signing by consensus nodes and reports this to the Evidence module, which then manages the verification process and determines the appropriate penalty for the offending consensus nodes. Penalties may include slashing a portion of their stake and removing them from the active consensus node set.

In KIRA, the only misbehavior that is handled is double signing. In this case the consensus node is automatically jailed upon detection but not automatically slashed. Instead, the slashing process is managed by governance through the slashing module. Jailing & slashing provides all the necessary information regarding how this process works.

// https://github.com/KiraCore/sekai/blob/master/x/evidence/keeper/infraction.go
// (...)

if !validator.IsJailed() {
k.slashingKeeper.Jail(ctx, consAddr)
}
k.slashingKeeper.JailUntil(ctx, consAddr, ctx.BlockTime())
k.SetEvidence(ctx, evidence)

Cli Syntax & Examples

note

Each CLI command and proposal process in KIRA requires specific permissions. These permissions must be added to the account's whitelist or obtained as sudo permissions for direct changes. Refer to the Roles & Permissions documentation for more details. $SIGNER represents the transaction signer's account name or address. For instructions on setting common flags as environment variables, such as $FLAGS_TX and $FLAGS_QR__, see the section

Transactions

There is no transactions for this sub-module.