Slashing on Ethereum

Slashing is the irreversible punishment that decreases a percentage of a validator’s current stake over time and forcibly ejects them from the network. It is the punishment given to validators who violate any of these three offences:

  1. Double Proposal - proposing validator signs two different blocks for the same slot
  2. Surround Vote - attesting validator signs a Casper FFG attestation (source s and target t) that “surrounds” another one, which contradicts what a validator said was finalized in a previous attestation
s1>s2>t2>t1s1 > s2 > t2 > t1
  1. Double Vote - attesting validator signs two different attestations with the Casper FFG target

Mechanics of Slashing

Slashing requires a whistle-blowing validator that monitors and reports on any of the three offenses listed. This whistleblower sends a message to the network outlining the offense. After which, the proposing validator includes this message in their slot. They then get awarded the offending validator’s balance divided by 65,536 (~0.00048 ETH if the balance is 32 ETH). The reward is small since this is not meant to be a for-profit activity; rewarding reports as such would encourage false positive reports/spam. As for the whistleblower, they get the offending validator’s balance divided by 4096 (~0.00781 ETH if the balance is 32 ETH).

Slashing Penalties

At a high enough level, so far we have observed slashed validators be subject to the following levels of principal loss across Beacon Chain eras:

Upgrade eraPrincipal loss on slashing (approx.)
Phase 00.25 ETH
Altair0.5 ETH
Bellatrix1 ETH
Electra~0.00781 ETH (32 ETH validator)

In the section below, we dive a little deeper in the formulas that modulate the level of principal loss for a slashed validator.

Slashed validator irreversibly exits the network during an epoch 36 days in the future. The slashed validator receives a minimal penalty at the point of whistle-blowing report.

  • Pre-Altair: Slashed Validator’s Effective Balance * 1/32
  • Post-Altair: Slashed Validator’s Effective Balance * 1/64
  • Post-Merge: Slashed Validator’s Effective Balance * 1/32
  • Post-Electra: Slashed Validator’s Effective Balance * 1/4096

Following that, the slashed validator receives a penalty at the start of each epoch from the time of the report until the scheduled network withdrawal/exit.

  • Pre-Altair: 3 * Base Reward * 32 (per epoch)
  • Post-Altair: 40/64 * Base Reward * 32 (per epoch)
  • Post-Merge: 40/64 * Base Reward * 32 (per epoch)
  • Post-Electra: 40/64 * Base Reward * Effective Balance (per epoch)
  • This penalty is higher if an inactivity leak is activated in the network.

Finally, the slashed validator receives a special penalty halfway between the point of the whistle-blowing report and at the point which the validator is forced to exit/withdraw (18 days).

  • Takes into consideration the number of validators slashed during the period 18 days before the offending validator was slashed and 18 days after (aka 36 days before this halfway point)
  • Maximum amount can be as high as the slashed validator’s total effective balance

Pre-Altair:

[min(3×Total BalanceSlashed Validators,Total Effective Balanceof the Network)Total Effective Balanceof the Network]×Effective BalanceValidator\left[\frac{\min(3 \times \text{Total Balance}_{\text{Slashed Validators}}, \text{Total Effective Balance}_{\text{of the Network}})}{\text{Total Effective Balance}_{\text{of the Network}}}\right] \times \text{Effective Balance}_{\text{Validator}}

Post-Altair:

[min(2×Total BalanceSlashed Validators,Total Effective Balanceof the Network)Total Effective Balanceof the Network]×Effective BalanceValidator\left[\frac{\min(2 \times \text{Total Balance}_{\text{Slashed Validators}}, \text{Total Effective Balance}_{\text{of the Network}})}{\text{Total Effective Balance}_{\text{of the Network}}}\right] \times \text{Effective Balance}_{\text{Validator}}

Post-Merge:

[min(3×Total BalanceSlashed Validators,Total Effective Balanceof the Network)Total Effective Balanceof the Network]×Effective BalanceValidator\left[\frac{\min(3 \times \text{Total Balance}_{\text{Slashed Validators}}, \text{Total Effective Balance}_{\text{of the Network}})}{\text{Total Effective Balance}_{\text{of the Network}}}\right] \times \text{Effective Balance}_{\text{Validator}}