Validator FAQs

Where can I find the selfvaloper address of the validator?

Visit the validator page on Self Chain Explorer, you can see the seivaloper address there. Example https://explorer.selfchain.xyz/selfchain/staking/selfvaloper1uvdqeduxvtchfphueyxraag9qkf8zfznzxs30y

selfvaloper address will be used on delegate token transactions.

Is there a faucet?​ For Testnet Events and Devnets.

Faucets are not available to the public yet.

What is min-self-delegation?

min-seld-delegation is the minimum of SLFs that the validator candidate need to have bonded at all time. If the validator's self-bonded stake falls below this limit, their entire staking pool (i.e all it's delegators) will unbond.

What are the Risks of running a Validator and delegating?

Staking SLF is not free of risk. First, staked SLF are locked up, and retrieving them requires a 3-week waiting period called unbonding period. Additionally, if a validator misbehaves, a portion of their total stake can be slashed (i.e. destroyed). This includes the stake of their delegators.

There is one main slashing condition:

  • Double signing: If someone reports that a validator signed two different blocks with the same chain ID at the same height, this validator will get slashed.

  • Offline for 95 blocks, then the validator will be jailed.

This is why SLF-holders should perform careful due diligence on validators before delegating. It is also important that delegators actively monitor the activity of their validators. If a validator behaves suspiciously or is too often offline, delegators can choose to unbond from them or switch to another validator.

Delegators can also mitigate risk by distributing their stake across multiple validators.

What are the slashing conditions?

If a validator misbehaves, their delegated stake is partially slashed. Two faults can result in slashing of funds for a validator and their delegators:

  • Double signing: If someone reports on chain A that a validator signed two blocks at the same height on chain A and chain B, and if chain A and chain B share a common ancestor, then this validator gets slashed by 5% on chain A.

  • Downtime: If a validator misses more than 95% of the last 100 blocks, they are slashed by 0.01%.

What are the slashing parameters?

Check the slashing params by running:

selfchaind  query slashing params --node https://rpc.selfchain.io:26657/
downtime_jail_duration: 600s
min_signed_per_window: "0.500000000000000000"
signed_blocks_window: "100"
slash_fraction_double_sign: "0.050000000000000000"
slash_fraction_downtime: "0.010000000000000000"

This says if you miss 95% (1-min_signed_per_window) of any 100-block window (signed_blocks_window), you will be slashed 0.01% (slash_fraction_downtime).

Basically, if you’ll be offline for 95 blocks then you will be slashed.

What are the different states a Validator can be in?

After a validator is created with the create-validator transaction, it can be in three states:

  • bonded: A validator that is in the active set and participates in consensus. This validator is earning rewards and can be slashed for misbehavior.

  • unbonding: A validator that is not in the active set and cannot participate in consensus. This validator is not earning rewards but can still be slashed for misbehavior. This is a transition state from bonded to unbonded. If a validator does not send a rebond transaction while in unbonding mode, it will take three weeks for the state transition to complete.

  • unbonded: A validator that is not in the active set and not signing blocks. Unbonded validators can't be slashed and can't earn any rewards from their operation. It is still possible to delegate SLF to unbonded validators. Undelegating from a unbonded validator is processed immediately.

  • jailed: Validator misbehaved and is in jail, i.e. outside of the validator set.

    • If the jailing is due to being offline for too long (i.e. having missed more than 95% out of the last 10,000 blocks), the validator can send an unjail transaction in order to re-enter the validator set.

    • If the jailing is due to double signing, the validator cannot unjail.

What are the responsibilities of a validator?

A validator must:

  • Run the correct software versions: Validators need to make sure that their servers are always online, and that their private keys are not compromised.

  • Provide oversight and feedback on the correct deployment of community pool funds: The Self Chain protocol includes a governance system for proposals to facilitate the adoption of its currencies. Validators are expected to hold budget executors to provide transparency and to use funds efficiently.

  • Be active members of the community: Validators should always be up-to-date with the current state of the ecosystem so that they can easily adapt to any change.

Last updated