Cubic Proof-of-Stake system

The Namada Proof of Stake (PoS) system uses the NAM token as the staking token. It features delegation to any number of validators and customizable validator validity predicates.

PoS Validity Predicate

The PoS system is implemented as an account with the PoS Validity Predicate (opens in a new tab) that governs the rules of the system. You can find its address in your wallet:

namada wallet find --alias PoS

Epochs

The system relies on the concept of epochs. An epoch is a range of consecutive blocks identified by consecutive natural numbers. Each epoch lasts a minimum duration and includes a minimum number of blocks since the beginning of the last epoch. These are defined by protocol parameters.

To query the current epoch, the following command can be run:

namadac query-protocol-parameters

In order to query the current epoch, the following command can be run:

namada client epoch

Slashing

Validators on Namada are slashed for misbehavior. Automatic slashing conditions are defined by the CometBFT, but validators can also report misbehavior by other validators. If a validator is deemed to have misbehaved, they are slashed by a certain amount of their stake. The amount of stake slashed, as well as the time required for the slash to take effect (pipeline) is defined by protocol parameters.

Jailing

Validators on Namada are jailed for either misbehavior or for being offline for too long. If a number of blocks pass (also defined in the protocol parameters under liveness_window_check) in which none have been signed by the validator in question, the validator is jailed.

When a validator is jailed, they are unable to participate in the consensus protocol. A validator is jailed for at least the pipeline amount of epochs, but must be unjailed manually by the validator. This is done by submitting an unjail-validator command.

VALIDATOR_ALIAS="<your-validator-alias>"
SIGNING_KEYS="<your-signing-key(s)>"
namada client unjail-validator --validator $VALIDATOR_ALIAS --signing-keys $SIGNING_KEYS

If successful, the validator will be unjailed after the pipeline amount of epochs, and is able to participate in the consensus protocol again.