ethereum / ethereum/consensus-specs

Add equivocating blocks to fork choice store

Open
#5,538 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.