Skip to content

Commit

Permalink
add circuit breaker functionality to specs
Browse files Browse the repository at this point in the history
  • Loading branch information
ralexstokes committed Jan 18, 2024
1 parent 7cad7ce commit 620e2b5
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions specs/bellatrix/validator.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
- [ExecutionPayload](#executionpayload)
- [Bid processing](#bid-processing)
- [Relation to local block building](#relation-to-local-block-building)
- [Liveness failsafe](#liveness-failsafe)
- [How to avoid slashing](#how-to-avoid-slashing)
- [Proposer slashing](#proposer-slashing)
- [Responsibilities during the Merge transition](#responsibilities-during-the-merge-transition)
Expand Down Expand Up @@ -156,6 +157,22 @@ the deadline and the external builder flow must be aborted in favor of a local b
**WARNING**: Validators must be careful to not get slashed when orchestrating the duplicate building pathways.
See the [section on slashing](#proposer-slashing) for more information.

## Liveness failsafe

Honest proposers implement a "circuit breaker" condition operationalized by the beacon node that is triggered when the
node determines the chain is unhealthy. When the circuit breaker is fired, proposers **MUST** not utilize the external
builder network and exclusively build locally.

The exact conditions to determine chain health are implementation-dependent. Various categories of signals to consider
include:

- # of missed slots over an epoch
- # of reorg slots over an epoch
- # of missed slots in a row
- # of reorg depth over an slot
- attestation target vote falls below certain % (or head if want to be strict)
- hard fork boundaries

## How to avoid slashing

### Proposer slashing
Expand Down

0 comments on commit 620e2b5

Please sign in to comment.