Skip to content

Commit 3a93cc1

Browse files
committed
Attestation, proposal and rewards FAQ.
1 parent d7ec707 commit 3a93cc1

File tree

2 files changed

+201
-0
lines changed

2 files changed

+201
-0
lines changed
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
# Sequencer Attestations & Rewards — FAQ
2+
3+
> This FAQ documents common questions, subtle behaviors, and frequent points of confusion when monitoring sequencer performance, attestations, epochs, and rewards.
4+
5+
---
6+
7+
## 1. Why does my attestation count change from epoch to epoch?
8+
9+
**Short answer:** Because the number of attestation *assignments* is not constant.
10+
11+
You may observe patterns like:
12+
13+
```
14+
31, 31, 31, 30, 26
15+
```
16+
17+
with **zero failures**.
18+
19+
This does **not** indicate missed work or degraded performance. It means that across those epochs, your sequencer was assigned a different number of attestation duties.
20+
21+
### Why this happens
22+
- Committee assignments are reshuffled every epoch using randomness
23+
- Epochs may contain different numbers of attestation slots
24+
- The active sequencer set can change slightly over time
25+
- Dashboard windows may include partial epochs (e.g., at startup or boundaries)
26+
27+
The effective rule is:
28+
29+
> **Your maximum attestations in an epoch = the number of duties assigned to you in that epoch**
30+
31+
---
32+
33+
## 2. What is the maximum number of attestations a sequencer can have?
34+
35+
There is **no global fixed maximum**.
36+
37+
The apparent “max” (often ~30–32) is an artifact of:
38+
- Current committee sizing
39+
- Active sequencer count
40+
- Epoch structure
41+
42+
Seeing a stable number like `31` repeatedly is a sign of *network stability*, not a protocol guarantee.
43+
44+
---
45+
46+
## 3. Is a lower attestation count a performance issue?
47+
48+
**No — not by itself.**
49+
50+
Performance is measured by **success vs. assigned duties**, not by raw counts.
51+
52+
### Healthy sequencer
53+
- Assigned: 26
54+
- Successful: 26
55+
- Missed: 0
56+
- Attestation Rate: 100%
57+
58+
### Unhealthy sequencer
59+
- Assigned: 31
60+
- Successful: 27
61+
- Missed: 4
62+
- Attestation Rate: <100%
63+
64+
If your attestation rate is 100%, the sequencer is performing perfectly regardless of the raw number.
65+
66+
---
67+
68+
## 4. Why did my sequencer receive no rewards despite many successful attestations?
69+
70+
Because **attestations are not directly rewarded** in Aztec.
71+
72+
In Aztec's design:
73+
- **Block proposals** → reward-triggering events (block rewards + transaction fees)
74+
- **Attestations** → liveness and correctness requirements (unpaid participation)
75+
76+
Attestations:
77+
- Keep your sequencer active
78+
- Prevent penalties or slashing
79+
- Maintain eligibility for future proposer rewards
80+
81+
But they do **not** mint rewards on their own.
82+
83+
---
84+
85+
## 5. Can a sequencer participate in an epoch without proposing any blocks?
86+
87+
**Yes — this is extremely common.**
88+
89+
Block proposer selection is:
90+
- Sparse
91+
- Randomized
92+
- Stake-weighted
93+
94+
Over short windows (e.g., 10 epochs), it is normal for a sequencer to:
95+
- Perform dozens of attestations
96+
- Receive zero proposer slots
97+
- Earn zero rewards
98+
99+
This does **not** indicate a problem.
100+
101+
---
102+
103+
## 6. Can a sequencer make successful attestations if it is not included in an epoch?
104+
105+
It depends on what *“included”* means.
106+
107+
### Included in an epoch means:
108+
- Bonded / staked
109+
- Active (not exiting, not slashed)
110+
- Part of the sequencer set for that epoch
111+
112+
If included:
113+
- The sequencer **will** receive attestation duties
114+
- The sequencer **may or may not** receive proposer duties
115+
116+
### What cannot happen
117+
A sequencer that is *truly excluded* from the active set:
118+
- Receives no duties
119+
- Produces no valid attestations
120+
- Shows zero participation
121+
122+
So if you see successful attestations, the sequencer **was included**.
123+
124+
---
125+
126+
## 7. Why does the dashboard sometimes show `0 / 0` block proposals?
127+
128+
This means:
129+
- The sequencer was **not selected** for any proposer slots
130+
- Not that it failed to propose
131+
132+
`0 / 0` is a neutral state, not a failure.
133+
134+
---
135+
136+
## 8. How should I interpret bar charts showing attestations and blocks?
137+
138+
Each epoch column typically includes:
139+
- 🟢 Attestation Success — completed attestation duties
140+
- 🔴 Attestation Missed — assigned but not completed
141+
- 🔵 Blocks Success — successful block proposals
142+
- 🟠 Blocks Missed — failed proposer opportunities
143+
144+
Large green bars with tiny or zero blue bars are **normal**.
145+
146+
---
147+
148+
## 9. Example Dashboard Screenshot (Illustrative)
149+
150+
151+
### Dashboard Screenshot
152+
153+
```
154+
┌───────────────────────────────────────────────┐
155+
│ Sequencer X7C…91A2 Status: Validating │
156+
│ Epoch Window: 1901–1905 │
157+
│ │
158+
│ Last 5 Epochs Participated │
159+
│ │
160+
│ Epoch 1901 ████████████████████ Att: 32 │
161+
│ Epoch 1902 ████████████████████ Att: 32 │
162+
│ Epoch 1903 ████████████████████ Att: 31 │
163+
│ Epoch 1904 ███████████████████ Att: 30 │
164+
│ Epoch 1905 ████████████████ Att: 27 │
165+
│ │
166+
│ Attestation Rate: 100% (152 / 152) │
167+
│ Block Proposals: 0 / 0 │
168+
│ Rewards: 0 │
169+
└───────────────────────────────────────────────┘
170+
```
171+
172+
**Interpretation:**
173+
> Fully healthy sequencer, included in all epochs, completed all assigned attestations, but not selected as a block proposer during this window.
174+
175+
---
176+
177+
## 10. Key takeaways
178+
179+
- Attestation counts vary naturally
180+
- Attestation success matters more than volume
181+
- Attestations are usually unpaid
182+
- Proposer selection is rare and stochastic
183+
- `0 / 0` proposals is normal
184+
- No rewards ≠ bad performance
185+
186+
---
187+
188+
## Suggested UI Clarifications (Optional)
189+
190+
To reduce confusion, dashboards may benefit from:
191+
- Labeling attestations as **“Non-rewarded participation”**
192+
- Tooltips explaining `0 / 0` proposer rates
193+
- Separating *assignment counts* from *performance metrics*
194+
195+
---
196+

docs/network_versioned_sidebars/version-v2.1.9-ignition-sidebars.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@
161161
"type": "doc",
162162
"id": "operation/operator_faq"
163163
},
164+
{
165+
"type": "doc",
166+
"id": "operation/attestations_rewards_faq",
167+
"label": "Attestations & Rewards FAQ"
168+
},
164169
{
165170
"type": "html",
166171
"value": "<span class=\"sidebar-divider\" />"

0 commit comments

Comments
 (0)