Skip to content

Only reset builder withdrawal epoch if its balance has been swept - #5384

Merged
jtraglia merged 3 commits into
ethereum:masterfrom
jtraglia:builder-deposit-fix
Jun 24, 2026
Merged

Only reset builder withdrawal epoch if its balance has been swept#5384
jtraglia merged 3 commits into
ethereum:masterfrom
jtraglia:builder-deposit-fix

Conversation

@jtraglia

@jtraglia jtraglia commented Jun 22, 2026

Copy link
Copy Markdown
Member

@0xMushow raised a point on discord that an attacker could continuely 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:

Big thanks to @0xMushow for recognizing this!

… swept

@Mushow raised a point on discord that an attacker could continuely 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:

* ethereum#5373

Big thanks to @Mushow for recognizing this!
@github-actions github-actions Bot added testing CI, actions, tests, testing infra gloas labels Jun 22, 2026

@0xMushow 0xMushow left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@brech1 brech1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@jtraglia
jtraglia requested a review from jihoonsong June 23, 2026 11:54
Comment thread specs/gloas/beacon-chain.md Outdated
@jtraglia
jtraglia enabled auto-merge (squash) June 24, 2026 18:40
@jtraglia
jtraglia merged commit e2dcac4 into ethereum:master Jun 24, 2026
16 checks passed
tersec pushed a commit to status-im/nimbus-eth2 that referenced this pull request Jul 8, 2026
* use v1.7.0-alpha.12 consensus reference tests

* Reduce `MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD` to 64

- ethereum/consensus-specs#5420

* Remove `MAX_DEPOSIT_REQUESTS_PER_PAYLOAD` in Gloas

- ethereum/consensus-specs#5436

* Add the IL bitlist to bid

- ethereum/consensus-specs#5410

* Fix some inconsistencies in fulu partial-columns spec

- ethereum/consensus-specs#5357

* Restrict builder deposits to payload builders

- ethereum/consensus-specs#5439

* Only reset builder withdrawal epoch if its balance has been swept

- ethereum/consensus-specs#5384

* Set `BUILDER_WITHDRAWAL_PREFIX` to 0xB0

- ethereum/consensus-specs#5416

* Reduce `MIN_BUILDER_WITHDRAWABILITY_DELAY` to 64 epochs

- ethereum/consensus-specs#5426

* Re-generate test reports

* Fix test_light_client_processor

* Fix block_sim

* Drop duplicate import

* Fix resttest
tersec pushed a commit to status-im/nimbus-eth2 that referenced this pull request Jul 9, 2026
* Forward compatible consensus data structures (EIP-7688)

- EIP https://eips.ethereum.org/EIPS/eip-7688
- Spec ethereum/consensus-specs#4630
- Tests ethereum/consensus-specs#4630 (comment)
- Kurtosis ethereum/consensus-specs#4630 (comment)

* ForkedAggregate cleanup

* Sync gossip checks

* Cleanups

* Resttest

* Focil test

* Progressive for PayloadAttestation, ExecutionPayloadBid, Envelope

* Use mapIt

* Heze constants

* use v1.7.0-alpha.12 consensus reference tests (#8729)

* use v1.7.0-alpha.12 consensus reference tests

* Reduce `MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD` to 64

- ethereum/consensus-specs#5420

* Remove `MAX_DEPOSIT_REQUESTS_PER_PAYLOAD` in Gloas

- ethereum/consensus-specs#5436

* Add the IL bitlist to bid

- ethereum/consensus-specs#5410

* Fix some inconsistencies in fulu partial-columns spec

- ethereum/consensus-specs#5357

* Restrict builder deposits to payload builders

- ethereum/consensus-specs#5439

* Only reset builder withdrawal epoch if its balance has been swept

- ethereum/consensus-specs#5384

* Set `BUILDER_WITHDRAWAL_PREFIX` to 0xB0

- ethereum/consensus-specs#5416

* Reduce `MIN_BUILDER_WITHDRAWABILITY_DELAY` to 64 epochs

- ethereum/consensus-specs#5426

* Re-generate test reports

* Fix test_light_client_processor

* Fix block_sim

* Drop duplicate import

* Fix resttest
tbenr added a commit to rolfyone/teku that referenced this pull request Jul 9, 2026
tbenr added a commit to rolfyone/teku that referenced this pull request Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gloas testing CI, actions, tests, testing infra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants