Reset withdrawable epoch when depositing to an exited builder - #5373
Merged
jtraglia merged 2 commits intoJun 18, 2026
Conversation
barnabasbusa
approved these changes
Jun 18, 2026
nflaig
approved these changes
Jun 18, 2026
potuz
reviewed
Jun 18, 2026
potuz
approved these changes
Jun 18, 2026
jihoonsong
approved these changes
Jun 18, 2026
brech1
approved these changes
Jun 18, 2026
StefanBratanov
approved these changes
Jun 18, 2026
jtraglia
added a commit
that referenced
this pull request
Jun 24, 2026
) @0xMushow raised a point on discord that an attacker could continually deposit 1 ETH every `MIN_BUILDER_WITHDRAWABILITY_DELAY` epochs to prevent a builder from getting their balance back. One solution to this would be to only reset the withdrawalable epoch on top-ups if the balance has already been swept. This guarantees that the builder will get their balance back & prevents the original attack which this block of code prevented. See the following for more details: * #5373 Big thanks to @0xMushow for recognizing this!
ensi321
added a commit
to ChainSafe/lodestar
that referenced
this pull request
Jun 26, 2026
implements the following spec changes required to pass `v1.7.0-alpha.11` spec tests - ethereum/consensus-specs#5359 - ethereum/consensus-specs#5377 - ethereum/consensus-specs#5373 - ethereum/consensus-specs#5365 - ethereum/consensus-specs#5364 - ethereum/consensus-specs#5368 --------- Co-authored-by: NC <17676176+ensi321@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@brech1 has pointed out an easy-to-abuse way of slowing down the validator sweep. This PR implements his suggested solution of resetting the builder's withdrawable epoch on deposit top-ups so that it cannot re-use those funds to sustain this attack. My napkin math tells me that it would require 75 ETH (~$150k) per minute to sustain this attack. This solution would prevent an attack from quickly getting that ETH back to re-deposit.
Note that EIP-8282 refactors this code, but there is value in having a separate PR ready for this now so we can judge/review it independently. I will handle the conflicts if/when we merge these two PRs.
PS: There's a discussion on discord about this.