Skip to content

Commit 3ef0bd6

Browse files
authored
add circuit breaker functionality to specs (#95)
1 parent 5d2f0c4 commit 3ef0bd6

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

specs/bellatrix/validator.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
- [ExecutionPayload](#executionpayload)
2121
- [Bid processing](#bid-processing)
2222
- [Relation to local block building](#relation-to-local-block-building)
23+
- [Liveness failsafe](#liveness-failsafe)
2324
- [How to avoid slashing](#how-to-avoid-slashing)
2425
- [Proposer slashing](#proposer-slashing)
2526
- [Responsibilities during the Merge transition](#responsibilities-during-the-merge-transition)
@@ -156,6 +157,23 @@ the deadline and the external builder flow must be aborted in favor of a local b
156157
**WARNING**: Validators must be careful to not get slashed when orchestrating the duplicate building pathways.
157158
See the [section on slashing](#proposer-slashing) for more information.
158159

160+
## Liveness failsafe
161+
162+
Honest proposers implement a "circuit breaker" condition operationalized by the beacon node that is triggered when the
163+
node determines the chain is unhealthy. When the circuit breaker is fired, proposers **MUST** not utilize the external
164+
builder network and exclusively build locally.
165+
166+
The exact conditions to determine chain health are implementation-dependent. Various categories of signals to consider
167+
include:
168+
169+
- number of missed slots over an epoch
170+
- number of reorgs in an epoch
171+
- number of missed slots in a row
172+
- reorg depth over a given period of time
173+
- attestation target vote falls below certain % (or head if want to be strict)
174+
- lack of finality over a given period of time
175+
- hard fork boundaries
176+
159177
## How to avoid slashing
160178

161179
### Proposer slashing

0 commit comments

Comments
 (0)