An overview of the Staking Module.
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.
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 during EndBlock
by retrieving validatorsbypower
and the max_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.
These parameters may be adjusted by the dYdX Community with an on-chain governance proposal.
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.
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 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.
Title | Value | Description |
---|---|---|
adydx
Denomination of the L1 staking token.
10000
Number of records of a validator's past performance at a given point in time.
7
Limit on the number of entries for unbonding delegations or redelegations per staker account for each validator they interact with.
60
The maximum number of Validators in the Active Set.
0.05
The chain-wide minimum commission rate that a validator can charge their delegators.
2592000s
~30 days
The time it takes to unbond (full/partial) from a validator.