ethereum / ethereum/consensus-specs
Add equivocating blocks to fork choice store
- Dominant language
- Python
- Stars
- 4k
- Forks
- 1.3k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 58
Description
Making an issue as a reminder to look into this. @nflaig mentioned it here:
* https://github.com/ethereum/consensus-specs/pull/5535#discussion_r3766141629
> the executable gossip spec could do this now, ie. add equivocating blocks to fork choice store, this is required in several places in fork choice, eg. `should_apply_proposer_boost` or `get_proposer_head`
>
> but doing this here seems wrong to me, so the comment says `first block with valid signature` but at that point, there was no signature check yet
>
> the signature check is done further below on line 651 and also noticed we do the signature check before the proposer check itself, it seems same in lodestar but need to double check why that is
>
> but if we wanna add a equivocating block via `on_block` it probably has to be done at the end of gossip validation unless we are fine with skipping some gossip checks
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the PR 5535 discussion and the executable gossip spec’s on_block path, then trace how should_apply_proposer_boost and get_proposer_head use equivocating blocks. Done means the insertion point and signature/proposer-check ordering are settled and the required fork-choice behavior is implemented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100