This topic aims to provide an initial discussion to modify the unbonding period to the more standard 14-day unbonding. Currently it takes 30 days to unbond a stake or wait for a redelegation. This, in my opinion hinders the adoption of staking DYDX and unnecessarily punishes anyone that decides to stake DYDX since you won’t receive any trading rewards in that 30-day period.
The goal of the unbonding period is to protect the chain against malicious validators by locking up their stake. With a 4.6% bonding rate the most urgent item should be to increase the bonding percentage and having a 14-day unbond time would partially help with that (further incentive migration from v3 will also help, but that is already scheduled).
I would love to hear any opinions on why we should keep the 30-day unbonding period that is currently set on chain and other arguments to move to 14-day period.
What were some reasons for initial 30days bonding?
Reducing the unbonding period on an IBC enabled chain cannot be done this way.
The trusting period of the IBC client on counterpaty chains are set to 2/3 of 30 days => 20 days
The “trusting period” refers to the length of time during which an IBC client considers the proofs provided by the counterparty chain to be valid, without needing to actively verify them.
On the other hand, the “unbonding period” is the period during which tokens are blocked after being delegated to a validator before they can be withdrawn.
The rule stipulating that an IBC client must not have a trusting period greater than the unbonding period of the counterparty chain is based on security considerations.
Double-spending risk: If an IBC customer’s trust period is longer than the unbonding period on the counterpart chain, this could create a double-spending risk.
For example, if a user delegates his tokens to a validator on chain A, then withdraws them after the unbonding period on chain B, and if chain A doesn’t have a trust period long enough to detect this, there could be a state validity conflict between the two chains.
State synchronization: The trusting period is linked to the synchronization of states between chains.
If the trust period is longer than the unbonding period, this means that the IBC client may accept obsolete evidence for a longer period, which could lead to a state divergence between the chains.
Security and integrity: To guarantee the security and integrity of transactions between chains, it is essential that the IBC client can quickly detect malicious manipulation of the counterparty chain.
limiting the period of trust to the unbonding period ensures that the evidence provided remains relevant and valid. In practice, we choose durations of 2/3.
In short, the rule of not having a trusting period greater than the unbonding period is designed to guarantee the security and integrity of transactions between chains in a Cosmos-SDK and IBC environment.
Thank you for taking the time to make this explanation @David. Appreciate that due dilligence.
Hey @luisqa, Josh from the dYdX Foundation here. Thanks for the post. First, I just wanted to clarify a few things.
This, in my opinion hinders the adoption of staking DYDX and unnecessarily punishes anyone that decides to stake DYDX since you won’t receive any trading rewards in that 30-day period.
Just wanted to clarify that user’s can still earn trading rewards, but they will not receive staking rewards during the unbonding period.
Currently it takes 30 days to unbond a stake or wait for a redelegation.
Redelegation enables stakers to shift 100% or a portion of their staked tokens (delegations) from one validator to another without having to wait for the 30-day unbonding period. Note, after redelegating, any DYDX that was redelegated must wait 30 days before it can be relegated.
Second, what leads you to believe that the unbonding period is a blocker to DYDX holders’ staking?
I can confirm this is not true for now. I’m unbonding 80% of a wallet and rewards did drop corresponding to the unbounded amount.
Hey, thanks for the heads up. Interesting.
Can you send me the wallet address? Screenshots also helpful if you’re ok with that.