Control Plane Reference
Staking, Validator Lifecycle, and Jailing
This page condenses the validator-control surface into one place: time-based epochs, active-set gating, jailed signer handling, self-jail and self-unjail actions, broadcaster adjacency, and the remaining open trigger details.
Time-based epochs confirmed
Current-epoch signer gate confirmed
Self unjail rate-limit confirmed
ForceIncreaseEpoch details open
1. State and Control Surface
| Surface | Role | Current truth |
|---|---|---|
staking | Epoch state | Tracks epoch states, active epoch, current epoch state, and epoch duration. |
c_staking | Consensus control plane | Carries stakes, delegations, jailed signers, broadcasters, disabled validators, and manual unjail timing. |
validator_l1_vote_tracker | Vote aggregation | Tracks validator L1 vote activity and pruning windows. |
validator_l1_stream_tracker | Streaming control input | Carries validator stream inputs like aligned-quote-token rate votes. |
2. Validator Lifecycle
flowchart TD
A[Register validator profile and signer] --> B[Enter epoch ranking]
B --> C{Top active set for epoch?}
C -->|No| D[Remain registered but inactive]
C -->|Yes| E[Active validator and proposer candidate]
E --> F[Produce votes and blocks]
F --> G{Heartbeat or jail issue?}
G -->|No| H[Continue through epoch]
G -->|Yes| I[Jailed or disabled path]
I --> J[Self unjail or governance path]
J --> B
H --> K[Epoch boundary recompute]
K --> B
- Validator eligibility is tied to
epoch_states[cur_epoch], not just a loose stake snapshot. - Jailed signers are excluded from ordinary proposer/signing flow.
- Manual unjail is rate-limited through
signer_to_last_manual_unjail_time.
3. Validator and Staking Actions
| Action family | Purpose | Notes |
|---|---|---|
CValidator | Validator profile management | Register/change profile and other validator lifecycle changes. |
CSigner | Jail / unjail surface | Current surface includes unjailSelf, jailSelf, and jailSelfIsolated. |
tokenDelegate | Delegation and reward routing | Stake movement influences active-set ranking at epoch boundaries. |
validatorL1Vote | Validator vote lane | Feeds consensus oracle / control-plane vote surfaces. |
validatorL1Stream | Streaming validator signal lane | Currently includes aligned-quote-token rate sampling. |
4. What Is Confirmed vs Open
| Question | Current answer |
|---|---|
| Are epochs time-based? | Yes. The docs now treat epoch_duration_seconds as the governing mechanism. |
| Is validator eligibility epoch-scoped? | Yes. Signer validity checks are tied to current epoch state. |
| Are jailing details fully closed? | No. Trigger thresholds, especially latency-EMA details, remain open. |
| Is broadcaster authorization the same thing as active validator eligibility? | No. They are adjacent control-plane surfaces but not the same gate. |