Today, an entity with X stake controls X / 32 individual keys voting the same
That entity could have 1 key holding X stake and cast a single unified vote
Same security* from the protocol's POV but much more efficient :)
Inneficiency inherited from the old sharding design:
Today in mainnet:
900k active indexes
33k unique withdrawal credentials
Too many active indexes cause:
Difficults shipping Single Slot Finality (SSF)
Increases bandwidth and compute costs
Why do we want SSF?
Finality time: ~15 minutes -> 16 seconds
No re-orgs :)
Retire LMD GHOST + FFG frankenstein
Getting there takes time*
Positive side-effects:
Fork-choice
Shuffling selection
Security of committees
Churn invariants
Everything already scaled by effective balance :)
Everything already scaled by effective balance :)
Balance-based aggregator VRF lottery
Balance-based activation and exit churn
class BeaconState(Container):
...
deposit_balance_to_consume: Gwei
pending_balance_deposits: List[PendingBalanceDeposit, MaxPendingBalanceDeposits]
exit_balance_to_consume: Gwei
earliest_exit_epoch: Epoch
def apply_deposit(...):
state.balances.append(0)
state.pending_balance_deposits.append(
PendingBalanceDeposit(index, amount)
)
A consolidation = exit + activation
Consolidation of stake \(C\) –> safety reduction of \(2C\)
Execution layer triggered exits & partial withdrawals (EIP-7002 extension)
Partial solution:
Set initial slashing penalty to zero
Rely on the correlation, attestation, and inactivity penalties.
As of today: they agree to
No increased slashing risk
Very low one-time cost
Long-term cost reduction
mild medium
Yes, if SSF requires consolidation
Somewhat, if clients can't handle ↑% ETH staked
Initial reduction in validator set
Future compatibility
Improved solo staking experience
No guaranteed or incentivized consolidation
Engineering effort
Thanks :)