🔐Staking
An overview of the Staking Module.
Overview
dYdX Chain leverages the Cosmos SDK Staking module which supports a Proof-of-Stake blockchain and enables DYDX holders to become validators and/or delegate the validation rights (stake) of their DYDX to a dYdX Chain validator.
Summary
Key Concepts and Definitions
Staking: the act of delegating and locking up (‘bonding’) DYDX tokens to a dYdX Chain validator to secure and govern the network.
Bonded Validator: once the validator receives sufficient bonded tokens they automatically join the Active Set
EndBlock
and their status is updated to Bonded. A bonded validator (1) is signing blocks and receiving rewards (2) can receive further delegations, and (3) can be slashed for misbehavior.Active Set: the Active Set represents the validators that can participate in consensus, receive rewards, and secure the dYdX Chain at a given time. The active set includes the top validators according to staked tokens (delegated from third parties and self-delegation) and is determined by the
max_validators
parameter. The Active Set is updated duringEndBlock
by retrievingvalidatorsbypower
and themax_validators
parameter.EndBlock: A function is called after all transactions in a block have been processed.
EndBlock
is generally used to execute logic that should happen after a block is executed to finalize state transitions, such as determining the active validator set of the dYdX Chain.Inactive Set: Validators who are not in the Active Set, do not participate in consensus and do not receive rewards.
Unbonded Validator: The validator (1) is not in the Active Set, (2) cannot sign blocks and (3) does not earn rewards, but they can receive delegations. DYDX holders who stake to an unbonded validator will not earn any staking rewards.
Validator Commission: Commission set by each validator and applied to the staking rewards of each delegator. Validators are required to follow the
min_commission_rate
parameter but are otherwise free to set their own commission rates.
Parameters
These parameters may be adjusted by the dYdX Community with an on-chain governance proposal.
Staking to a dYdX Chain Validator
On the dYdX Chain, DYDX holders can serve as validators or delegate their stake to existing validators. Such delegation increases the likelihood of the chosen validator(s) entering or staying in the active validator set, thereby becoming or maintaining their position as a participant in the network’s consensus process.
Unbonding delegations / Unstaking
DYDX holders who stake DYDX to a validator can send a transaction to unstake and remove their tokens (fully or partially) from being staked to a validator. After this transaction is sent, the DYDX tokens enter an unbonding period which lasts for the duration of the unbonding_time parameter.
Redelegation
Redelegation in the Cosmos SDK is a feature that allows a delegator to shift their staked tokens (delegations) from one validator to another without having to wait for the unbonding period.
During the redelegation process, the tokens remain staked, meaning they continue contributing to the network's security and potentially earning rewards for the delegator.
However, a user’s slashing risk with the original validator remains until the unbonding period concludes. For example, a user stakes 20 DYDX to validator A for 59 days, on day 60 the user decides to redelegate their 20 DYDX to validator B. If validator A is slashed between days 60-90, the user is at risk of having a portion of their 20 staked DYDX slashed. After the 90th day, the slashing risk transitions to validator B.
After redelegating, you must wait 30 days before redelegating again from this new validator.
Last updated