Simple Summary
This proposal seeks to update the Slashing parameters on the dYdX Chain to increase validator accountability and consequently network performance. The current parameters are overly permissive, leading to slower protocol responsiveness and insufficient incentives for validators to maintain high uptime. By reducing the SignedBlocksWindow
and increasing the MinSignedBlocksPerWindow
, the protocol can hopefully incentivize lagging validators to improve performance.
Abstract
The Slashing module is a mechanism to penalize validators for a violation of protocol rules by slashing their bonded tokens. Penalties under the slashing module include burning a portion of a validatorâs bonded tokens and/or temporarily removing their ability to vote on future blocks.
The relevant Slashing module parameters on the dYdX Chain are:
SignedBlocksWindow
: 8192 (approximately 2.5 hours based on 1.11s block time)MinSignedBlocksPerWindow
: 20%.
We think these thresholds are too lenient, allowing validators to underperform without significant risk of penalties.
We propose reducing the SignedBlocksWindow
from 8192 to 2048 to enhance the protocolâs responsiveness to lagging validators and increasing the MinSignedBlocksPerWindow
from 0.2 to 0.8 to promote better uptime. These changes aim to improve network stability and overall protocol health by holding validators to a higher standard of performance.
Motivation & Rationale
Validator performance is critical to the reliability of the dYdX Chain and affects user experience. The current Slashing parameters provide insufficient incentives for validators to maintain consistent uptime and performance, potentially compromising network reliability. The existing SignedBlocksWindow
of ~2.5 hours allows lagging validators to avoid penalties for extended periods, while the MinSignedBlocksPerWindow
threshold of 20% sets a low bar for acceptable performance.
The proposed adjustments will create a stronger incentive for validators to actively optimize their performance and protect the chain from potential disruptions. By enforcing stricter validator performance requirements, the dYdX Chain can improve usersâ trading experiences.
Specifications
To ensure a smooth transition and avoid transiently jailing validators during the parameter update, the changes should be implemented in a staged rollout. Validators maintain a running MissedBlocksCounter
, which only increments or decrements by 1 on each block. Therefore, when slashing parameters are updated, it takes time for the MissedBlocksCounter
to re-converge to an accurate value based on the new evaluation window.
Proposed Parameter Changes:
â SignedBlocksWindow: Reduce from 8192 to 2048 (approximately 38 minutes based on 1.11s block time).
â MinSignedBlocksPerWindow: Increase from 0.2 to 0.8.
Staged Rollout Plan:
1. Proposal to Reduce SignedBlocksWindow:
â We will submit a parameter change proposal to reduce the window to 2048 blocks.
â After the proposal passes, we will monitor for 1-2 days to ensure no adverse impact and observe how validatorsâ MissedBlocksCounters
converge to the new window.
2. Proposal to Increase MinSignedBlocksPerWindow:
â After 2 days have elapsed and there is no adverse impact reported by any validator on dYdX Chain, we will submit a parameter change proposal to increase the MinSignedBlocksPerWindow
to 0.8.
It is important to note that reducing the SignedBlocksWindow
by 75% immediately increases the effective uptime requirement proportionally by 4x, even before adjusting MinSignedBlocksPerWindow
.
Next Steps
We welcome community feedback regarding the proposed changes to the Slashing parameters. If there is no strong dissent from the community, we plan to start submitting the testnet parameter change proposals on January 13, 2025, followed by the staged mainnet proposals.